Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
ZveřejnilMia Jandová
1
Import záznamů diplomových prací nové řešení Antonín Vaishar, SUAleph, 26. – 27.4. 2011
2
PROGRAM 1.Staré řešení 2.Nové řešení 3.Technologie 4.Použité služby 5.Vlastní moduly 6.Konečný automat 7.Budoucnost
3
STARÉ ŘEŠENÍ p_manage 18 a další hrozná šablona aktuální obraz celé báze (CVIS) implementace bash + python knihovníci neměli nad záznamy kontrolu
4
NOVÉ ŘEŠENÍ stahovat se budou jen ty, které mají jednotky v knihovně (na základě dodaných eVŠKP id) stažení se provede pouze jednou, knihovna bude moci se záznamem volně nakládat kvalitní šablony pro různé typy dokumentů služby x-serveru implementace v perlu + XSLT na transformaci dat
5
TECHNOLOGIE komunikace
6
TECHNOLOGIE transformace dat JSON JavaScript Object Notation JSON JSON XML Vlastní záležitost XML::Simple OAI MARC Transformace pomocí XSLT (Saxon) Veškeré úpravy dat Záznam pro Aleph
7
TECHNOLOGIE použité moduly LWP (the Library for World Wide Web in Perl) – HTTP komunikace JSON – zpracování JSON dat XML::Simple – tvorba JSON XML XML::LibXML – ostatní práce s XML Vlastní výroba: Server_x a Result_x – perlovský obal pro dotazy na a odpovědi od x_serveru
8
POUŽITÉ SLUŽBY Find & Present ověřování existence záznamu id práce v poli 035, na něm index EVSKP find provede vyhledávání a vrátí množinu výsledků present vrátí výsledné záznamy Update_doc vytvoření záznamu v Alephu (OAI MARC)
9
POUŽITÉ SLUŽBY vývojový diagram
10
POUŽITÉ SLUŽBY Na co si dát pozor Aleph má problémy s XML: Při tvorbě či updatu záznamu záleží na pořadí atributů elementů OAI MARCu cze #OK cze #KO Všechny zprávy do elementu empty set #prázdný výsledek vyhledávání Field "520" contains subfield "9" which is not allowed. – warning error #varování Text "S" for Field 655 7 with sub-field "a" is not allowed (check_doc_tag_text). - mandatory error #opravdová chyba Document: 000001740 was updated successfully. #úspěch
11
VLASTNÍ MODULY Server_x zpracované služby: find, find_doc, present, update_doc metody zabezpečují sestavení a odeslání dotazu Result_x výsledky volání x služeb metody zabezpečují zprac. a vrácení těchto výsledků Server_x::Find => Result_x::Set Server_x::Find_doc => Result_x::Record Server_x::Present => Result_x::Record Server_x::Update_doc => Result_x::Update
12
VLASTNÍ MODULY příklad volání my $dotaz=Server_x::Find_doc->new('Pokusná Aplikace','http://aleph.lib.vutbr.cz/X'); $dotaz->request('94599','BUT01'); my $odpoved=$dotaz->content; #odpoved je objekt Result_x::Record if ($odpoved->is_error){print "Došlo k chybě";} else{print $odpoved->get_records($odpoved->get_sysnos->[0]);} http://aleph.lib.vutbr.cz/X?op=find_doc&base=but01&doc_num=94599 není úplně intuitivní vyžaduje znalost služeb x-serveru zpracovávám dokumentaci
13
KONEČNÝ AUTOMAT pokus o (objektovou) implementaci konečného automatu objekt, jehož metody jsou stavy; generují zprávy přehledný hlavní program (žádné vnořené podmínky) lehce upravitelné chování skriptu (např. pro ladění) fuška správně navrhnout implementaci
14
BUDOUCNOST samoobsluha webová služba více zapojit x server (autentikace knihovníků apod.) zatím v nedohlednu
15
DĚKUJI ZA POZORNOST dotazy na vaishar@lib.vutbr.czvaishar@lib.vutbr.cz
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.