Information for libraries

  • na webu

Nacházíte se zde: Úvod Pro přispívající knihovny Jak přispívat do SK ČR Dodávání dat Rady pro knihovny se systémem Aleph

Rady pro knihovny se systémem Aleph

Jak zajistit automatizované (týdenní) exporty

Upozornění:

  • Návod se týká posílání NOVÝCH záznamů ve standardní kvalitě. Lze ho použít i pro pravidelné posílání oprav/odpisů nebo retrokonverze, za předpokladu, že i přijímání těchto dávek je domluveno se správcem SK - pak ale musejí mít tyto další soubory jiná jména podle požadované konvence.
  • Jde jen o doporučení, jak poskládat odesílací skript, spolu s různými tipy. Příklady příkazů jsou v c-shellu a mají sloužit jen k inspiraci, je použito zástupných jmen báze, souborů, mailových adres ap. Nelze použít, "jak leží a běží"! Navíc i procedury Alephu zde uváděné jako příklad nemusejí být stejné ve verzi, kterou knihovna používá (ukázky jsou z verze 16)
  • Než začnete posílat automatizované dávky, kontaktujte správce SK.

    Odesílání záznamů do SKC (=skript,který lze umístit do démonu nebo cronu, ale samozřejmě i spouštět ručně) zahrnuje následující procedury:

    • výběr záznamů
    • export a úprava záznamů
    • odeslání exportovaného souboru na ftp
    • odeslání průvodních e-mailů
    • dle potřeby úklid na disku a přemístění odeslaných souborů "do archívu"
    • případně změna "příznaku" v odeslaných záznamech

    Označování záznamů pro export

    Záznamy pro export pro SKC lze v zásadě označovat dvěma způsoby:

    • ve zvoleném (indexovaném) interním poli uloží katalogizátor příznak pro odeslání do SKC (např. určitý kód pro nové záznamy, jiný pro retro nebo opravy ap.)
      => výběr pak proběhne vyhledáním záznamů s tímto kódem a po odeslání se příznak změní
    • ve zvoleném (indexovaném) interním poli uloží katalogizátor příznak pro odeslání do SKC jako prefix společně s aktuálním datem (různé prefixy pro různé druhy záznamů)
      => výběr pak proběhne vyhledáním záznamů na rozmezí dat (např. od sk20061111 do sk20061117) a po odeslání není třeba údaje měnit

    Druhý případ využijí knihovny, které chtějí mít trvale podchycené datum dokončení záznamu, případně též zodpovědnou osobu (např. v dalším podpoli).
    Takto např. používají knihovny pracující v režimu "cluster" v NKC pole IST (=interní stavové kódy).

    U záznamů, které SK nepřijal, musí katalogizátor při opravě opět příslušným způsobem příznak nebo datum prefixu změnit, aby byly záznamy "sebrány" znovu.

    K nastavení v démonu

    Pokud se volí varianta "od data - do data", pak se v démonu nastavují ke skriptu parametry:

    1.parametr = počáteční datum = %DATE-D006 (aktuální datum -6)
    2.parametr = konečné datum = %DATE (aktuální datum)

    Při jménu skriptu sk_export při spouštění v neděli večer bude řádek v démonu vypadat např. takto:

    00 19:00:00 N sk_export ......../sk_export %DATE-D006 %DATE

    K nastavení jmen souborů a dalších proměnných ve skriptu

    Nastavení vlastního jména souboru (za podtržítkem) - postačí datum v podobě RRMMDD:

    set datum=`date +%y%m%d`

    Pokud se volí varianta "od data - do data", pak je ještě užitečné převést parametry zadávané v démonu (nebo z příkazového řádku, pokud se skript pouští z nějakých důvodů ručně):

    set od=$1
    set do=$2


    (Další možností, jak nastavovat "od data - do data", aniž by se používalo zadávání parametrů v démonu, je po proběhnutí akce uložit datum exportu do pomocného souboru. Pak se parametrem "od" stane toto datum, parametrem "do" bude datum aktuální mínus 1).

    Výběr záznamů

    Ukládací soubor bude v tomto případě sknew.

    • Pro variantu příznaku bez data - předpokládáme, že příznak je NEW a posílá se do rejstříku SK (souborný katalog nebo stavové kódy):

    csh -f $aleph_proc/p_ret_03 "AAA01,sknew,sk=new,0,00," > /dev/null

    • Pro variantu prefixu s datem - předpokládáme, že prefix je nv a posílá se též do rejstříku SK:

    csh -f $aleph_proc/p_ret_03 AAA01,sknew,sk=nv$od-@@062nv$do,0,00, > /dev/null

    (jde o CCL dotaz typu rozšíření, tj. skutečný dotaz je např. sk=nv20061110 ->nv20061117)

    Export záznamů

    Knihovna musí před zasláním do SKC záznamy upravit - zahodit interní a lokální pole (písmenná + 99X), případně zahodit další nestandardní údaje, kvůli kterým by byl záznam odmítnut. Z písmenných polí se ponechává pouze LDR. Do pole 910 se mohou přenést signatury z jednotek.Úpravy je možné dělat buď na exportu pomocí fixu (fix_doc_do_file_08), nebo posléze úpravou vyexportovaných dat (příkazy grep -v, sed, zvláštní jednoúčelové skripty apod.).

    Vyexportovaný soubor bude sknew.dat.

    • Prostý export - příkaz pro export:

    csh -f $aleph_proc/p_print_03 "AAA01,sknew,Eng,ALL##,,,,,,,,sknew.dat,A,,,," > /dev/null

    V tomto případě musejí následovat další příkazy a/nebo skripty k opracování souboru.

    • Export s s expand-programem SKC1 s fixem skc1.fix, který upravuje jen bibliografický záznam:

    příkaz pro export:

    csh -f $aleph_proc/p_print_03 "AAA01,sknew,Eng,ALL##,,,,,,,,sknew.dat,A,,SKC1,," > /dev/null

    řádek v tab_expand:

    SKC1 fix_doc_do_file_08 skc1.fix

    příklad fixu skc1, který zahazuje pole BAS, IST a FMT a přidává pole 910 se siglou knihovny

    1 BAS## DELETE-FIELD
    1 IST## DELETE-FIELD
    1 FMT## DELETE-FIELD
    2 LDR   ADD-FIELD                      910  ,L,$$aAAA000

    Poznámka: Přidat siglu tímto způsobem lze jen tam, kde připadá v úvahu jediná sigla a kde není důvod mít pole 910 v záznamu. Pokud pole 910 přidávají/editují katalogizátoři, je potřeba mít nastavenu kontrolu na neopakovatelnost tohoto pole (check_doc_doc) a kontrolu na jedinou možnou hodnotu v 910a (check_doc_tag_text) - toto nelze uplatnit u souborných katalogů. Pozor, chyby v tomto poli zastavují import!

    • Export s expand-programem SKC2 s fixem skc2.fix, který upravuje bibliografický záznam a zároveň tahá signatury z jednotek:

    příkaz pro export:

    csh -f $aleph_proc/p_print_03 "AAA01,sknew,Eng,ALL##,,,,,,,,sknew.dat,A,,SKC2,," > /dev/null

    řádky v tab_expand:

    SKC2 expand_doc_bib_z30
    SKC2 fix_doc_do_file_08 skc2.fix

    příklad fixu skc2, který přidává signatury do 910b, za podmínky, že nejde o seriál, status 04 a status zpracování XX:
    (převod údajů z jednotek do podpolí pole Z30 viz expand_doc_bib_z30; podmínky lze nastavovat libovolně)

    1 Z30## SE DELETE-FIELD
    1 Z30## DELETE-FIELD-COND Y,$$f04
    1 Z30## DELETE-FIELD-COND Y,$$gXX
    1 Z30## CHANGE-SECOND-IND-MATCH #,0,$$h
    2 910## FIRST CONCATENATE-FIELDS Z30#0,h
    2 Z30#0 FIRST CHANGE-FIELD X30
    2 910## FIRST CONCATENATE-FIELDS Z30#0,h
    2 Z30#0 FIRST CHANGE-FIELD X30
    .... (opakovat dle žádoucího počtu signatur)
    2 910## CHANGE-SUBFIELD h,b
    3 X30## DELETE-FIELD
    3 Z30## DELETE-FIELD
    3 FMT## DELETE-FIELD
    3 BAS## DELETE-FIELD
    3 IST## DELETE-FIELD

     

    Pomocí nástrojů fix_doc_do_file_08 by mělo být možné v souborných katalozích univerzit vygenerovat podle dílčích knihoven i sigly a signatury pro pole 910.

    Umístění záznamů na ftp

    (Tato ukázka je pouze nejprimitivnější způsob, většinou budete znát různé lepší způsoby - jak maskovat heslo ap.)

    ftp ftp.nkp.cz
    login ....
    password .......
    put $alephe_dev/aaa01/scratch/sknew.dat auto/aaa001uc.mal_$datum
    by

    Odeslání průvodních e-mailů

    Je třeba odeslat dva e-maily: zprávu pro souborný katalog a zprávu pro katalogizátory, aby nezapomněli zkontrolovat statistiky a opravit chyby.
    Různé mailery pracují různě, takže zde dvě ukázky:

    • Ukázka zprávy pro katalogizátory podle způsobu, jakým je posílá NK ČR:

    echo 'From: aleph@nkp.cz' > skexp_mail
    echo 'Subject: export pro SKC' >> skexp_mail
    echo 'Probehl export pro SKC. Zitra najdete vysledky importu ve statistice.' >> skexp_mail
    echo >> nkexp_mail
    echo -n 'Pocet zaznamu: ' >> nkexp_mail
    wc -l $alephe_scratch/sknew >> nkexp_mail
    echo >> nkexp_mail
    echo 'Zdravi Aleph' >> nkexp_mail
    /usr/lib/sendmail aaa@nkp.cz bbb@nkp.cz < nkexp_mail

    • Ukázka generování a odesílání obou zpráv v propracovanější variantě podle VKOL:

    echo "aaa000uc.mal_$datum `wc -l $alephe_scratch/sknew`" > skc_ftp
    awk -f sk_export_ftp.awk -vk=1 skc_ftp > skc_ftpmail
    awk -f sk_export_ftp.awk -vk=2 skc_ftp > skc_ftpmailvkol
    Mail -s "Export OLA001 $od-$do" skc@nkp.cz < skc_ftpmail
    Mail -s "Export pro SK CR $od-$do" aaa@vkol.cz bbb@vkol.cz < $skc_ftpmailvkol

    Výňatek ze skriptu sk_export_ftp.awk:

    {
    print "Na server ftp.nkp.cz byly nahrany zaznamy pro import do souborneho katalogu: ";
    }
    print "";
    }
    {
    if ( $2 == 0 ) { print $1 " ... zadny zaznam"; z = "ne"; }
    if ( $2 == 1 ) print $1 " ... " $2 " zaznam";
    if ( $2 == 2 || $2 == 3 || $2 == 4 ) print $1 " ... " $2 " zaznamy";
    if ( $2 > 4 ) print $1 " ... " $2 " zaznamu";
    }
    {
    if ( k == 2 )
    {
    print "";
    print "Provedte prosim kontrolu importu na strance:";
    print " http://aleph.nkp.cz/web/skc/.......";
    print "";
    print "Chyby opravte a pro nove zaslani aktualizujte pole ......";
    print "";
    }
    }
    {
    print "";
    print "Tento email je posilan automaticky exportni procedurou.";
    print "";
    print "V pripade potreby piste na .....";
    print "";
    }

    Změna "příznaku" v odeslaných záznamech

    Pokud je potřeba změnit příznak z "poslat do SK" na "posláno do SK", je třeba příslušné pole vyexportovat, provést náhradu a naimportovat zpět, nebo vyexportovat s úpravou pomocí fixu a poté naimportovat zpět.

    Jak by pak vypadaly řádky ve skriptu (např. pro pole pojmenované SKC):
    export:

    csh -f $aleph_proc/p_print_03 "AAA01,sknew,Eng,SKC##,,,,,,,,sknew.skc,A,,SKC3,," > /dev/null

    (jméno fixu, zde SKC3, jen v případě, že se úprava dělá pomocí fixu; jinak musí následovat náhrada hodnoty v poli jinou cestou)

    import:

    csh -f $aleph_proc/p_manage_18 AAA01,sknew.skc,,,OLD,,,FULL,COR,M,,,,, > /dev/null

15.12.2015
Hledej
Multivyhledávač
Klíčové slovo
Název
Autor
« listopad 2017 »
listopad
PoÚtStČtSoNe
12345
6789101112
13141516171819
20212223242526
27282930
Anketa

Co z níže uvedeného využíváte v záznamech v SK ČR nejčastěji?

zobrazení na mapě
propojení do katalogu knihovny
citace
obálky a obsahy
plné texty
spinner
Total Votes: 57