proarc / proarc-client

3 stars 0 forks source link

Rozdíl v rychlosti zobrazení podřízených objektů v API a v klientovi #578

Open ZdenkaSera opened 1 month ago

ZdenkaSera commented 1 month ago

Při rutinní práci v klientovi jsme narazili na pomalé zobrazování dat - pokud označím v úložišti objekt, trvá v klientovi násobně dlouho oproti API, než se zobrazí připojené objekty. Při následném otevření objektu v editaci se situace opakuje.

Typický příklad: NDK monografie s připojenými 400 stranami se v API zobrazí cca po 5 sekundách, v klientovi po cca 30s. (takový titul mohu poskytnout jako archivní nebo NDK balíček k nahrání na masteru).

Problém se týká pouze objektů s připojenými skeny/stranami. Rozbalení struktury NDK periodika až na úroveň výtisků je rychlé, zbrzdí se až rozbalení vlastního výtisku. Rozbalení struktury e-periodik je také bez problémů.

Test na verzi 4.1.6/2.2.4 (Fedora i Akubra).

ZdenkaSera commented 1 month ago

Ještě doplnění - moje testy proběhly v Chromu, ale kolegyně pracuje ve Firefoxu a chování při běžné práci je obdobné.

katerinasirova commented 1 month ago

Za nás potvrzuji při testech včera i dnes - obdobné časy, resp. obdobný rozdíl mezi rozbalením a načtením v API a v novém klientovi. Verze 4.1.5/2.2.4 (Fedora)

PetrKotynek commented 1 month ago

https://github.com/user-attachments/assets/0ba5b470-4e6f-49a0-affb-0530564af8a8

12_07_1 11_07

albertoh commented 1 month ago

Muzete ten velky dokument poskytnout?

albertoh commented 1 month ago

Tenhle objekt se u vas cte pomalu? https://proarc-master.inovatika.dev/repository/uuid:91e24ccc-4292-49a4-9674-95192edef5ee

ZdenkaSera commented 1 month ago

Bohužel - to už je archivované a smazané z produkční instance.

ZdenkaSera commented 1 month ago

Petr Ti pošle hodně velký balík, já zipuju ten, na kterém jsem testovala výše (cca 400 stran). Odkaz za chvíli, uuid toho mého je 16b016b0-5383-4f32-b4c5-a5d8934e4388.

ZdenkaSera commented 2 weeks ago

V KNAV jsme se shodli, že by se čekání na rozbalení podřízených úrovní v úložišti nechalo eliminovat tím, že by se objekty ve spodním okně zobrazovaly sbalené (což pro použití funkcí exportu, přidělení urn:nbn ... vyhovuje). Pokud by uživatel potřeboval objekt rozbalit, udělal by to cíleně kliknutím na "rozbalovátko" image

Mohlo by být defaultní rozbalení konfigurovatelné v profilu uživatele jako např. toto?

image

ZdenkaSera commented 2 weeks ago

Ještě doplňuji, že navrhovaným řešením nechceme otázku rychlosti rozbalení v úložišti a editoru, resp. rozdíl oproti jádru uzavřít.

ZdenkaSera commented 1 week ago

Návrh ze schůzky 6.8.: podle tabulky modelů - to, co může mít pod sebou stránku, se nebude defaultně rozbalovat, ostatní ano případně v kombinaci s konfigurací v profilu

ZdenkaSera commented 1 week ago

@luckajirku @katerinasirova @erikamirova Prosíme o zvážení a reakci v issue.

ZdenkaSera commented 1 week ago

Zvýraznit "šipku", pokud pod ní existují sbalené objekty

image

erikamirova commented 1 week ago

@ZdenkaSera My problémy s rychlostí zobrazování nemáme a to kolikrát zpracováváme velké soubory grafik. Tak nevím... Ale klidně to nechte zabalené.

ZdenkaSera commented 3 days ago

Návrh ze schůzky 6.8.: podle tabulky modelů - to, co může mít pod sebou stránku, se nebude defaultně rozbalovat, ostatní ano případně v kombinaci s konfigurací v profilu

@SykoraLukas @albertoh Kolegyně na schůzce avizovaly, že budou hodně vytížené, tak zde nebudeme čekat na jejich reakci a prosíme o realizaci zatím v pozměněné podobě, která by neměla znamenat pro uživatele žádnou změnu, pokud nebudou chtít objekty sbalené.

Do nastavení v profilu prosíme přidat checkbox "Sbalení objektů" - při jeho zakliknutí se ve spodním okně úložiště nebudou defaultně rozbalovat objekty, které pod sebou mohou mít stranu, bude možné je bez rozbalení označit a spustit nad nimi dostupné funkce (export apod.). Rozbalit strany bude možné "zobáčkem/šipkou" u objektu (tj. objekty s tímto nastavením v profilu nebudou reagovat rozbalením na jednoduché kliknutí na název; dvojklikem se jako dosud bude objekt otevírat v editaci):

image

Je to technicky schůdné? Děkujeme.

albertoh commented 3 days ago

Hotovo

image

ZdenkaSera commented 3 days ago

@albertoh To byla rychlé - moc díky! Nastavení je sice obrácené, než jsme chtěli, ale pokud v distribuované verzi zůstane defaultně zakliknuto, aby většina uživatelů nemusela nastavení řešit, bude to snad ok :-)

K funkci:

albertoh commented 3 days ago

Strukturované objekty se ale také sbalují úplně, což uživatelé nechtěli, sbalené by měly být až ty, pod kterými jsou strany - koukneš na to ještě, prosím?

To predem nevim, jestli jsou tam stranky nebo ne. Muzu to zprovoznit tak, ze ta nova funkcionalita se tyka objektu ktere "muzou" mit stranky. Jo?

ZdenkaSera commented 3 days ago

@albertoh Ano, přesně, výše je zápis, že by se defaultní sbalení mělo týkat objektů, které podle tabulky modelů (tj. povolených vazeb) pod sebou mohou mít stranu.

albertoh commented 3 days ago

Je to tam

ZdenkaSera commented 3 days ago

@albertoh Lepší :-) Ještě se nezobrazují přiřazené svazky vícedílné monografie (U STT vícedílek to funguje, ještě více vyzkouším) - na masteru např. vícedílka bb2c4d8b-0a7d-4e8c-a6e3-ea086aa00c00 (Compact imbedding...)

albertoh commented 3 days ago

Vicedilna monografie muze mit stranky, proto se nerozbaluje

ZdenkaSera commented 3 days ago

@albertoh To bude nějaký omyl - pod NDK vícedílnou monografií nelze založit stranu, i podle téhle tabulky modelů je to vyloučené

albertoh commented 3 days ago

V kodu existuje davno takove nastaveni:

private static relations: any = { 'ndkperiodical': ['ndkperiodicalvolume'], 'ndkperiodicalvolume': ['ndkperiodicalissue', 'ndkperiodicalsupplement'], 'ndkperiodicalissue': ['ndkperiodicalsupplement', 'ndkarticle', 'ndkpicture', 'ndkmap', 'ndksheetmusic', 'ndkpage', 'page', 'bdmarticle'], 'ndkperiodicalsupplement': ['ndkarticle', 'ndkpage', 'page', 'bdmarticle'], 'ndkarticle': [], 'ndkpicture': [], 'ndkmonographtitle': ['ndkmonographunit', 'ndkpage', 'page'], 'ndkmonographunit': ['ndkmonographsupplement', 'ndkchapter', 'ndkpicture', 'ndkmap', 'ndksheetmusic', 'ndkpage', 'page'], 'ndkmonographvolume': ['ndkmonographsupplement', 'ndkchapter', 'ndkpicture', 'ndkmap', 'ndksheetmusic', 'ndkpage', 'page'], 'ndkmonographsupplement': ['ndkchapter', 'ndkpage', 'page'], 'ndkchapter': [], 'ndkmap': ['ndkpage', 'page'], 'ndksheetmusic': ['ndkpage', 'page'], 'ndkpage': [], 'page': [], 'oldprintomnibusvolume': ['oldprintvolume', 'oldprintmonographtitle', 'oldprintgraphics', 'oldprintmap', 'oldprintsheetmusic', 'oldprintpage'], 'oldprintmonographtitle': ['oldprintvolume'], 'oldprintvolume': ['oldprintchapter', 'oldprintsupplement', 'oldprintpage'], 'oldprintsupplement': ['oldprintpage'], 'oldprintchapter': [], 'oldprintgraphics': ['oldprintpage'], 'oldprintmap': ['oldprintpage'], 'oldprintsheetmusic': ['oldprintpage'], 'oldprintpage': [], 'ndkeperiodical': ['ndkeperiodicalvolume'], 'ndkeperiodicalvolume': ['ndkeperiodicalissue'], 'ndkeperiodicalissue': ['ndkearticle'], 'ndkearticle': [], 'ndkemonographtitle': ['ndkemonographvolume'], // 'ndkechapter' odstraneno podle #99 'ndkemonographvolume': ['ndkechapter'], 'ndkechapter': [], 'ndkphonographcylinder': ['ndksong', 'page'], 'ndkmusicdocument': ['ndksong', 'page'], 'ndksong': ['ndktrack', 'ndkaudiopage', 'page'], 'ndktrack': ['ndkaudiopage', 'page'], 'ndkaudiopage': [], 'chronicletitle': ['chroniclevolume', 'chronicletitle'], 'chroniclevolume': ['chroniclesupplement', 'page'], 'chroniclesupplement': ['page'], 'bdmarticle': [] }

Ono se to pouziva pro vytvoreni objektu podle modelu ("plusko" v tabulce vazeb). Akorat tam jsou odstranene stranky, je nelze vytvaret takovym zpusobem, jenom importem. Prosim tedy o kontrolu a opravu

ZdenkaSera commented 3 days ago

@albertoh Tohle je prima, díky, na tohle se určitě podíváme u nás interně @kerschfilip a případně pak i na schůzce týmu podrobněji.

Pro účely tohoto issue koukám jen na použití ndkpage a page. Ke zvukovým dokumentům se teď neumím s jistotou vyjádřit @katerinasirova, u textových by mělo jít jen o tuto změnu (pokud správně chápu ten zápis :-)):

'ndkmonographtitle': ['ndkmonographunit', 'ndkpage', 'page'] by mělo být jen 'ndkmonographtitle': ['ndkmonographunit']

ZdenkaSera commented 2 days ago

@albertoh Alberto, tuhle úpravu prosíme zařadit do zítřejší verze. Děkujeme.

albertoh commented 2 days ago

Je to tam

ZdenkaSera commented 2 days ago

@albertoh Děkujeme, rychlý test rozbalování vypadá dobře, detailně ukáže asi až provoz :-)

Je tam ale nepříjemná chyba: pokud si rozbalím skeny u jednoho objektu, přejdu na jiný, taky rozbalím a vrátím se na první, ten vypadá jako rozbalený, ale skeny pod ním nejsou zobrazeny. Nepomůže refresh na liště této úrovně, ale až refresh na liště prohlížeče. Pokud se Ti to nepovede nasimulovat, můžeme si zavolat, navedu Tě. Zkoušela jsem překlikávat mezi monografiemi:

albertoh commented 2 days ago

Opraveno

ZdenkaSera commented 2 days ago

Všechno, co jsem vyzkoušela s "odkliknutým" checkboxem, se chovalo dobře (tj. rozbalení struktur do správné úrovně, rozbalení stran až při použití zobáčku, sbalení refreshem ...). Funkce na liště jsou při označení nerozbaleného objektu dostupné.

image

Nefunguje:

luckajirku commented 2 days ago

Nefunguje:

  • Funkce "rozbalit" - ta by měla rozbalit všechny úrovně objektu - to není tak důležité

pro nás teda ta fce Rozbalit vše důležitá je, používáme to při kontrole

ZdenkaSera commented 2 days ago

@luckajirku Samozřejmě, my taky, to se rozpadlo už dřív, hlásila jsem to tady https://github.com/proarc/proarc-client/issues/582. Ta funkce se při nejhorším dá obejít "ručně", kdežto to nefunkční zaklikávátko v profilu ne. Moje poznámka byla jen o prioritě mezi těmi dvěma body.

albertoh commented 2 days ago

Rozbalit - zprovozneno Ulozit nastaveni - opraveno

ZdenkaSera commented 2 days ago

Přetestovali jsme, za nás funkční, detailnější testy za provozu

Díky!

ZdenkaSera commented 2 days ago

Ještě doplňuji: funkce na liště jsou dostupné a funkční i pro sbalené objekty (neotestovány všechny, to až lokálně).