Postup převodu dat z Clavia

Wersja 24.1 wykonana przez Jan Šimeček na 2024/06/28 10:22

 

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

  function toggleContent(contentId) {
    var content = document.getElementById(contentId);
    if (content.style.display === "none") {
      content.style.display = "block";
    } else {
      content.style.display = "none";
    }
  }

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í:

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}}