Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Verze 2.0.1 - připomínky #7

Open
mduda100871 opened this issue Oct 23, 2019 · 1 comment
Open

Verze 2.0.1 - připomínky #7

mduda100871 opened this issue Oct 23, 2019 · 1 comment
Assignees

Comments

@mduda100871
Copy link

Zdravím,

pokusil jsem se nasadit poslední verzi 2.0.1 na testovací server a níže uvádím zjištěné okolnosti.

Aplikace je nasazena jako ROOT v Tomcatu - konkrétně tak, že je rozbalena z balíčku k5journals.war do dedikovaného adresáře ~/.k5journals/application/ do kterého ukazuje konfigurační soubor $CATALINA_BASE/conf/Catalina/localhost/ROOT.xml s obsahem:

<?xml version="1.0" encoding="UTF-8"?>
<Context path="" docBase="/home/tomcat-test/.k5journals/application" />

Alternativní možnost spočívající v podobě přejmenování distribučního balíčku k5journals.war na ROOT.war jsem nepoužil - předchozí varianta mi subjektivně připadá "čistší".

Po nastartování Tomcatu se ovšem nová instalace nerozběhla. Kontrolou logů jsem zjistil následující:

err-01

Dalším zkoumáním jsem zjistil, že distribučního balíčku se dostal soubor index.html, který obsahuje právě relativní cesty začínající na /k5journals/:

err-02

Odstraněním tohoto "prefixu", se aplikace rozběhla. Ještě jsem toto nastavení nalezl v souboru WEB-INF/index.html:

err-03

Nevím zda-li se jeho změna také nějak projevila, subjektivně jsem nezjistil žádnou změnu. Pokud se tento "prefix" vyskytuje ještě někde, např. ve zkompilovaném kódu, bylo by dobré to opravit a vydat opravný balíček.

Závažnější problém jsem zjistil při pokusu založit v aplikaci nový titul. Po vyplnění příslušných údajů ve formuláři jsem ho dal uložit. Aplikace vrátila hlášku, že záznam byl korektně uložen, nicméně záznam ve skutečnosti uložen nebyl - nezobrazil se v seznamu titulů. Přímou kontrolou prostřednictvím admin rozhraní Solru, jsem si potvrdil, že záznam v jádře magazines opravdu neexistuje.

Kontrolou logů, tentokrát Solru, jsem zjistil, že byla vyvolána následující výjimka:

err-04

Dalším zkoumáním jsem zjistil, že v odkazovaných indexačních schématech, konkrétně:

https://raw.githubusercontent.com/ceskaexpedice/K5Journals/master/solr/magazines/conf/managed-schema

chybí pole k5url. Doplnil jsem ho do indexovacího schématu následujícím způsobem:

err-05

Po novém načtení konfigurace jádra magazines začalo ukládání nových záznamů fungovat.

Nejsem si ovšem jistý, zda-li má definice pole k5url v indexovacím schématu je správně, tudíž je potřeba to zkontrolovat, případně změnit a následně opravit i na wiki.

Tento bod je spíše otázkou. Jak bude probíhat migrace dat ze starší instance aplikace když se bude měnit indexovací schéma? Není samozřejmě možné, aby se vytvořené záznamy zadávaly znovu ručně.

Aplikoval jsem diff na starší a nové indexovací schéma:

diff-01

kde lze vidět rozdíly (jde o distribuční indexovací schéma, není tam tudíž doplněno pole k5url popisované v předchozím bodě).

Je správný předpoklad, že by stačilo aplikovat diff jako patch na původní indexovací schéma a pak jen reload příslušného jádra Solru (je jasné, že nová pole budou využita až u nově založených záznamů)?

Pokud ne, bude potřeba implementovat nějaký migrační nástroj (jako je tomu např. u Krameria), který zmigruje starší index do nového podle nového/změněného schématu.

V této souvislosti bych měl návrh na rozšíření konfigurace aplikace spočívající v možnosti "prefixovat" jednotlivá jádra v Solru jedním globálním "prefixem". Například test_, takže jednotlivá jádra by vypadala takto test_magazines, test_journal, test_editors, test_views.

Jde mimo jiné také o možnost provozovat více instancí aplikace na jednom Solru - například ostrá a testovací instance. Nyní musím pro každou instanci aplikace "namnožit" další instanci Solru, což je nepraktické a těžkopádné (např. plýtvání systémovými prostředky serveru).

MD

@albertoh
Copy link
Collaborator

albertoh commented Nov 4, 2019

Je správný předpoklad, že by stačilo aplikovat diff jako patch na původní indexovací schéma a pak jen reload příslušného jádra Solru (je jasné, že nová pole budou využita až u nově založených záznamů)?

Ano, staci reload

albertoh pushed a commit that referenced this issue Nov 28, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants