Project

General

Profile

Bug #3187

Ting-reference optimering

Added by Gitte Barlach over 1 year ago. Updated 8 months ago.

Status:
Needs analysis
Priority:
Urgent
Assignee:
Target version:
Estimated time:
URL med eksempel:
Kategorier:
Inspiration - Nyheder

Description

Nyhedsindlæg med flere vedhæftede materialer som eksempelvis disse: https://www.aakb.dk/tags/temalister-voksne perfomer ikke særligt godt. Det kan tage mellem 10-20 sekunder før et indlæg vises, med mindre cashen er rygende varm. Og det sker jo jænligt at webredaktørerne clearer cashe for at få andet indhold på hjemmesiden opdateret.

Det er ærgerligt at vi taber brugerne pga. for dårlig perfomance, når formidlerne nu laver nogle gode lister med masser af inspiration. Det er en meget grundlæggende funktion i DDB CMS, der er berørt her. 

Derfor ønskes en optimering af performance. 

Screen Shot 2018-03-08 at 16.34.08.png (50 KB) Screen Shot 2018-03-08 at 16.34.08.png Jesper Kristensen, 03/08/2018 04:43 PM
Screen Shot 2018-03-08 at 16.34.38.png (623 KB) Screen Shot 2018-03-08 at 16.34.38.png Jesper Kristensen, 03/08/2018 04:43 PM
Skærmbillede 2018-08-22 06.30.12.png (104 KB) Skærmbillede 2018-08-22 06.30.12.png ajaxfejl ved forsøg på at vedhæfte materialer fra Brønden til en nyhed Gitte Barlach, 08/22/2018 06:46 AM
Skærmbillede 2018-08-22 06.32.04.png (79.7 KB) Skærmbillede 2018-08-22 06.32.04.png fejl i visningen Gitte Barlach, 08/22/2018 06:47 AM
Skærmbillede 2018-08-22 06.41.16.png (76.4 KB) Skærmbillede 2018-08-22 06.41.16.png Gitte Barlach, 08/22/2018 06:47 AM
Skærmbillede 2018-08-30 12.52.51.png (285 KB) Skærmbillede 2018-08-30 12.52.51.png Overlay glider ind under den næste post i karrusellen Gitte Barlach, 08/30/2018 12:55 PM
Skærmbillede 2018-09-06 09.53.38.png (26.5 KB) Skærmbillede 2018-09-06 09.53.38.png Man kan ikke søge på faustnummeret i feltet "Søg" under "Materialer" på en nyhed ; det giver fejl Gitte Barlach, 09/06/2018 10:07 AM
Skærmbillede 2018-09-06 09.54.07.png (179 KB) Skærmbillede 2018-09-06 09.54.07.png Fejlen vises også i brugergrænsefladen Gitte Barlach, 09/06/2018 10:07 AM
Skærmbillede 2018-09-21 16.57.12.png (29.2 KB) Skærmbillede 2018-09-21 16.57.12.png Gitte Barlach, 09/21/2018 05:00 PM
Skærmbillede 2018-09-21 17.00.48.png (29 KB) Skærmbillede 2018-09-21 17.00.48.png Gitte Barlach, 09/21/2018 05:01 PM
Skærmbillede 2018-09-24 09.16.51.png (68.1 KB) Skærmbillede 2018-09-24 09.16.51.png Gitte Barlach, 09/24/2018 09:20 AM
Skærmbillede 2018-09-24 09.17.03.png (289 KB) Skærmbillede 2018-09-24 09.17.03.png Gitte Barlach, 09/24/2018 09:20 AM
Skærmbillede 2018-09-24 09.17.21.png (116 KB) Skærmbillede 2018-09-24 09.17.21.png Gitte Barlach, 09/24/2018 09:20 AM
Redigér Nyhed sadsadasddsa _ Site-Install 2018-09-24 10-45-43.png (23.8 KB) Redigér Nyhed sadsadasddsa _ Site-Install 2018-09-24 10-45-43.png Kasper Garnæs, 09/24/2018 10:45 AM
Redigér Nyhed sadsadasddsa _ Site-Install 2018-09-24 15-20-51.png (24.3 KB) Redigér Nyhed sadsadasddsa _ Site-Install 2018-09-24 15-20-51.png Ting reference autocomplete med Faust Kasper Garnæs, 09/24/2018 03:21 PM
Redigér Nyhed sadsadasddsa _ Site-Install 2018-09-24 15-36-52.png (40.3 KB) Redigér Nyhed sadsadasddsa _ Site-Install 2018-09-24 15-36-52.png Ting reference med lirum larum tekst Kasper Garnæs, 09/24/2018 03:37 PM

Related issues

Related to DDB CMS - Bug #4212: Opensearch getObject returnerer fejlsvar som rigtige objekterReady for development

History

#1 Updated by Rolf Madsen over 1 year ago

  • Status changed from New to Ready for development
  • Target version set to Release 29-2 - Bugfixes (7.x-4.5.0)

#2 Updated by Gitte Barlach over 1 year ago

  • Assignee set to Jesper Kristensen

#3 Updated by Rolf Madsen over 1 year ago

  • Target version changed from Release 29-2 - Bugfixes (7.x-4.5.0) to Release 29-2 - Bugfixes (ITK)

#4 Updated by Jesper Kristensen over 1 year ago

  • Status changed from Ready for development to Needs code review
  • Assignee changed from Jesper Kristensen to Gitte Barlach

Oprette PR: https://github.com/ding2/ding2/pull/1037

Løsningen består i en bedre opfattelse af load tid ved at ajax load ting_reference som vi gøre det ved karruseller og andre steder på sitet.

#6 Updated by Gitte Barlach over 1 year ago

  • Assignee changed from Gitte Barlach to Kasper Garnæs

#7 Updated by Gitte Barlach over 1 year ago

  • Priority changed from High to Urgent

#8 Updated by Kasper Garnæs over 1 year ago

  • Status changed from Needs code review to Reviewed - Needs info/rework
  • Assignee changed from Kasper Garnæs to Jesper Kristensen

Reviewed. Jeg har et par kommentarer og spørgsmål.

#9 Updated by Jesper Kristensen over 1 year ago

  • Status changed from Reviewed - Needs info/rework to Needs code review
  • Assignee changed from Jesper Kristensen to Kasper Garnæs

Lavet ændringer i forhold til review.

#10 Updated by Kasper Garnæs about 1 year ago

  • Status changed from Needs code review to Reviewed

Godkendt. Afventer release.

#11 Updated by Kasper Garnæs about 1 year ago

  • Status changed from Reviewed to Technical test
  • Assignee changed from Kasper Garnæs to Gitte Barlach

Merged.

#12 Updated by Gitte Barlach about 1 year ago

Jeg prøver at teste denne.

Testsite: upgrade-29.ddbcms med 4.5.0

a) når jeg prøver at vedhæfte materialer fra Brønden til en nyhed får jeg en "An AJAX http error occurred.." "Error: Call to undefined function _ding_place2book_status_processing() in ding_place2book_get_ticket_link() (line 354 of /var/aegir/platforms/ddb450rc1/profiles/ding2/modules/ding_place2book/ding_place2book.module)."

b) selve visningen af materialerne fejler også. Enten vises materialet ikke, der er kun en grå boks, eller der står "Error unknown/missing/inaccessible item"

 

Jeg er ikke klar over om fejlen kan henføres sepcifikt til dette issue.  

#13 Updated by Gitte Barlach about 1 year ago

  • Status changed from Technical test to Reviewed - Needs info/rework
  • Assignee changed from Gitte Barlach to Jesper Kristensen

#14 Updated by Jesper Kristensen about 1 year ago

@gitte jeg tror ikke det har noget med dette issue at gøre....

#15 Updated by Jesper Kristensen about 1 year ago

  • Status changed from Reviewed - Needs info/rework to Technical test
  • Assignee changed from Jesper Kristensen to Gitte Barlach

#16 Updated by Gitte Barlach about 1 year ago

a) se issue #3755
 

b) tjaa... gad vide hvad det skyldes?

#17 Updated by Steen Larsen about 1 year ago

Vedr b) - er det fordi der laves et opslag på faustnummeret uden namespace/prefix? Et prefix vi først kender når der er lavet en søgning?
Prøv at tilføje materiale og så angive det fulde pid (f.eks. fundet via en søgning/visning af objectet i andet vindue)

#18 Updated by Gitte Barlach about 1 year ago

vedr. b) har nu testet efter dit forslag, Steen. 
Hvis jeg anvender den fulde pid, eksempelvis "870970-basis%3A29327432",  når jeg skal vedhæfte et materiale til en nyhed, får jeg kun en "lille" fejl, nemlig "no matches found" og den forsvinder igen, når jeg går videre. 

Faldt over:
c) overlay´et vises forkert ved mouseover på de to første poster i hver række. Det glider ind under posten til højre, og derved kan man ikke se handleknapperne. 
Se f.eks.: https://vanilla-29.ddbcms.dk/nyheder/anbefalinger/biblioteket-anbefaler-biografier (samt vedhæftede skærmdump)

#19 Updated by Gitte Barlach about 1 year ago

  • Subject changed from Ting-reference optimering to Ting-reference optimering (TESTES IGEN NÅR #3755 er løst)

ved nærmere eftertanke tror jeg både a) og b) kan skyldes #3704
Fejlen optræder på upgrade-29.ddbcms, men ikke på vanilla-29.ddbcms. 

#20 Updated by Gitte Barlach about 1 year ago

Jeg prøver at teste denne igen. 

#21 Updated by Gitte Barlach about 1 year ago

testet på upgrade-29 med 4.5.0-rc2

c) fejler stadig (overlay på materialer i karusellen glider ind under næste post og man kan derfor ikke komme til at se/klikke på "Læs mere" eller "Reserver"

a) kan ikke længere genskabes

c) når man vil vedhæfte materialer (feltet "Søg" under "Materialer" på en nyhed) kan man ikke nøjes med at skrive faustnummeret; jeg er ikke klar over om det altid har været således?
Skriver man kun faustnummeret, fx. 53430260, får man fejlen: "Error: unknown/missing/inaccessible record: 53430260"
se f.eks. https://upgrade-29.ddbcms.dk/nyheder/anbefalinger/romaner

#22 Updated by Gitte Barlach about 1 year ago

vedr. c) jeg har nu fået bekræftet at nuværende funktionalitet i DDB CMS er, at man kun behøver at angive faustnummeret, dvs. 8 cifre, når man vil søge en titel frem i "Søg" under "Materialer" på en nyhed. Det tænker jeg fortsat skal være gældende

#23 Updated by Jesper Kristensen about 1 year ago

c-2) det har altid været sådanne. Det auto-complete der er på feltet laver det om til PID. Så man skal vælge noget fra drop-down samme måde som forside karruseller.

#24 Updated by Jesper Kristensen about 1 year ago

c-1: er det ikke noget B14 kan kigge på da det ligget i front-end JS og theme

#25 Updated by Jesper Kristensen about 1 year ago

  • Status changed from Reviewed - Needs info/rework to Ready for development
  • Assignee changed from Jesper Kristensen to Gitte Barlach

#26 Updated by Gitte Barlach about 1 year ago

okay, der er to issues her (starter ny nummerering da der er gået lidt kuk i a,b,c):

1) Overlay på materialer i karusellen glider ind under næste post og man kan derfor ikke komme til at se/klikke på "Læs mere" eller "Reserver"
Jesper foreslår at B14 kigger på den fejl, da det ligger i front-end JS og theme

2) Når man vil vedhæfte materialer (feltet "Søg" under "Materialer" på en nyhed) kan man ikke nøjes med at skrive faustnummeret; det bør man kunne. 
Skriver man kun faustnummeret, fx. 53430260, får man fejlen: "Error: unknown/missing/inaccessible record: 53430260"

Fejlen ser ud til at opstå ifm:
https://github.com/ding2/ding2/commit/60478e0644179e4f22bef445c8fa91ee207951a2#diff-a9321efc699878ea7f08bb03ef510e52R565
GitHub
Refactor "simple queries" · ding2/ding2@60478e0
- Move the logic into a provider-specific function. - Added provider-tests - Renamed freetext -> fulltext - Updated setMaterialFilter to support strings as well as arrays BBS-128

Jesper foreslår at Reload kigger på dette. 

#27 Updated by Gitte Barlach about 1 year ago

  • Assignee changed from Gitte Barlach to Christel Krabbenhøft

#28 Updated by Gitte Barlach about 1 year ago

  • Subject changed from Ting-reference optimering (TESTES IGEN NÅR #3755 er løst) to Ting-reference optimering

#29 Updated by Christel Krabbenhøft about 1 year ago

  • Assignee changed from Christel Krabbenhøft to Rasmus Høymann Laursen

Hej Rasmus. Vil I tage denne med i puljen?

#30 Updated by Rasmus Høymann Laursen about 1 year ago

  • Assignee changed from Rasmus Høymann Laursen to Philip Birk-Jensen

#31 Updated by Philip Birk-Jensen about 1 year ago

  • Assignee changed from Philip Birk-Jensen to Gitte Barlach

#32 Updated by Gitte Barlach about 1 year ago

  • Status changed from Ready for development to Needs code review
  • Assignee changed from Gitte Barlach to Kasper Garnæs

Hej Kasper

Har du mulighed for:

a) at lave code review af Phillips PR

b) lave selve rettelsen  af problem 2) Når man vil vedhæfte materialer (feltet "Søg" under "Materialer" på en nyhed) kan man ikke nøjes med at skrive faustnummeret; det bør man kunne. Skriver man kun faustnummeret, fx. 53430260, får man fejlen: "Error: unknown/missing/inaccessible record: 53430260"

#33 Updated by Kasper Garnæs about 1 year ago

  • Status changed from Needs code review to Development

Jeg har reviewet og godkendt https://github.com/ding2/ding2/pull/1181.

Jeg går i gang med rettelsen af b.

#34 Updated by Gitte Barlach about 1 year ago

ift. b)
jeg har testet igen, denne gang ved at vedhæfte materialer til et arrangement. Det fejler og jeg skal prøve at beskrive hvad der sker:

jeg åbner dette arr. til redigering: /node/7/edit "Mød forfatteren: Elsebeth Egholm"
I første felt under TING -> Materials - Search skriver jeg faustnummeret på dette materiale: "Skjulte fejl og mangler" - 29771855
Der sker ingenting, det ser ikke ud til at søgning virker
Da jeg klikker på "Add another item" får jeg flg. besked: "he form has become outdated. Copy any unsaved work in the form below and then reload this page."
Jeg klikker derfor på linket "reload this page" og kommer så til en helt tom side med url´en https://upgrade-29.ddbcms.dk/system/ajax

#35 Updated by Gitte Barlach 12 months ago

mere ift. b)
Testede en nyhed
de første gange jeg skrev faustnummeret ind, gik det fint. Men ved det sidste materiale jeg prøvede at vedhæfte nyheden, gik det galt og jeg fik "Error: unknown/missing/inaccessible record: 53472346"

se https://upgrade-29.ddbcms.dk/nyheder/anbefalinger/fik-du-laest

Greve Bibliotek har faktisk bogen, og man kan søge den frem ved at skrive faustnummeret, 53472346,  i det alm. søgefelt.

Ser flg. i loggen:
 

TYPE ting client
DATE Monday, 24. September, 2018 09:19
USER admin
LOCATION https://upgrade-29.ddbcms.dk/ting/covers
REFERRER https://upgrade-29.ddbcms.dk/nyheder/anbefalinger/fik-du-laest
MESSAGE Completed SOAP request getObjectRequest https://opensearch.addi.dk/b3.5_5.0/ (0.182s). Request body: <?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/&quot;> <SOAP-ENV:Body> <getObjectRequest><format>dkabm</format><identifier>53472346</identifier><allRelations>1</allRelations><relationData>full</relationData><agency>725300</agency><profile>DDB Test</profile><outputType>json</outputType></getObjectRequest></SOAP-ENV:Body> </SOAP-ENV:Envelope> Response: {"searchResponse":{"result":{"hitCount":{"$":"1"},"collectionCount":{"$":"1"},"more":{"$":"false"},"searchResult":[{"collection":{"resultPosition":{"$":"1"},"numberOfObjects":{"$":"1"},"object":[{"record":{"title":[{"$":"Error: unknown\/missing\/inaccessible record: 53472346","@":"dc"}],"@":"dkabm"},"identifier":{"$":"53472346"},"primaryObjectIdentifier":null,"formatsAvailable":{"format":[{"$":"dkabm"}]}}]}}],"facetResult":{"$":""},"statInfo":{"fedoraRecordsCached":{"$":"0"},"fedoraRecordsRead":{"$":"0"},"time":{"$":"0.081594"},"trackingId":{"$":"os:2018-09-24T07:19:29:148262:34953"}}}},"@namespaces":{"ac":"http:\/\/biblstandard.dk\/ac\/namespace\/","dbcaddi":"http:\/\/oss.dbc.dk\/rdf\/dbcaddi#","dbcbib":"http:\/\/oss.dbc.dk\/rdf\/dbcbib#","dc":"http:\/\/purl.org\/dc\/elements\/1.1\/","dcmitype":"http:\/\/purl.org\/dc\/dcmitype\/","dcterms":"http:\/\/purl.org\/dc\/terms\/","dkabm":"http:\/\/biblstandard.dk\/abm\/namespace\/dkabm\/","dkdcplus":"http:\/\/biblstandard.dk\/abm\/namespace\/dkdcplus\/","docbook":"http:\/\/docbook.org\/ns\/docbook","kml":"http:\/\/www.opengis.net\/kml\/2.2","marcx":"info:lc\/xmlns\/marcxchange-v1","mx":"http:\/\/www.loc.gov\/MARC21\/slim","of":"http:\/\/oss.dbc.dk\/ns\/openformat","ofo":"http:\/\/oss.dbc.dk\/ns\/openformatoutput","os":"http:\/\/oss.dbc.dk\/ns\/opensearch","oso":"http:\/\/oss.dbc.dk\/ns\/opensearchobjects","oss":"http:\/\/oss.dbc.dk\/ns\/osstypes","xs":"http:\/\/www.w3.org\/2001\/XMLSchema","xsi":"http:\/\/www.w3.org\/2001\/XMLSchema-instance"}}

#36 Updated by Kasper Garnæs 12 months ago

Jeg har undersøgt situationen og jeg er kommet frem til følgende:

  1. Situationen hvor der står "Error: unknown/missing/inaccessible record: 53472346" opstår fordi OpenSearch på et getObject request med identifier "53472346" returnerer et resultat indenholdende ét objekt, som netop har titlen "Error: unknown/missing/inaccessible record: 53472346". Dette kan også ses ud fra ovenstående udsnit af loggen.
  2. Som jeg ser det burde DDB CMS i situationen sende et getObject request med identifier "870970-basis:53472346". Hvis man indtaster 53472346 i søgefeltet, så vises materialet "870970-basis:53472346" rent faktisk i dropdownen jf. vedhæftede screenshot. Hvis redaktøren ikke vælger det foreslåede materiale, så lader systemet dog stadig redaktøren gemme indholdet med feltværdien "53472346" i stedet for at vise en fejlmeddelelse. Jeg forventer at det er det der er sket her. Dette skyldes reelt set opførslen i 1, hvor DDB CMS ud fra svaret fra OpenSearch ikke registrer at 53472346 i sig selv er et ugyldigt id.

I en situation hvor OpenSearch modtager en forespørgsel på et materiale med en ugyldig identifier, vil jeg forvente at systemet også returnerer et svar med en tom samling af objekter. Når jeg læser kildekoden i DDB CMS antager at dette har været tilfældet tidligere.

Et sådant svar vil også medføre at valideringen af feltværdien i DDB CMS vil fejle og redaktøren ville ikke kunne gemme et stykke indhold, der refererer til det ugyldige id. Dermed vil materialet heller ikke blive vist i en oversigt til slutbrugeren.

#37 Updated by Gitte Barlach 12 months ago

Forklarer det også de fejl jeg beskriver i kommentar #34?

#38 Updated by Steen Larsen 12 months ago

Igen er det namespace der driller - det skulle da sendes et vist sted hen...

Man kan ikke slå et faustnummer op i getObject udelukkende via identifier-feltet - her skal angives det korrekte namespace - om det er basispost med 870970-basis eller en påhængspost/lokalpost med 725300-katalog (i eksemplet - generelt er det jo agency-id'et der benyttes).
Og hvilket namespace man skal bruge ved vi først når man har lavet en søgning med f.eks. rec.id

Hvis man er SIKKER på vi KUN har et faustnummer så kan man benytte localIdentifier i getObject-metoden og den ser ud til at fungere. LocalIdentifier har vi dog aldrig brugt.

Ved metoden getobject spørger man på konkrete poster som måske/måske ikke eksisterer og svaret kan derfor være "Error: unknown/missing/inaccessible record" i dc.title som det eneste felt i dkabm (tvivler lidt på at det så er gyldig dkabm).
Metoden search laver en søgning som evt. kan give 0 poster.
Noget af problemet tror jeg skyldes et skifte mellem de to metoder.

#39 Updated by Kasper Garnæs 12 months ago

Gitte: Situationen vil være den samme i kommentar 34 ift. at det pga. ovenstående er muligt at angive et faustnummer alene uden at få en fejl. Hvis der ikke dukker nogle søgeresultater op i autocomplete gør det kun problematikken større. På min installation har jeg dog ikke problemer med at få forslag til at dukke op.

Steen: I mine øjne er det ikke namespacet, der er det reelle problem, men det at OpenSearch returnerer et fejlsvar, som var det et rigtigt materiale.

Det er ikke meningen at et Ting reference-feltet kun skal indeholde et faustnummer. Det skal indeholde et komplet id. Brugeren indtaster en søgning i feltet, systemet foreslår resultater ud fra søgningen. Brugeren vælger et af resultaterne. Det fulde id for det fremsøgte gemmes i feltet. Hvis brugeren ikke vælger et af forslagne og prøver at gemme indholdet med et reference felt der ikke indeholder et gyldigt id alligevel vises en fejl (ref).

På nuvænde tidspunkt kan brugeren faktisk indtaste hvad som helt i et ting reference felt, undlade at vælge et af forslagene, gemme og så vil "materialet" blive vist.

#40 Updated by Rolf Madsen 8 months ago

  • Target version changed from Release 29-2 - Bugfixes (ITK) to Release 33 - Bugfixes

#41 Updated by Simon Holt 8 months ago

Jeg har prøvet at lave et fiks til det med at opensearch getObject returnerer en fejl som var det et rigtig objekt i denne sag: https://platform.dandigbib.org/issues/3936. Det resulterer nemlig i manglende titel på statuslisterne, hver gang et objekt ikke er søgbart, som f.eks. ved fjernlån.

Må dog indrømme jeg ikke er helt tilfreds med den måde vi agør om et objekt er en fejlmeddelelse, så hvis nogen har et bedre forslag er det velkommen :)

#42 Updated by Simon Holt 7 months ago

  • Related to Bug #4212: Opensearch getObject returnerer fejlsvar som rigtige objekter added

Also available in: Atom PDF