Postup převodu dat z Clavia

Version 14.1 by Jan Šimeček on 2024/06/28 10:10
Varování
For security reasons, the document is displayed in restricted mode as it is not the current version. There may be differences and errors due to this.

 

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

 
Failed to execute the [html] macro. Cause: [When using HTML content inline, you can only use inline HTML content. Block HTML content (such as tables) cannot be displayed. Try leaving an empty line before and after the macro.]. Click on this message for details.

 

Příprava převodu

  1. Aktualizovat Clavius na současnou verzi (Pomůcky → Update přes internet)
  2. Provést synchronizaci polí (Pomůcky → Editace polí → Sync → Aktualizovat)
  3. 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.
    • Výpůjčák
      • Clex.exe → Systém → Provést Kontrolu integrity dat)
  4. 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
  5. select isxn, count(*) as pocet from tituly group by isxn order by pocet desc
    • 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 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 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 
  2. 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/<databaseName>?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Europe/Prague
    • Pro MSSQL: jdbc:sqlserver://192.168.0.24:1433;databaseName=<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/  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

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émuRegulární výrazVstupVýstupPoznámka
 Pole 100 obsahuje podpole 4. 

100\\ [\\ 0-9]{2}\\ \\$4.*|

100 1  $4070| |Celé pole se zahodí.

 Obsahuje pole 1?? 
(1\?\?\ )(.*,.*)§100 $2

(1\?\?\ )(.*)§110 $2|

1??  $aAudoly, Sylvie|

100 $aAudoly, Sylvie|Pokusí se rozpoznat zda se jedná o osobní jméno, nebo korporaci (pokud je osobní jméno, obsahuje hodnota čárku)

Pole 1XXa je prázdné 

^1??.*\\$a$|

199  $a| |Odstraní se celé opakování pole

Obsahuje pole 100 a 110 

^110.*|

100 1 $aRoni, Luigi 110 2 $aRoni, Luigii|

100 1 $aRoni, Luigi|Odstraní opakování pole 110

Díla

Popis problémuRegulární výrazVstupVýstupPozná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|Odstraní znaky co nepatří před NAWEB.

X00 odakzuje na adresář, který neexistuje z důvodu velikosti písmen na linuxu (velikost písmen se musí shodovat). 

(X00[\ ]{4}\$[ou]NAWEB[\\/])OBSAHY([\\/].*)§$1Obsahy$2|

X00 $oNAWEB/OBSAHY/NC3404.pdf|

X00 $oNAWEB/Obsahy/NC3404.pdf|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.

Obsahuje pole ???. 

^\?\?\?.*|

???  $aCzech Republic$eautomapa| |Odstraní otazníkové pole.

1XX4 nebo 7XX4 obsahuje neexistující kód role 

(^[710]{3}.*)(\$4sut)(.*)§$1$3|

100 1  $A1000239919$aLiker, Jeffrey K.$7xx0031426$4sut|

100 1  $A1000239919$aLiker, Jeffrey K.$7xx0031426|kód role z autority Neznámý kód role odstraní.

 

 {{/html}}{{/html}}