Zdrojový kód wiki Postup převodu dat z Clavia

Version 16.1 by Jan Šimeček on 2024/06/28 10:13

Hide last authors
Jan Šimeček 1.1 1
2
3 = Záloha dat Clavia pro převod do Tritia =
4
Jan Šimeček 2.1 5 Postup pro malé knihovny k poslání je zde: [[Záloha dat Clavia pro převod do Tritia>>doc:.Zaloha-dat-Clavia-pro-prevod-do-Tritia.WebHome]]
Jan Šimeček 1.1 6
7 = Převod =
8
9 == Tipy a Triky ==
10
Jan Šimeček 14.1 11 {{html}}
Jan Šimeček 16.1 12 <button onclick="toggleContent()">Klikni pro rozbalení</button>
13 <div id="content" style="display: none;">
Jan Šimeček 15.1 14 |(((
Jan Šimeček 1.1 15 |=Popis
16 |(% colspan="1" %)Revize se nepřevádí, musí být před zahájením převodu do Tritia uzavřena.
17 |(% colspan="1" %)Dispečink Clavia se nepřevádí, pokud data potřebují, tak si je musí před vypnutím Clavia opsat.
18 |(% colspan="1" %)Statistiky LWWW se nepřevádí, knihovna si je musí opsat.
19 |Neměnit klíč v definici poplatků po testovacím převodu, nepovede se pak napojení poplatků při dalším importu - měnit až po posledním importu knihovny.
20 |Neměnit zkratky v odděleních, nebude fungovat vazba výchozího oddělení čtenáře - měnit až po ostrém startu.
Jan Šimeček 15.1 21 )))
Jan Šimeček 14.1 22 </div>
Jan Šimeček 16.1 23 <script>
24 function toggleContent() {
25 var content = document.getElementById("content");
26 if (content.style.display === "none") {
27 content.style.display = "block";
28 } else {
29 content.style.display = "none";
30 }
31 }
32 </script>
Jan Šimeček 14.1 33 {{/html}}
Jan Šimeček 1.1 34
35 == Příprava převodu ==
36
Jan Šimeček 2.1 37 * Zeptat se knihovny před převodem: [[Dotazy na knihovnu před převodem>>doc:.Dotazy-na-knihovnu-pred-prevodem.WebHome]]
Jan Šimeček 7.1 38 * Zálohu rozbalovat přes **{{html}}<span style="color: red;">Total Commander </span>{{/html}}**- ne přes Windows průzkumníka!!!
Jan Šimeček 1.1 39
Jan Šimeček 7.1 40 1. **{{html}}<span style="color: green;">Aktualizovat Clavius</span>{{/html}}** na současnou verzi (Pomůcky → Update přes internet)
41 1. **{{html}}<span style="color: green;">Provést synchronizaci polí</span>{{/html}}** (Pomůcky → Editace polí → Sync → Aktualizovat)
42 1. **{{html}}<span style="color: green;">Provést kontrolu integrit dat </span>{{/html}}**(chyby opravovat !!! hlavně dogenerovat autority a smazat chybná pole)
Jan Šimeček 1.1 43 1*. Katalogizace:
44 1**. **do integrit with .t.,.t. **( lze využít i příkazu **do tritius** , dělá to samé )
45 1***. vyzve ke sloučení slovníků C1 a C3 do C1 - dát ano
46 1**. **do OKindik with .T.**
47 1*. Výpůjčák
48 1**. Clex.exe → Systém → Provést Kontrolu integrity dat)
Jan Šimeček 7.1 49 1. **{{html}}<span style="color: green;">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])</span>{{/html}}**
Jan Šimeček 1.1 50 1*. 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
Jan Šimeček 12.1 51 1. **{{html}}select isxn, count(*) as pocet from tituly group by isxn order by pocet desc{{/html}}**
Jan Šimeček 1.1 52 1*. kontrola na duplicitu ISBN
53
54 == Vlastní export dat z Clavia - automaticky (verze Clavia od 28.2.2019) ==
55
Jan Šimeček 14.1 56 * **{{html}}<span style="color: red;">Pokud se jedná o reksové centrum, musí export probíhat pod uživatelem Správce Reksu!!</span>{{/html}}** ( Systém - Servis dat - Výběr jiné knihovny - zaškrtnout Správce REKSu - OK )
Jan Šimeček 1.1 57 * Při importu REKS knihovny = přečíst oddíl 2.5 ( možná úprava svazků v Claviu )
58 * ve foxíku spustit:
59 * **do FULLEXPORT**
60 ** -vyzve ke kontrole OKAcisla - dát ano a lze jít spát, bude následně automaticky pokračovat export tagů
61 * TAG soubory se automaticky vygenerují do složky TXT ve složce Clavius
62
63 == Příprava CLAVIUS SQL ==
64
65 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.
66 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.
67
68 * 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
69 * není potřeba nic nastavovat pouze je potřeba SQL uživatel který má plná práva pro databázi clavius
70
71 == Importování knihovny pokud v cílovém Tritiu již je část svazků (např. Výměnné soubory) ==
72
73 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í:
74
Jan Šimeček 2.1 75 |
Jan Šimeček 1.1 76
77 {{{Kontrola dat v Claviu, jestli obsahují vygenerovaný správně ckod, kdy 31840 - je prefix nadřízené knihovny:
78  
79 browse for betw(val(pcislo),500000,599999) and !empt(ckod) and ckod<>'31840'
80  
81 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:
82  
83 browse for betw(val(pcislo),500000,599999) and betw(len(allt(ckod)),0,8)
84
85 repl ckod with '31840'+padl(allt(pcislo),8,'0') for betw(val(pcislo),500000,599999) and betw(len(allt(ckod)),0,8)
86 repl ckod with '31840'+right(ckod,7) for betw(val(pcislo),500000,599999) and !empt(ckod) and ckod<>'31840' }}}
87
88 Je nutné zkontrolovat u VS, aby svazky měli **vyplněný **CKOD (viz výše) a poté **PIDKN **obsahovalo znak **˙ :**
89
Jan Šimeček 2.1 90 |
Jan Šimeček 1.1 91
92 {{{Kontrola:
93 pohled("SELECT * FROM svazky where ckod <> ' ' AND ckod not like 'prefixImportovaneREKSovky%' AND pidkn != '˙'")
94
95 Oprava:
96 pohled("UPDATE svazky SET pidkn = '˙' where ckod <> ' ' AND ckod not like 'prefixImportovaneREKSovky%' AND pidkn != '˙'")}}}
97
98 //Rozdíly oproti bodu 2.6.2 Import dat~://
99
100 1. **Díla:**
101
Jan Šimeček 14.1 102 *
Jan Šimeček 1.1 103 ** vybrat v roletce pro duplicity: Kontroluje duplicitu čárových kódů - duplicitní čárové kódy neimportuje a nepřidá je failed souboru
104 *** doporučuji použít až na druhý pokus a okem zkontrolovat, že jsou to opravdu duplicity s knihovnou, která už je na serveru
105
106 1. **Výpůjčky:**
107
Jan Šimeček 14.1 108 *
Jan Šimeček 1.1 109 ** Vybrat KPUJCKY_REKS a neimportovat KPUJCKY!
110
111 == Import dat v Tritiu, pokud v cílovém Tritiu není část svazků (např. Výměnné soubory) ==
112
113 === Založení knihovny v Tritiu ===
114
115 Je potřeba zaregistrovat novou knihovnu v Tritiu (Přihlášení do Tritia tlačítko Registrovat)
116
117 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.
118
119 ~!!!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í!!!
120
121 ~!!!Před zahájením zkontrolovat dostatek místa na disku VM!!!.
122
123 Kontrolu lze provést 2 způsoby:
124
125 1. přes putty pomocí příkazu df -h
126 1. v Zabixxu: Sledování → Obrazovky → VM Overview → Hostitel vybrat VM a podívat se na graf Disk space usage
127
128 === Import dat ===
129
130 Import REKS: nezapomenout **zamknout** slovníky (především klíčová slova, popřípadě dodavatele)
131
132 **POZOR!!!!**: kontrola na existenci A podpolí v Tritiu, které zbyli od minulého importu, pokud ano tak smazat před importem!:
133
Jan Šimeček 2.1 134 |
Jan Šimeček 1.1 135
136 {{{select count(*) from authority_data where subfield_definition in (
137 select id from subfield_definition where name_sub='A')
138
139 select count(*) from work_data where subfield_definition in (
140 select id from subfield_definition where name_sub='A')
141
142 dále:
143 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 . }}}
144
Jan Šimeček 2.1 145 * 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.**
Jan Šimeček 1.1 146 * 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ářů.
147 * V záložce **Systém** je volba **Import dat**
148 * Spustí se importní mód - běžní uživatelé se do knihovny v importním módu nemohou přihlásit
149 * //Doporučení - naimportovat dump databáze na VM s Tritiem pod uživatelem root (import je řádově rychlejší)//
150 * URL spojení databázi Clavius SQL kde jsou výpůjčky :
151 ** Pro MySQL: **jdbc:mysql:~/~/server.lanius.cz:3306///<databaseName>//?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Europe/Prague**
152 ** Pro MSSQL: **jdbc:sqlserver:~/~/192.168.0.24:1433;databaseName=//<databaseName>//**;SendStringParametersAsUnicode=False;
153 * 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**)
154 * **Start import mode**
155 * Postupně procházíme jednotlivé záložky zleva do prava. Vynecháváme ty které nejsou vždy (akvizice, webový katalog Carmen)
156 ** **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 !!!)
157 *** **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)
158 *** 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:
159 *** SELECT distinct defWebId FROM car_cloud;
160
Jan Šimeček 14.1 161 *
Jan Šimeček 1.1 162 ** //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//
163 ** **Záložka Autority (u REKSovky zvážit neimportování!)**:
164 *** 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
165 ** 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
166 ** **Záložka Díla a Svazky (u REKSovky zvážit ztitulování a neskládání autorit!):**
167 *** 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)
168 *** Pozor: zkontrolovat názvy souborů pokud obsahují mezery nebo znaky s diakritikou nedojde k propojení !!!
169 *** 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)
170 *** 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
171 *** 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**!
172 ** **Čtenáři:**
173 *** Vybrat CTENARI nebo CTENARI_DO_VSECH_KNIHOVEN - neimportovat obě!
174 ** **MVS**
175 *** Lepší Vytvářet nové záznamy, aby nedocházelo k propojení rezervací na MVS.
176 ** **Záložka Výpůjčky**:
177 *** Vybrat KPUJCKY nebo KPUJCKY_REKS - neimportovat obě!
178 *** postupně po jednotlivých tabulkách importovat a v logu kontrolovat provedení.
179 *** **Poplatky **- způsob uhrazení (poplatek.kartou)
180 **** 0 - platba v hotovosti
181 **** 1, 2, 3, 4 - platba kartou
182 **** 5, 6, 7 - platba na účet
183 **** 8, 9 - platba kreditem
184 * //Odstranit z VM databázi Clavia, pokud byla naimportována do VM.//
185
186 === Odstranění importovaných dat ===
187
188 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]]
189
190 == Nastavení po importu ==
191
192 * **Před ukončením importního módu je třeba vytvořit zálohu databáze.**
193 * **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)
194 * 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:
195 ** Kategorie operací
196 ** Pravidla registrací
197 ** Prohledávané oblasti
198 ** Definice webů - nastavit také výp. kategorii **Nezobrazovat na WWW** ((itemBorrowCategoryId IS NULL OR itemBorrowCategoryId <> 3)) - ID se liší podle převodu
199 * Na poslední záložce **Naplánované úlohy** spustit postupně od shora jednotlivé operace
200 ** u malé knihovny nečekat na dokončení a lze pustit od shora najednou
201 ** 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.
202
203 == Závěrečné důležité operace ==
204
205 * **Restart Tomcatu pomocí tools** (vyčistí se paměť po importu) !!!(((
206
207 )))
208 * **Provést nastavení podle checklist!!!!**
209 * **Přečíst 2.1 Tipy a Triky na začátku stránky!**
210
211 = Regulární výrazy pro opravy dat =
212
213 Všechny nové regulární výrazy je třeba nejprve otestovat vývojářem - **ReplaceHelperTest**.
214
215 |(((
216 == Autority ==
217
218 |=Popis problému|=Regulární výraz|=Vstup|=Výstup|=(% colspan="1" %)Poznámka
Jan Šimeček 2.1 219 | Pole 100 obsahuje podpole 4.|
Jan Šimeček 1.1 220
221 {{{100\\ [\\ 0-9]{2}\\ \\$4.*}}}|
222
Jan Šimeček 2.1 223 {{{100 1  $4070}}}| |(% colspan="1" %)Celé pole se zahodí.
Jan Šimeček 1.1 224
Jan Šimeček 2.1 225 | Obsahuje pole 1??|
226
Jan Šimeček 1.1 227 {{{(1\?\?\ )(.*,.*)§100 $2}}}
228
229 {{{(1\?\?\ )(.*)§110 $2}}}|
230
Jan Šimeček 2.1 231 {{{1??  $aAudoly, Sylvie}}}|
Jan Šimeček 1.1 232
Jan Šimeček 2.1 233 {{{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)
Jan Šimeček 1.1 234
Jan Šimeček 2.1 235 |(% colspan="1" %)Pole 1XXa je prázdné|(% colspan="1" %)
Jan Šimeček 1.1 236
Jan Šimeček 2.1 237 {{{^1??.*\\$a$}}}|
Jan Šimeček 1.1 238
Jan Šimeček 2.1 239 {{{199  $a}}}|(% colspan="1" %) |Odstraní se celé opakování pole
Jan Šimeček 1.1 240
Jan Šimeček 2.1 241 |(% colspan="1" %)Obsahuje pole 100 a 110|(% colspan="1" %)
Jan Šimeček 1.1 242
Jan Šimeček 2.1 243 {{{^110.*}}}|
Jan Šimeček 1.1 244
Jan Šimeček 2.1 245 {{{100 1 $aRoni, Luigi 110 2 $aRoni, Luigii}}}|
246
247 {{{100 1 $aRoni, Luigi}}}|(% colspan="1" %)Odstraní opakování pole 110
248
Jan Šimeček 1.1 249 == Díla ==
250
251 |=Popis problému|=Regulární výraz|=Vstup|=Výstup|=(% colspan="1" %)Poznámka
Jan Šimeček 2.1 252 |Odkazy na soubory v NAWEB obsahují před adresářem neplatné znaky.|
Jan Šimeček 1.1 253
Jan Šimeček 2.1 254 {{{(X00[\ ]{4}.*\$[uo]).*(NAWEB.*)(\$.*)§$1$2$3 (X00[\ ]{4}.*\$[uo]).*(NAWEB.*)§$1$2}}}|
Jan Šimeček 1.1 255
Jan Šimeček 2.1 256 {{{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}}}|
Jan Šimeček 1.1 257
Jan Šimeček 2.1 258 {{{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.
Jan Šimeček 1.1 259
Jan Šimeček 2.1 260 |(% colspan="1" %)X00 odakzuje na adresář, který neexistuje z důvodu velikosti písmen na linuxu (velikost písmen se musí shodovat).|(% colspan="1" %)
Jan Šimeček 1.1 261
Jan Šimeček 2.1 262 {{{(X00[\ ]{4}\$[ou]NAWEB[\\/])OBSAHY([\\/].*)§$1Obsahy$2}}}|
Jan Šimeček 1.1 263
Jan Šimeček 2.1 264 {{{X00 $oNAWEB/OBSAHY/NC3404.pdf}}}|
Jan Šimeček 1.1 265
Jan Šimeček 2.1 266 {{{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.
Jan Šimeček 1.1 267
Jan Šimeček 2.1 268 |(% colspan="1" %)Obsahuje pole ???.|(% colspan="1" %)
Jan Šimeček 1.1 269
Jan Šimeček 2.1 270 {{{^\?\?\?.*}}}|
Jan Šimeček 1.1 271
Jan Šimeček 2.1 272 {{{???  $aCzech Republic$eautomapa}}}|(% colspan="1" %) |Odstraní otazníkové pole.
Jan Šimeček 1.1 273
Jan Šimeček 2.1 274 |(% colspan="1" %)1XX4 nebo 7XX4 obsahuje neexistující kód role|(% colspan="1" %)
275
276 {{{(^[710]{3}.*)(\$4sut)(.*)§$1$3}}}|
277
278 {{{100 1  $A1000239919$aLiker, Jeffrey K.$7xx0031426$4sut}}}|
279
Jan Šimeček 1.1 280 {{{100 1  $A1000239919$aLiker, Jeffrey K.$7xx0031426}}}|(% colspan="1" %)kód role z autority Neznámý kód role odstraní.
281
282
283 )))
284
Jan Šimeček 12.1 285 ~{~{/html}}~{~{/html}}