Changes for page Postup převodu dat z Clavia
Last modified by Jan Šimeček on 2025/11/03 15:11
From version 40.1
edited by Jan Šimeček
on 2024/06/28 10:53
on 2024/06/28 10:53
Change comment:
There is no comment for this version
To version 46.1
edited by Jan Šimeček
on 2024/06/28 11:03
on 2024/06/28 11:03
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -62,7 +62,7 @@ 62 62 == Příprava CLAVIUS SQL == 63 63 64 64 {{html}} 65 -<button onclick="toggleContent('content4')">NASQL</button> 65 +<button onclick="toggleContent('content4')">O programu NASQL</button> 66 66 <div id="content4" style="display: none;"> 67 67 <hr style="border: none; height: 5px; background-color: black;"> 68 68 <p>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. ... ... @@ -86,7 +86,6 @@ 86 86 87 87 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í: 88 88 89 - 90 90 {{html}} 91 91 <button onclick="toggleContent('content2')">Postup kontroly a příkazy pro vygenerování</button> 92 92 <div id="content2" style="display: none;"> ... ... @@ -179,7 +179,7 @@ 179 179 **{{html}}<span style="color: red;">POZOR!!!!</span>{{/html}}**: kontrola na existenci A podpolí v Tritiu, které zbyli od minulého importu, pokud ano tak smazat před importem!: 180 180 181 181 {{html}} 182 -<button onclick="toggleContent('content5')"> SELECT</button>181 +<button onclick="toggleContent('content5')">Příkaz pro kontrolu</button> 183 183 <div id="content5" style="display: none;"> 184 184 <hr style="border: none; height: 5px; background-color: black;"> 185 185 <p>select count(*) from authority_data where subfield_definition in (</p> ... ... @@ -205,17 +205,17 @@ 205 205 {{/html}} 206 206 207 207 * 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.** 208 -* 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ářů. 209 -* V záložce **Systém** je volba **Import dat** 207 +* Pokud se nejedná o multiknihovní instanci, nastavit v položkách nastavení **{{html}}<span style="color: red;">MULTI_LIBRARY_INSTANCE</span>{{/html}}** na false ( -304 ) - musí se provést před importem vzkazů čtenářů. 208 +* V záložce **Systém** je volba **{{html}}<span style="color: green;">Import dat</span>{{/html}}** 210 210 * Spustí se importní mód - běžní uživatelé se do knihovny v importním módu nemohou přihlásit 211 211 * //Doporučení - naimportovat dump databáze na VM s Tritiem pod uživatelem root (import je řádově rychlejší)// 212 212 * URL spojení databázi Clavius SQL kde jsou výpůjčky : 213 -** Pro MySQL: **jdbc:mysql:~/~/server.lanius.cz:3306///<databaseName>//?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Europe/Prague** 214 -** Pro MSSQL: **jdbc:sqlserver:~/~/192.168.0.24:1433;databaseName=//<databaseName>//**;SendStringParametersAsUnicode=False; 215 -* 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**) 216 -* **Start import mode** 212 +** Pro MySQL: **jdbc:mysql:~/~/server.lanius.cz:3306///{{html}}<span style="color: green;"><databaseName></span>{{/html}}//?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Europe/Prague** 213 +** Pro MSSQL: **jdbc:sqlserver:~/~/192.168.0.24:1433;databaseName=//{{html}}<span style="color: green;"><databaseName></span>{{/html}}//**;SendStringParametersAsUnicode=False; 214 +* Zadáte uživatele a heslo pro připojení do databáze a tlačítkem **{{html}}<span style="color: green;">Připojit</span>{{/html}}** provedete spojení (po úspěchu se tlačítko změní na **Odpojit**) 215 +* **{{html}}<span style="color: green;">Start import mode</span>{{/html}}** 217 217 * Postupně procházíme jednotlivé záložky zleva do prava. Vynecháváme ty které nejsou vždy (akvizice, webový katalog Carmen) 218 -** **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 !!!) 217 +** **{{html}}<span style="color: green;">Záložka Definice</span>{{/html}}** - vybrat postupně po jedné definiční tabulky a dejte **Importuj** vybrané tabulky (v případě opakovaného importu podruhé neprovádět !!!) 219 219 *** **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) 220 220 *** 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: 221 221 *** SELECT distinct defWebId FROM car_cloud; ... ... @@ -222,21 +222,21 @@ 222 222 223 223 * 224 224 ** //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// 225 -** **Záložka Autority (u REKSovky zvážit neimportování!)**: 224 +** **{{html}}<span style="color: green;">Záložka Autority</span>{{/html}} {{html}}<span style="color: red;">(u REKSovky zvážit neimportování!)</span>{{/html}}**: 226 226 *** 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 227 227 ** 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 228 -** **Záložka Díla a Svazky (u REKSovky zvážit ztitulování a neskládání autorit!):** 227 +** **{{html}}<span style="color: green;">Záložka Díla a Svazky </span>{{/html}} {{html}}<span style="color: red;">(u REKSovky zvážit ztitulování a neskládání autorit!)</span>{{/html}}:** 229 229 *** 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) 230 -*** Pozor: zkontrolovat názvy souborů pokud obsahují mezery nebo znaky s diakritikou nedojde k propojení !!! 229 +*** {{html}}<span style="color: red;">Pozor: zkontrolovat názvy souborů pokud obsahují mezery nebo znaky s diakritikou nedojde k propojení !!!</span>{{/html}} 231 231 *** 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) 232 232 *** 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 233 233 *** 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**! 234 -** **Čtenáři:** 235 -*** Vybrat CTENARI nebo CTENARI_DO_VSECH_KNIHOVEN - neimportovat obě! 236 -** **MVS** 233 +** **{{html}}<span style="color: green;">Čtenáři:</span>{{/html}}** 234 +*** Vybrat CTENARI nebo CTENARI_DO_VSECH_KNIHOVEN - {{html}}<span style="color: red;">neimportovat obě!</span>{{/html}} 235 +** **{{html}}<span style="color: green;">MVS</span>{{/html}}** 237 237 *** Lepší Vytvářet nové záznamy, aby nedocházelo k propojení rezervací na MVS. 238 -** **Záložka Výpůjčky**: 239 -*** Vybrat KPUJCKY nebo KPUJCKY_REKS - neimportovat obě! 237 +** **{{html}}<span style="color: green;">Záložka Výpůjčky</span>{{/html}}**: 238 +*** Vybrat KPUJCKY nebo KPUJCKY_REKS - {{html}}<span style="color: red;">neimportovat obě!</span>{{/html}} 240 240 *** postupně po jednotlivých tabulkách importovat a v logu kontrolovat provedení. 241 241 *** **Poplatky **- způsob uhrazení (poplatek.kartou) 242 242 **** 0 - platba v hotovosti ... ... @@ -247,12 +247,12 @@ 247 247 248 248 === Odstranění importovaných dat === 249 249 250 -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]]249 +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>>doc:.Postup-Odstraneni-importovanych-dat.WebHome]] 251 251 252 252 == Nastavení po importu == 253 253 254 -* **Před ukončením importního módu je třeba vytvořit zálohu databáze.** 255 -* **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) 253 +* **{{html}}<span style="color: red;">Před ukončením importního módu je třeba vytvořit zálohu databáze.</span>{{/html}}** 254 +* **{{html}}<span style="color: red;">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)</span>{{/html}}** 256 256 * 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: 257 257 ** Kategorie operací 258 258 ** Pravidla registrací ... ... @@ -267,81 +267,33 @@ 267 267 * **Restart Tomcatu pomocí tools** (vyčistí se paměť po importu) !!!((( 268 268 269 269 ))) 270 -* **Provést nastavení podle checklist!!!!** 271 -* **Přečíst 2.1 Tipy a Triky na začátku stránky!** 269 +* **{{html}}<span style="color: red;">Provést nastavení podle checklist!!!!</span>{{/html}}** 270 +* **{{html}}<span style="color: red;">Přečíst 2.1 Tipy a Triky na začátku stránky!</span>{{/html}}** 272 272 273 273 = Regulární výrazy pro opravy dat = 274 274 275 275 Všechny nové regulární výrazy je třeba nejprve otestovat vývojářem - **ReplaceHelperTest**. 276 276 277 -|((( 278 -== Autority == 279 - 280 -|=Popis problému|=Regulární výraz|=Vstup|=Výstup|=(% colspan="1" %)Poznámka 281 -| Pole 100 obsahuje podpole 4.| 282 - 283 -{{{100\\ [\\ 0-9]{2}\\ \\$4.*}}}| 284 - 285 -{{{100 1 $4070}}}| |(% colspan="1" %)Celé pole se zahodí. 286 - 287 -| Obsahuje pole 1??| 288 - 289 -{{{(1\?\?\ )(.*,.*)§100 $2}}} 290 - 291 -{{{(1\?\?\ )(.*)§110 $2}}}| 292 - 293 -{{{1?? $aAudoly, Sylvie}}}| 294 - 295 -{{{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) 296 - 297 -|(% colspan="1" %)Pole 1XXa je prázdné|(% colspan="1" %) 298 - 299 -{{{^1??.*\\$a$}}}| 300 - 301 -{{{199 $a}}}|(% colspan="1" %) |Odstraní se celé opakování pole 302 - 303 -|(% colspan="1" %)Obsahuje pole 100 a 110|(% colspan="1" %) 304 - 305 -{{{^110.*}}}| 306 - 307 -{{{100 1 $aRoni, Luigi 110 2 $aRoni, Luigii}}}| 308 - 309 -{{{100 1 $aRoni, Luigi}}}|(% colspan="1" %)Odstraní opakování pole 110 310 - 311 -== Díla == 312 - 313 -|=Popis problému|=Regulární výraz|=Vstup|=Výstup|=(% colspan="1" %)Poznámka 314 -|Odkazy na soubory v NAWEB obsahují před adresářem neplatné znaky.| 315 - 316 -{{{(X00[\ ]{4}.*\$[uo]).*(NAWEB.*)(\$.*)§$1$2$3 (X00[\ ]{4}.*\$[uo]).*(NAWEB.*)§$1$2}}}| 317 - 318 -{{{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}}}| 319 - 320 -{{{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. 321 - 322 -|(% colspan="1" %)X00 odakzuje na adresář, který neexistuje z důvodu velikosti písmen na linuxu (velikost písmen se musí shodovat).|(% colspan="1" %) 323 - 324 -{{{(X00[\ ]{4}\$[ou]NAWEB[\\/])OBSAHY([\\/].*)§$1Obsahy$2}}}| 325 - 326 -{{{X00 $oNAWEB/OBSAHY/NC3404.pdf}}}| 327 - 328 -{{{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. 329 - 330 -|(% colspan="1" %)Obsahuje pole ???.|(% colspan="1" %) 331 - 332 -{{{^\?\?\?.*}}}| 333 - 334 -{{{??? $aCzech Republic$eautomapa}}}|(% colspan="1" %) |Odstraní otazníkové pole. 335 - 336 -|(% colspan="1" %)1XX4 nebo 7XX4 obsahuje neexistující kód role|(% colspan="1" %) 337 - 338 -{{{(^[710]{3}.*)(\$4sut)(.*)§$1$3}}}| 339 - 340 -{{{100 1 $A1000239919$aLiker, Jeffrey K.$7xx0031426$4sut}}}| 341 - 342 -{{{100 1 $A1000239919$aLiker, Jeffrey K.$7xx0031426}}}|(% colspan="1" %)kód role z autority Neznámý kód role odstraní. 343 - 344 - 345 -))) 346 - 347 - ~{~{/html}}~{~{/html}} 276 +<button onclick="toggleContent('content5')">Příkaz pro kontrolu</button> 277 +<div id="content5" style="display: none;"> 278 +<hr style="border: none; height: 5px; background-color: black;"> 279 +<p>select count(*) from authority_data where subfield_definition in (</p> 280 +<p>select id from subfield_definition where name_sub='A')</p> 281 +<br> 282 +<p>select count(*) from work_data where subfield_definition in (</p> 283 +<p>select id from subfield_definition where name_sub='A')</p> 284 +<br> 285 +<p>dále:</p> 286 +<p>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 .</p> 287 +<hr style="border: none; height: 5px; background-color: black;"> 288 +</div> 289 +<script> 290 + function toggleContent(contentId) { 291 + var content = document.getElementById(contentId); 292 + if (content.style.display === "none") { 293 + content.style.display = "block"; 294 + } else { 295 + content.style.display = "none"; 296 + } 297 + } 298 +</script>