ceskaexpedice / kramerius-googlecode-backup

Automatically exported from code.google.com/p/kramerius
0 stars 1 forks source link

jak opravit virtuální sbírky? #500

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
V kramerius.mzk.cz máme vytvořeny některé netriviální virtuální 
sbírky, které již byly ručně naplněny, proto je chceme zachovat. V 
některé z posledních aktualizací došlo ke změně reprezentace virtuální 
sbírky ve Foxml a Kramerius staré sbírky nezobrazuje ani ve správě 
sbírek, ani v panelu virtuální sbírky. V catalina.out jsem našel objekt, 
který vypadá na virtuální sbírku (s pidem 
vc:ae876087-435d-11dd-b505-00145e5790ea) a porovnal jeho obsah s nově 
vytvořenou virt. sbírkou. Rozdíly jsou tyto:

1. staré virtuální sbírky neobsahují datastream TEXT. U nových sbírek 
jsou v tomto streamu uložené lokalizované názvy sbírek. Např.:
<foxml:datastream ID="TEXT" STATE="A" CONTROL_GROUP="X" VERSIONABLE="false">
        <foxml:datastreamVersion ID="TEXT.1" LABEL="Localized texts for this object" CREATED="2013-01-03T11:23:03.597Z" MIMETYPE="text/plain" SIZE="111">
            <foxml:xmlContent>
                <texts>
                    <text language="en">test collection</text>
                    <text language="cs">testovací sbírka</text>
                </texts>
            </foxml:xmlContent>
        </foxml:datastreamVersion>
    </foxml:datastream>
(mimochodem datastream má nekorektní mime type, mělo by tam být text/xml).

2. liší se obsahy datastreamů dc. 
Stará sbírka:
<oai_dc:dc >
                    <dc:title>kramerius</dc:title>
                    <dc:identifier>vc:ae876087-435d-11dd-b505-00145e5790ea</dc:identifier>
                </oai_dc:dc>

Nová sbírka:
<oai_dc:dc >
                    <dc:title>vc:95721524-a35e-4a2b-8358-08167b87fca1</dc:title>
                    <dc:type>canLeave:true</dc:type>
                    <dc:identifier>vc:95721524-a35e-4a2b-8358-08167b87fca1</dc:identifier>
                    <dc:identifier>vc:95721524-a35e-4a2b-8358-08167b87fca1</dc:identifier>
                </oai_dc:dc>
(ke zdvojení dc:identifier jsem vytvořil issue 499).

Pokusím-li se foxml staré sbírky upravit podle nové konvence, stejně se mi 
ve seznamu sbírek stará aktualizovaná sbírka nezobrazuje. V catalina.out 
jsem nalezl k objektu staré sbírky ještě tyto záznamy:

INFO: [] webapp=/solr path=/select 
params={fl=root_title&q=PID:"uuid:ae876087-435d-11dd-b505-00145e5790ea"} hits=1 
status=0 QTime=0 
INFO: [] webapp=/solr path=/select/ 
params={q=PID:"ae876087-435d-11dd-b505-00145e5790ea"} hits=0 status=0 QTime=0 
INFO: [] webapp=/solr path=/select/ 
params={q=PID:"uuid:ae876087-435d-11dd-b505-00145e5790ea"} hits=1 status=0 
QTime=1 
INFO: [] webapp=/solr path=/select 
params={fl=root_title&q=PID:"uuid:ae876087-435d-11dd-b505-00145e5790ea"} hits=1 
status=0 QTime=0 

Takže to vypadá, že se sbírka při vytvářelní zaindexovala v solr, kde 
je pak správa sbírek hledá. Upravil jsem sice foxml, ale nevím, jak sbírku 
reindexovat v solr. Jak tedy sbírku opravit i v solr?

Další věc jsou ještě starší sbírky, při jejichž vytváření se 
chtělo po uživateli ruční vkládání pidu, tj. pidy pak mají formát 
třeba vc:test. Takových jsme našli v K4 několik. Teď se nezobrazují 
podobně jako ostatní staré kolekce, tak snad i pro ně bude fungovat 
aktualizace v solr a následné odebrání ve správě sbírek (jakože aby 
nebyl někde v kódu očekáván určitý tvar pidu).

Original issue reported on code.google.com by Martin.R...@gmail.com on 3 Jan 2013 at 12:16

GoogleCodeExporter commented 9 years ago
Jinak předpokládám, že ty staré sbírky vznikly v době, kdy tam byl 
nasazen Kramerius ve verzi 4.5.něco. Podle changelogu se nějaké změny k 
virt. sbírkám děly ve verzi 4.6.alpha.

Original comment by Martin.R...@gmail.com on 3 Jan 2013 at 12:31

GoogleCodeExporter commented 9 years ago
Nakonec to vypadá, že zmíněné chování (nezobrazení kolekce v záložce 
Virtuální sbírky a v administraci virtuálních sbírek) způsobuje 
neexistence <dc:type>canLeave:true</dc:type> v datastreamu DC. 
Při téhle opravě se již sbírka zobrazuje a je z ní možné odebírat i do 
ní objekty přidávat. Dříve vyrobené sbírky je tak nutné ručně opravit 
(foxml), přičemž seznam sbírek je možné získat přes risearch např. 
tímto spo dotazem:
* <fedora-model:hasModel> <info:fedora/model:collection>

Original comment by Martin.R...@gmail.com on 3 Jan 2013 at 2:30

GoogleCodeExporter commented 9 years ago
Naše virtuální sbírky jsem tedy opravil, ale nemůžu si odpoustit 
rýpnutí do zpětné kompatibility. U těch virtuálních sbírek jde vidět, 
že se (mluvím o verzích určených k produkčnímu nasazení) dost měnily 
požadavky na objekt virtuální sbírky. Jednou byl v dc:title název kolekce, 
poté pid kolekce. Lokalizované názvy kolekce byly dále hledány nejprve v 
datastreamu DC, poté v datastreamech TEXT_cs a TEXT_en, aktuálně v 
datastreamu TEXT v xml v určitém tvaru. V poslední verzi se požaduje, aby v 
dc:type byl řetězec "canLeave:true" nebo "canLeave:false", jinak není 
možné sbírku použít ani spravovat. 
Pro přechod na vyšší verzi K4 neexistuje nástroj, který by tyto objekty 
aktualizoval na formát požadovaný novou verzí K4. Možná by se tohle 
hodilo nejen pro objekty virtuálních sbírek.
U nás situce s virtuálními sbírkami vypadala takto:
Atlasy - 20 monografií 
EOD - 56 monografií, 27 hudebnin
ANL - 98 periodik
Academia - 100 monografií

Myslím, že většina adminstrátorů Krameria nebude schopna (bez 
přečtění tohoto issue) tenhle problém vyřešit a tak se nejspíš 
uchýlí k tomu, že bude někdo ručně naplňovat nové verze kolekcí, v 
našem případě asi 300 tituly.

Original comment by Martin.R...@gmail.com on 3 Jan 2013 at 2:55

GoogleCodeExporter commented 9 years ago
Zdravim,

potvrzuji problem pri prechodu z v 4.5.x na 4.6.x (konkretne na 4.6.2 pres 
4.6.0 z 4.5.4). Pomohlo opravdu pridani "<dc:type>canLeave:true</dc:type>" do 
datastreamu DC. Doplnim, ze opravu primo ve fedore je nutne provest 
"nizkourovnove" bud prostrednictvim administratorskeho rozhrani na adrese 
http://adresa.serveru.nekde/fedora/admin nebo prostrednictvim "tlusteho" 
javovskeho klienta, ktery se nachazi v adresari, kde ja nainstalovana fedora v 
podadresari "client/bin/fedora-admin.(sh|bat)". "Tlusty" klient nelze spoustet 
normalne primo na serveru, protoze vyzaduje graficke rozhrani (tedy pokud na 
serveru nemate napr. X-server), takze je nutne ho bud spustit z lokalni stanice 
(na unixove stanici s X-serverem, nebo na win stanici) nebo vystup posilat na 
nejaky vzdaleny X-server (pro unixove uzivatele). Flexibilnejsi je proto webove 
rozhrani fedory (vyzaduje Adobe FlashPlayer plugin v prohlizeci).

Duda

Original comment by mduda100...@gmail.com on 15 Mar 2013 at 1:44

GoogleCodeExporter commented 9 years ago
This issue was updated by revision r4721.

Original comment by alberto....@gmail.com on 19 Jun 2013 at 12:25

GoogleCodeExporter commented 9 years ago
Issue 550 has been merged into this issue.

Original comment by alberto....@gmail.com on 19 Jun 2013 at 12:36

GoogleCodeExporter commented 9 years ago

Original comment by vlah...@gmail.com on 4 Jul 2013 at 12:08

GoogleCodeExporter commented 9 years ago

Original comment by alberto....@gmail.com on 4 Jul 2013 at 1:55