Last modified by Jan Šimeček on 2025/11/03 15:11

From version 39.1
edited by Jan Šimeček
on 2024/06/28 10:52
Change comment: There is no comment for this version
To version 46.1
edited by Jan Šimeček
on 2024/06/28 11:03
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -11,11 +11,13 @@
11 11  {{html}}
12 12  <button onclick="toggleContent('content1')">Tipy a Triky - přečíst</button>
13 13  <div id="content1" style="display: none;">
14 +<hr style="border: none; height: 5px; background-color: black;">
14 14  <p>Revize se nepřevádí, musí být před zahájením převodu do Tritia uzavřena.</p>
15 15  <p>Dispečink Clavia se nepřevádí, pokud data potřebují, tak si je musí před vypnutím Clavia opsat.</p>
16 16  <p>Statistiky LWWW se nepřevádí, knihovna si je musí opsat.</p>
17 17  <p>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.</p>
18 18  <p>Neměnit zkratky v odděleních, nebude fungovat vazba výchozího oddělení čtenáře - měnit až po ostrém startu.</p>
20 +<hr style="border: none; height: 5px; background-color: black;">
19 19  </div>
20 20  <script>
21 21   function toggleContent(contentId) {
... ... @@ -60,11 +60,13 @@
60 60  == Příprava CLAVIUS SQL ==
61 61  
62 62  {{html}}
63 -<button onclick="toggleContent('content4')">NASQL</button>
65 +<button onclick="toggleContent('content4')">O programu NASQL</button>
64 64  <div id="content4" style="display: none;">
67 +<hr style="border: none; height: 5px; background-color: black;">
65 65  <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.
66 66  <p>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 67  <p>Je zapotřebí použít program <b>NASQL.exe</b></p>
71 +<hr style="border: none; height: 5px; background-color: black;">
68 68  </div>
69 69  <script>
70 70   function toggleContent(contentId) {
... ... @@ -82,10 +82,10 @@
82 82  
83 83  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í:
84 84  
85 -
86 86  {{html}}
87 87  <button onclick="toggleContent('content2')">Postup kontroly a příkazy pro vygenerování</button>
88 88  <div id="content2" style="display: none;">
92 +<hr style="border: none; height: 5px; background-color: black;">
89 89  <p><b>Kontrola dat v Claviu, jestli obsahují vygenerovaný správně ckod, kdy 31840 - je prefix nadřízené knihovny:</b></p>
90 90  <br>
91 91  <p>browse for betw(val(pcislo),500000,599999) and !empt(ckod) and ckod<>'31840'</p>
... ... @@ -96,7 +96,7 @@
96 96  <br>
97 97  <p>repl ckod with '31840'+padl(allt(pcislo),8,'0') for betw(val(pcislo),500000,599999) and betw(len(allt(ckod)),0,8)</p>
98 98  <p>repl ckod with '31840'+right(ckod,7) for betw(val(pcislo),500000,599999) and !empt(ckod) and ckod<>'31840'</p>
99 -<br><br>
103 +<hr style="border: none; height: 5px; background-color: black;">
100 100  </div>
101 101  <script>
102 102   function toggleContent(contentId) {
... ... @@ -115,12 +115,13 @@
115 115  {{html}}
116 116  <button onclick="toggleContent('content3')">Postup kontroly a příkazy pro vygenerování</button>
117 117  <div id="content3" style="display: none;">
122 +<hr style="border: none; height: 5px; background-color: black;">
118 118  <p><b>Kontrola:</b></p>
119 119  <p>pohled("SELECT * FROM svazky where ckod <> ' ' AND ckod not like 'prefixImportovaneREKSovky%' AND pidkn != '˙'")</p>
120 120  <p></p>
121 121  <p><b>Oprava:</b></p>
122 122  <p>pohled("UPDATE svazky SET pidkn = '˙' where ckod <> ' ' AND ckod not like 'prefixImportovaneREKSovky%' AND pidkn != '˙'")</p>
123 -<br><br>
128 +<hr style="border: none; height: 5px; background-color: black;">
124 124  </div>
125 125  <script>
126 126   function toggleContent(contentId) {
... ... @@ -173,7 +173,7 @@
173 173  **{{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!:
174 174  
175 175  {{html}}
176 -<button onclick="toggleContent('content5')">SELECT</button>
181 +<button onclick="toggleContent('content5')">Příkaz pro kontrolu</button>
177 177  <div id="content5" style="display: none;">
178 178  <hr style="border: none; height: 5px; background-color: black;">
179 179  <p>select count(*) from authority_data where subfield_definition in (</p>
... ... @@ -199,17 +199,17 @@
199 199  {{/html}}
200 200  
201 201  * 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.**
202 -* 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ářů.
203 -* 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}}**
204 204  * Spustí se importní mód - běžní uživatelé se do knihovny v importním módu nemohou přihlásit
205 205  * //Doporučení - naimportovat dump databáze na VM s Tritiem pod uživatelem root (import je řádově rychlejší)//
206 206  * URL spojení databázi Clavius SQL kde jsou výpůjčky :
207 -** Pro MySQL: **jdbc:mysql:~/~/server.lanius.cz:3306///<databaseName>//?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Europe/Prague**
208 -** Pro MSSQL: **jdbc:sqlserver:~/~/192.168.0.24:1433;databaseName=//<databaseName>//**;SendStringParametersAsUnicode=False;
209 -* 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**)
210 -* **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}}**
211 211  * Postupně procházíme jednotlivé záložky zleva do prava. Vynecháváme ty které nejsou vždy (akvizice, webový katalog Carmen)
212 -** **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 !!!)
213 213  *** **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)
214 214  *** 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:
215 215  *** SELECT distinct defWebId FROM car_cloud;
... ... @@ -216,21 +216,21 @@
216 216  
217 217  *
218 218  ** //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//
219 -** **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}}**:
220 220  *** 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
221 221  ** 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
222 -** **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}}:**
223 223  *** 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)
224 -*** 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}}
225 225  *** 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)
226 226  *** 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
227 227  *** 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**!
228 -** **Čtenáři:**
229 -*** Vybrat CTENARI nebo CTENARI_DO_VSECH_KNIHOVEN - neimportovat obě!
230 -** **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}}**
231 231  *** Lepší Vytvářet nové záznamy, aby nedocházelo k propojení rezervací na MVS.
232 -** **Záložka Výpůjčky**:
233 -*** 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}}
234 234  *** postupně po jednotlivých tabulkách importovat a v logu kontrolovat provedení.
235 235  *** **Poplatky **- způsob uhrazení (poplatek.kartou)
236 236  **** 0 - platba v hotovosti
... ... @@ -241,12 +241,12 @@
241 241  
242 242  === Odstranění importovaných dat ===
243 243  
244 -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]]
245 245  
246 246  == Nastavení po importu ==
247 247  
248 -* **Před ukončením importního módu je třeba vytvořit zálohu databáze.**
249 -* **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}}**
250 250  * 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:
251 251  ** Kategorie operací
252 252  ** Pravidla registrací
... ... @@ -261,81 +261,33 @@
261 261  * **Restart Tomcatu pomocí tools** (vyčistí se paměť po importu) !!!(((
262 262  
263 263  )))
264 -* **Provést nastavení podle checklist!!!!**
265 -* **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}}**
266 266  
267 267  = Regulární výrazy pro opravy dat =
268 268  
269 269  Všechny nové regulární výrazy je třeba nejprve otestovat vývojářem - **ReplaceHelperTest**.
270 270  
271 -|(((
272 -== Autority ==
273 -
274 -|=Popis problému|=Regulární výraz|=Vstup|=Výstup|=(% colspan="1" %)Poznámka
275 -| Pole 100 obsahuje podpole 4.|
276 -
277 -{{{100\\ [\\ 0-9]{2}\\ \\$4.*}}}|
278 -
279 -{{{100 1  $4070}}}| |(% colspan="1" %)Celé pole se zahodí.
280 -
281 -| Obsahuje pole 1??|
282 -
283 -{{{(1\?\?\ )(.*,.*)§100 $2}}}
284 -
285 -{{{(1\?\?\ )(.*)§110 $2}}}|
286 -
287 -{{{1??  $aAudoly, Sylvie}}}|
288 -
289 -{{{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)
290 -
291 -|(% colspan="1" %)Pole 1XXa je prázdné|(% colspan="1" %)
292 -
293 -{{{^1??.*\\$a$}}}|
294 -
295 -{{{199  $a}}}|(% colspan="1" %) |Odstraní se celé opakování pole
296 -
297 -|(% colspan="1" %)Obsahuje pole 100 a 110|(% colspan="1" %)
298 -
299 -{{{^110.*}}}|
300 -
301 -{{{100 1 $aRoni, Luigi 110 2 $aRoni, Luigii}}}|
302 -
303 -{{{100 1 $aRoni, Luigi}}}|(% colspan="1" %)Odstraní opakování pole 110
304 -
305 -== Díla ==
306 -
307 -|=Popis problému|=Regulární výraz|=Vstup|=Výstup|=(% colspan="1" %)Poznámka
308 -|Odkazy na soubory v NAWEB obsahují před adresářem neplatné znaky.|
309 -
310 -{{{(X00[\ ]{4}.*\$[uo]).*(NAWEB.*)(\$.*)§$1$2$3 (X00[\ ]{4}.*\$[uo]).*(NAWEB.*)§$1$2}}}|
311 -
312 -{{{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}}}|
313 -
314 -{{{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.
315 -
316 -|(% colspan="1" %)X00 odakzuje na adresář, který neexistuje z důvodu velikosti písmen na linuxu (velikost písmen se musí shodovat).|(% colspan="1" %)
317 -
318 -{{{(X00[\ ]{4}\$[ou]NAWEB[\\/])OBSAHY([\\/].*)§$1Obsahy$2}}}|
319 -
320 -{{{X00 $oNAWEB/OBSAHY/NC3404.pdf}}}|
321 -
322 -{{{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.
323 -
324 -|(% colspan="1" %)Obsahuje pole ???.|(% colspan="1" %)
325 -
326 -{{{^\?\?\?.*}}}|
327 -
328 -{{{???  $aCzech Republic$eautomapa}}}|(% colspan="1" %) |Odstraní otazníkové pole.
329 -
330 -|(% colspan="1" %)1XX4 nebo 7XX4 obsahuje neexistující kód role|(% colspan="1" %)
331 -
332 -{{{(^[710]{3}.*)(\$4sut)(.*)§$1$3}}}|
333 -
334 -{{{100 1  $A1000239919$aLiker, Jeffrey K.$7xx0031426$4sut}}}|
335 -
336 -{{{100 1  $A1000239919$aLiker, Jeffrey K.$7xx0031426}}}|(% colspan="1" %)kód role z autority Neznámý kód role odstraní.
337 -
338 -
339 -)))
340 -
341 - ~{~{/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>