Postup převodu dat z Clavia
Version 10.1 by Jan Šimeček on 2024/06/28 10:06
Záloha dat Clavia pro převod do Tritia
Postup pro malé knihovny k poslání je zde: Záloha dat Clavia pro převod do Tritia
Převod
Tipy a Triky
|
Příprava převodu
- Zeptat se knihovny před převodem: Dotazy na knihovnu před převodem
- Zálohu rozbalovat přes Total Commander - ne přes Windows průzkumníka!!!
- Aktualizovat Clavius na současnou verzi (Pomůcky → Update přes internet)
- Provést synchronizaci polí (Pomůcky → Editace polí → Sync → Aktualizovat)
- Provést kontrolu integrit dat (chyby opravovat !!! hlavně dogenerovat autority a smazat chybná pole)
- Katalogizace:
- do integrit with .t.,.t. ( lze využít i příkazu do tritius , dělá to samé )
- vyzve ke sloučení slovníků C1 a C3 do C1 - dát ano
- do OKindik with .T.
- do integrit with .t.,.t. ( lze využít i příkazu do tritius , dělá to samé )
- Výpůjčák
- Clex.exe → Systém → Provést Kontrolu integrity dat)
- Katalogizace:
- pohled([select !s.scislo, s.pcislo, s.ucislo, #s.ckod from svazky s, (select ckod from svazky group by ckod having count(*)>1) s1 where s.ckod<>'' and s.ckod=s1.ckod order by s.ckod])
- duplicity čárových kódů svazků řešit ve foxíku tak že za čárový kód přídáte písmeno a,b,c ... kromě prvního výskytu čárového kódu
- **select isxn, count(*****) as pocet from tituly group by isxn order by pocet desc**{{html}} 1*. kontrola na duplicitu ISBN == Vlastní export dat z Clavia - automaticky (verze Clavia od 28.2.2019) == * **Pokud se jedná o reksové centrum, musí export probíhat pod uživatelem Správce Reksu!!** ( Systém - Servis dat - Výběr jiné knihovny - zaškrtnout Správce REKSu - OK ) * Při importu REKS knihovny = přečíst oddíl 2.5 ( možná úprava svazků v Claviu ) * ve foxíku spustit: * **do FULLEXPORT** ** -vyzve ke kontrole OKAcisla - dát ano a lze jít spát, bude následně automaticky pokračovat export tagů * TAG soubory se automaticky vygenerují do složky TXT ve složce Clavius == Příprava CLAVIUS SQL == Pro převod dat akvizice, výpůjčního protokolu a další částí se používá přímý převod do Tritiia z SQL databáze Clavius. Proto je nutné převést celý Clavius do SQL (lze využít SQL server pro Tritius), tento krok lze vynechat jen pokud se importuje pouze fond. * postup vytvoření databáze clavius na SQL serveru a převodu dat Clavia pomocí **NASQL.EXE** viz: [[http:~~/~~/www.vkta.cz/LANius/diskety/sql/mssql.htm>>url:http://www.vkta.cz/LANius/diskety/sql/mssql.htm]] pro MSSQL * není potřeba nic nastavovat pouze je potřeba SQL uživatel který má plná práva pro databázi clavius == Importování knihovny pokud v cílovém Tritiu již je část svazků (např. Výměnné soubory) == V případě připojování dat je nutná existence čárového kódu v tabulce svazky u výměnných souborů, aby došlo ke správnému napárování: | {{{Kontrola dat v Claviu, jestli obsahují vygenerovaný správně ckod, kdy 31840 - je prefix nadřízené knihovny: browse for betw(val(pcislo),500000,599999) and !empt(ckod) and ckod<>'31840' Pokud nic nevrátí, tak netřeba dělat! V opačném případě je potřeba předem dogenerovat do svazky.ckod čárový kód s prefiem nadřízené knihovny: browse for betw(val(pcislo),500000,599999) and betw(len(allt(ckod)),0,8) repl ckod with '31840'+padl(allt(pcislo),8,'0') for betw(val(pcislo),500000,599999) and betw(len(allt(ckod)),0,8) repl ckod with '31840'+right(ckod,7) for betw(val(pcislo),500000,599999) and !empt(ckod) and ckod<>'31840' }}} Je nutné zkontrolovat u VS, aby svazky měli **vyplněný **CKOD (viz výše) a poté **PIDKN **obsahovalo znak **˙ :** | {{{Kontrola: pohled("SELECT * FROM svazky where ckod <> ' ' AND ckod not like 'prefixImportovaneREKSovky%' AND pidkn != '˙'") Oprava: pohled("UPDATE svazky SET pidkn = '˙' where ckod <> ' ' AND ckod not like 'prefixImportovaneREKSovky%' AND pidkn != '˙'")}}} //Rozdíly oproti bodu 2.6.2 Import dat~:// 1. **Díla:** * ** vybrat v roletce pro duplicity: Kontroluje duplicitu čárových kódů - duplicitní čárové kódy neimportuje a nepřidá je failed souboru *** doporučuji použít až na druhý pokus a okem zkontrolovat, že jsou to opravdu duplicity s knihovnou, která už je na serveru 1. **Výpůjčky:** * ** Vybrat KPUJCKY_REKS a neimportovat KPUJCKY! == Import dat v Tritiu, pokud v cílovém Tritiu není část svazků (např. Výměnné soubory) == === Založení knihovny v Tritiu === Je potřeba zaregistrovat novou knihovnu v Tritiu (Přihlášení do Tritia tlačítko Registrovat) Při převádění REKSového Clavia nebo převádění knihovny, která má Carmen (Knihovna s REKSovkami - Clavius neobsahuje pouze jednu knihovnu) nedávat po registraci vytvořit webovou definici - vznikne naimportováním DEFWEB, kdy dojde k založení webové definice pro každou REKSovou knihovnu. ~!!!Pokud se jedná o sdílený server, kde již běží knihovny na ostro, tak provést zálohu databáze, kdyby se něco zvrtlo co nedokáže [[Postup Odstranění importovaných dat>>url:https://confluence.tritius.cz/pages/viewpage.action?pageId=102925148]] vyřešit a bylo potřeba provést obnovení!!! ~!!!Před zahájením zkontrolovat dostatek místa na disku VM!!!. Kontrolu lze provést 2 způsoby: 1. přes putty pomocí příkazu df -h 1. v Zabixxu: Sledování → Obrazovky → VM Overview → Hostitel vybrat VM a podívat se na graf Disk space usage === Import dat === Import REKS: nezapomenout **zamknout** slovníky (především klíčová slova, popřípadě dodavatele) **POZOR!!!!**: kontrola na existenci A podpolí v Tritiu, které zbyli od minulého importu, pokud ano tak smazat před importem!: | {{{select count(*) from authority_data where subfield_definition in ( select id from subfield_definition where name_sub='A') select count(*) from work_data where subfield_definition in ( select id from subfield_definition where name_sub='A') dále: Po zapnutí Importovacího módu nesmí tabulka import_id_backup obsahovat jediný řádek, který má ve sloupci library ID právě převáděné knihovny, tedy select * from import_id_backup where library = ID_prave_prevadene_knihovny musí vrátit 0 . }}} * Pokud importuji do knihovny s defaultně jiným jazykem (slovenské knihovny) musím před importem správně nastavit **SYSTEM_DEFAULT_LANGUAGE **tak i** LOCALE.** * Pokud se nejedná o multiknihovní instanci, nastavit v položkách nastavení **MULTI_LIBRARY_INSTANCE** na false ( -304 ) - musí se provést před importem vzkazů čtenářů. * V záložce **Systém** je volba **Import dat** * Spustí se importní mód - běžní uživatelé se do knihovny v importním módu nemohou přihlásit * //Doporučení - naimportovat dump databáze na VM s Tritiem pod uživatelem root (import je řádově rychlejší)// * URL spojení databázi Clavius SQL kde jsou výpůjčky : ** Pro MySQL: **jdbc:mysql:~/~/server.lanius.cz:3306/////?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Europe/Prague** ** Pro MSSQL: **jdbc:sqlserver:~/~/192.168.0.24:1433;databaseName=////**;SendStringParametersAsUnicode=False; * Zadáte uživatele a heslo pro připojení do databáze a tlačítkem **Připojit** provedete spojení (po úspěchu se tlačítko změní na **Odpojit**) * **Start import mode** * Postupně procházíme jednotlivé záložky zleva do prava. Vynecháváme ty které nejsou vždy (akvizice, webový katalog Carmen) ** **Záložka Definice** - vybrat postupně po jedné definiční tabulky a dejte **Importuj** vybrané tabulky (v případě opakovaného importu podruhé neprovádět !!!) *** **Definici webů (DEFWEB)** importovat pouze pro REKSové knihovny (při převodu do sdílené knihovny je třeba založit ručně při registraci knihovny) *** Pokud se nepodaří v případě knihovny, která má Carmen převést DEFWEB, tak stačí v Tritius založit ručně webovou definici a do import_id vyplnit ID, které se najde v databázi Clavia: *** SELECT distinct defWebId FROM car_cloud; * ** //Doporučení - Pokud se jedná o převod větší knihovny, tak po importu větších dat (autorit, díla, poplatky, čtenáři, výpůjčky, ...) dělat zálohu databáze// ** **Záložka Autority (u REKSovky zvážit neimportování!)**: *** tlačítko Nahrát soubor nalistujeme **AUTORITY.TAG** a po jeho nahrání jej vybereme a dáme Importovat. Po importu jsou chybné, neimportované záznamy v souboru failed ** Pokud je soubor velký desítky MB a nejde nahrát zkuste přímou adresu např. : [[http:~~/~~/192.168.0.250:8080/Tritius/>>url:http://192.168.0.250:8080/Tritius/cz.effectiva.tritius.Application/Application.html#Import_wizard]] takto obejdete Apache web server ** **Záložka Díla a Svazky (u REKSovky zvážit ztitulování a neskládání autorit!):** *** obsah složky **NAWEB** z Clavia (pokud existuje) - v průvodci importu dat je na záložce import děl tlačítko, které nahraje zabalenou složku (NAWEB.zip) do příslušné složky a rozbalí. (dříve - ručně nakopírovat do složky Tritia (\tritius\files\Clavius\WORK\NAWEB) *** Pozor: zkontrolovat názvy souborů pokud obsahují mezery nebo znaky s diakritikou nedojde k propojení !!! *** Typ importu duplicit - kontroluje duplicitu podle typu dokumentu a ISBN, popřípadě podle typu dokumentu, názvu, autora a roku (Zkontrolovat duplicity ISBN v TAGu) *** Přes Nahrát soubor vybereme **DATA.TAG** a po jeho nahrání jej vybereme a dáme Importovat. Po importu jsou chybné, neimportované záznamy v souboru failed *** Problémové záznamy v souboru failed, které se nenaimportovaly, je potřeba hned řešit tzn. **opravit a opakovaně importovat teprve pak se může pokračovat**! ** **Čtenáři:** *** Vybrat CTENARI nebo CTENARI_DO_VSECH_KNIHOVEN - neimportovat obě! ** **MVS** *** Lepší Vytvářet nové záznamy, aby nedocházelo k propojení rezervací na MVS. ** **Záložka Výpůjčky**: *** Vybrat KPUJCKY nebo KPUJCKY_REKS - neimportovat obě! *** postupně po jednotlivých tabulkách importovat a v logu kontrolovat provedení. *** **Poplatky **- způsob uhrazení (poplatek.kartou) **** 0 - platba v hotovosti **** 1, 2, 3, 4 - platba kartou **** 5, 6, 7 - platba na účet **** 8, 9 - platba kreditem * //Odstranit z VM databázi Clavia, pokud byla naimportována do VM.// === Odstranění importovaných dat === Pokud dojde během importu k problému s některou částí importu (kromě nastavení), tak ji lze smazat pomocí: [[Postup Odstranění importovaných dat>>url:https://confluence.tritius.cz/pages/viewpage.action?pageId=102925148]] == Nastavení po importu == * **Před ukončením importního módu je třeba vytvořit zálohu databáze.** * **Ukončit import mód - až v momentě, kdy jsou všechna data správně převedená! **(u velkého serveru může zastavení trvat i půl hodiny) * Pokud se převáděla konfigurace výpůjčního protokolu je potřeba projít a opravit podmínky v následujících částek nastavení, jinak by spadla reindexace: ** Kategorie operací ** Pravidla registrací ** Prohledávané oblasti ** Definice webů - nastavit také výp. kategorii **Nezobrazovat na WWW** ((itemBorrowCategoryId IS NULL OR itemBorrowCategoryId <> 3)) - ID se liší podle převodu * Na poslední záložce **Naplánované úlohy** spustit postupně od shora jednotlivé operace ** u malé knihovny nečekat na dokončení a lze pustit od shora najednou ** u velké knihovny pustit 1., 2., 3., počkat na dokončení a poté pustit 4. a po dokončení pustit 5. a po dokončení pustit 6. == Závěrečné důležité operace == * **Restart Tomcatu pomocí tools** (vyčistí se paměť po importu) !!!((( ))) * **Provést nastavení podle checklist!!!!** * **Přečíst 2.1 Tipy a Triky na začátku stránky!** = Regulární výrazy pro opravy dat = Všechny nové regulární výrazy je třeba nejprve otestovat vývojářem - **ReplaceHelperTest**. |((( == Autority == |=Popis problému|=Regulární výraz|=Vstup|=Výstup|=(% colspan="1" %)Poznámka | Pole 100 obsahuje podpole 4.| {{{100\\ [\\ 0-9]{2}\\ \\$4.*}}}| {{{100 1 $4070}}}| |(% colspan="1" %)Celé pole se zahodí. | Obsahuje pole 1??| {{{(1\?\?\ )(.*,.*)§100 $2}}} {{{(1\?\?\ )(.*)§110 $2}}}| {{{1?? $aAudoly, Sylvie}}}| {{{100 $aAudoly, Sylvie}}}|(% colspan="1" %)Pokusí se rozpoznat zda se jedná o osobní jméno, nebo korporaci (pokud je osobní jméno, obsahuje hodnota čárku) |(% colspan="1" %)Pole 1XXa je prázdné|(% colspan="1" %) {{{^1??.*\\$a$}}}| {{{199 $a}}}|(% colspan="1" %) |Odstraní se celé opakování pole |(% colspan="1" %)Obsahuje pole 100 a 110|(% colspan="1" %) {{{^110.*}}}| {{{100 1 $aRoni, Luigi 110 2 $aRoni, Luigii}}}| {{{100 1 $aRoni, Luigi}}}|(% colspan="1" %)Odstraní opakování pole 110 == Díla == |=Popis problému|=Regulární výraz|=Vstup|=Výstup|=(% colspan="1" %)Poznámka |Odkazy na soubory v NAWEB obsahují před adresářem neplatné znaky.| {{{(X00[\ ]{4}.*\$[uo]).*(NAWEB.*)(\$.*)§$1$2$3 (X00[\ ]{4}.*\$[uo]).*(NAWEB.*)§$1$2}}}| {{{X00 $uW:\NAWEB\OBSAHY\N38492.pdf$tObsah$oNAWEB\2016_Knihy\N38492.jpg X00 $uW:\NAWEB\OBSAHY\N38492.pdf$tObsah$oW:\NAWEB\2016_Knihy\N38492.jpg X00 $uNAWEB\OBSAHY\N38492.pdf$tObsah$oW:\NAWEB\2016_Knihy\N38492.jpg X00 $oW:\NAWEB\OBSAHY\N38492.pdf$tObsah$uNAWEB\2016_Knihy\N38492.jpg X00 $oW:\NAWEB\OBSAHY\N38492.pdf$tObsah$uW:\NAWEB\2016_Knihy\N38492.jpg X00 $oNAWEB\OBSAHY\N38492.pdf$tObsah$uW:\NAWEB\2016_Knihy\N38492.jpg}}}| {{{X00 $uNAWEB\OBSAHY\N38492.pdf$tObsah$oNAWEB\2016_Knihy\N38492.jpg X00 $uNAWEB\OBSAHY\N38492.pdf$tObsah$oNAWEB\2016_Knihy\N38492.jpg X00 $uNAWEB\OBSAHY\N38492.pdf$tObsah$oNAWEB\2016_Knihy\N38492.jpg X00 $oNAWEB\OBSAHY\N38492.pdf$tObsah$uNAWEB\2016_Knihy\N38492.jpg X00 $oNAWEB\OBSAHY\N38492.pdf$tObsah$uNAWEB\2016_Knihy\N38492.jpg X00 $oNAWEB\OBSAHY\N38492.pdf$tObsah$uNAWEB\2016_Knihy\N38492.jpg}}}|(% colspan="1" %)Odstraní znaky co nepatří před NAWEB. |(% colspan="1" %)X00 odakzuje na adresář, který neexistuje z důvodu velikosti písmen na linuxu (velikost písmen se musí shodovat).|(% colspan="1" %) {{{(X00[\ ]{4}\$[ou]NAWEB[\\/])OBSAHY([\\/].*)§$1Obsahy$2}}}| {{{X00 $oNAWEB/OBSAHY/NC3404.pdf}}}| {{{X00 $oNAWEB/Obsahy/NC3404.pdf}}}|(% colspan="1" %)Změna velikosti písmen "OBSAHY" → "Obsahy". Regulární příkaz se musí dát až za regulární příkaz opravující validnost cesty. |(% colspan="1" %)Obsahuje pole ???.|(% colspan="1" %) {{{^\?\?\?.*}}}| {{{??? $aCzech Republic$eautomapa}}}|(% colspan="1" %) |Odstraní otazníkové pole. |(% colspan="1" %)1XX4 nebo 7XX4 obsahuje neexistující kód role|(% colspan="1" %) {{{(^[710]{3}.*)(\$4sut)(.*)§$1$3}}}| {{{100 1 $A1000239919$aLiker, Jeffrey K.$7xx0031426$4sut}}}| {{{100 1 $A1000239919$aLiker, Jeffrey K.$7xx0031426}}}|(% colspan="1" %)kód role z autority Neznámý kód role odstraní. ))) ~{~{/html}}