V minulé lekci minikurzu jsme se zabývali elektronickými
konferencemi a v této souvislosti i specializovanými mailservery
typu listserver. Řekli jsme si, že listservery jsou různých typů
a že pravděpodobně nejznámější a nejdokonalejší program tohoto
druhu je Thomasův revidovaný listserver pro sítě Bitnet a Earn.
Dnes si tohoto listserveru všimneme podrobněji.
Předně je třeba upozornit, že v naší doméně CZ máme dva earnovské uzly s Thomasovými revidovanými listservery. Je to
Oba jsou současně branami mezi sítěmi EARN a Internet, tedy současně součástmi obou sítí. Mají tedy i svoje internetovské adresy a jména. Pražský uzel má jméno EARN.CVUT.CZ, brněnský VM.ICS.MUNI.CZ.
Z Internetu lze tyto listservery adresovat dvojím způsobem:
Současný stav je celkem přes 280 bitnetovských a earnovských listserverů, dosažitelných z Internetu pouze e-mailem. Použijeme-li v jejich adrese explicitní bránu, např.
EARN.CVUT.CZ
lze listserver na bitnetovsko-earnovském uzlu HOST adresovat např.
listserv%HOST.bitnet@EARN.CVUT.CZ
V takovém případě e-mail putuje Internetem k bráně EARN.CVUT.CZ a tam je poslán bitnetovsko-earnovskou infrastrukturou na požadovaný listserver.
Pro usnadnění komunikace je definována adresa
listserv@LISTSERV.bitnet
kam lze posílat příkazy pro listserver, jehož umístění neznáme. Tyto příkazy jsou předávány na švédský uzel SEARN s internetovským jménem
SEARN.SUNET.SE
kde pracuje listserver, který je předává konkrétním listserverům, do jejichž působnosti tyto příkazy patří. Připomeňme, že na tomto švédském uzlu působí autor listserveru, Eric Thomas.
Představme si, že jsme informováni o existenci bitnetovsko-earnovské e-konference STR-SKOL, ale nevíme přesně kde je zřízena. Pošleme tedy na adresu
listserv@LISTSERV.bitnet
např. příkaz REView STR-SKOL Short, jímž požadujeme výpis hlavičky e-konference STR-SKOL. Náš příkaz bude předán k vyřízení listserveru na CSEARN, kde uvedená konference byla zřízena, a ten nám její hlavičku zašle (viz obr. 1).
Komunikace bude doplněna ještě zprávou adresovaného listserveru, v níž nám sdělí přehled výpočetních zdrojů, které spotřeboval při vyřízování našeho požadavku (viz obr. 2).
Bitnetovsko-earnovský listserver plní tyto základní funkce:
Nejdůležitější administrativní funkce a funkce fileserveru byly shrnuty v minulé lekci minikurzu. Dodejme, že na rozdíl od ostatních typů listserverů jsou tyto funkce rozsáhlejší. Zvídavého čtenáře odkazujeme na informační funkce, především na příkaz HELP poskytující přehled nejužívanějších příkazů (viz obr. 3) a na příkaz Info dávající přehled příruček a manuálů, které jsou k dispozici (viz obr. 4).
Chceme-li, aby nám listserver zaslal např. soubor REFcard (velká písmena znázorňují největší možné zkrácení identifikace souboru), stačí poslat mu příkaz
Info REF
nebo
get LISTSERV REFCARD
Jedním z nejsilnějších rysů Thomasova revidovaného listserveru jsou jeho databázové funkce. Nejběžnějšími databázemi jsou databáze typu NOTEBOOK, používané především jako archivy e-konferencí.
Prvky databáze jsou dokumenty s atributy, které lze charakterizovat vhodně definovanými klíčovými slovy. Tato klíčová slova mohou být využita při vyhledávání dokumentů nebo mohou sloužit k zobrazování dat, která jsou s nimi spjata. Některá klíčová slova jsou společná pro všechny typy databází nebo mohou být pro daný typ databáze individuální.
Mezi společná klíčová slova patří:
DATABASE jméno databáze (maximálně osm písmen) DATE datum zařazení dokumentu do databáze TIME čas zařazení dokumentu do databáze #RECS počet řádek dokumentu # číslo dokumentu v databázi
Databáze typu NOTEBOOK má navíc tato individuální klíčová slova:
Subject obsah řádky SUBJECT v hlavičce příspěvku do e-konference SEnder e-mailová adresa odesilatele příspěvku
Dokumenty databáze typu NOTEBOOK se člení na sekce, charakterizované těmito klíčovými slovy:
Header obsah hlavičky příspěvku Body|Text tělo příspěvku All hlavička i tělo příspěvku
Požadavek na vyhledávání v databázi a specifikaci vyhledávacích kriterií předkládáme listserveru v dopise formou úlohy mající tuto strukturu:
// JOB DATABASE SEARCH DD=RULES //RULES DD * příkaz1 příkaz2 ... příkazN /* // EOJ
Použít lze především tyto základní příkazy:
SEARCH specifikace vyhledávacího kriteria INDEX požadavek na zaslání seznamu dokumentů vybraných příkazem SEARCH (pro jeden dokument je vyhrazen jeden řádek) PRINT požadavek na zaslání dokumentů vybraných příkazem SEARCH
Pro ilustraci, aniž bychom popisovali syntaxi uvedených základních příkazů, probereme několik jednoduchých příkladů.
Příklad 1
Vypišme databázi všech bitnetovsko-earnovských listserverů "peers", která je k dispozici např. na uzlu CSEARN.
Upozorněme, že všechny databáze administrované daným listserverem lze zjistit příkazem
DataBase LIST
Na adresu listserv@csearn.bitnet pošleme pak dopis s tímto obsahem:
// JOB DATABASE SEARCH DD=RULES //RULES DD * SEARCH * IN peers INDEX /* // EOJ
V příkaze SEARCH definujeme prázdné vyhledávací kriterium (znak hvězdička), které vede k výběru všech dokumentů v databázi specifikované po klíčovém slově IN (peers). Příkazem INDEX požadujeme seznam všech vybraných prvků databáze. Listserver nám odpoví výstupem uvedeným na obr. 5.
Poznamenejme, že u uzlu CSBRMU11 není opravena stará doména CS na CZ.
Příklad 2
V prvé fázi se pokusíme vybrat příspěvky e-konference "str-skol", které v hlavičče nebo těle mají text 'dny otevrenych dverí'. Uzavření textu do apostrofů znamená, že velikost písmen není významná. Pokud tyto příspěvky existují, budeme požadovat výpis jejich sekcí "all" (implicitní parametr příkazu PRINT). Na adresu listserveru pošleme takovýto dopis:
// JOB DATABASE SEARCH DD=RULES //RULES DD * SEARCH 'dny otevrenych dveri' IN str-skol INDEX PRINT /* // EOJ
Odpověď listserveru je uvedena na obr. 6.
Příklad 3
Prozkoumejme příspěvky v letech 1993, 1994 a 1995 do e-konference "jdc-l" (Jara da Cimrman) a vypíšme si pro nejposlednější příspěvky obsah atributu daným klíčovým slovem Subject. Budeme postupovat ve dvou fázích. Nejprve zašleme listserveru dopis o obsahu:
// JOB DATABASE SEARCH DD=RULES //RULES DD * search * in jdc-l from 93 to 93 search * in jdc-l from 94 to 94 search * in jdc-l from 95 to 95 /* // EOJ
Z odpovědi zjistíme, že příspěvky začaly chodit do konference až teprve v roce 1995, a že jich je v současné době pouze 92. Budeme požadovat výpis atributů Subject příspěvků od pořadov0ho čísla 70.
Zpřesníme tedy v další fázi náš požadavek takto:
// JOB DATABASE SEARCH DD=RULES //RULES DD * search * in jdc-l from 95 to 95 index print sender of 70- /* // EOJ
Odpověď listserveru je uvedena v obr. 7.
Důležitým problémem v problematice e-konferencí je vyhledávání e-konferencí, které splňují specifikovaná tematická zaměření. Základním nástrojem pro bitnetovsko-earnovské konference je příkaz
List Global pattern
Na tento příkaz odpoví jakýkoliv Thomasův revidovaný listserver seznamem všech centrálně evidovaných bitnetovsko-earnovských konferencí, které v sekci "all" obsahují řetězec "pattern". Tak např. při největším možném zkrácení příkaz
L G czech
vede k seznamu všech konferencí z databáze "lists" na uzlu NDSUVM1, které mají v hlavičče nebo těle záznamu řetězec "czech".
Listserv na tomto uzlu, tj.
listserv@NDSUVM1.bitnet
nebo též
listserv@vm1.nodak.edu
administruje vedle batabáze "lists", databázi "intgroup", což je stará databáze internetovských e-konferencí, a posléze databázi "new-list" e-konference
new-list@NDSUVM1.bitnet
která je zaměřena na ohlašování nových e-konferencí, a to jak v Internetu, tak i v sítích Bitnet a Earn.
Prohledáním všech třech uvedených databází lze dostat relativně uspokojivou odpověď. Tak např. hledáme-li konference obsahující v sekci "all" dokumentu řetězec "czech", mužeme formulovat pro listserv@NDSUVM1.bitnet tento úkol:
// JOB DATABASE SEARCH DD=RULES //RULES DD * SEARCH 'czech' IN lists SEARCH 'czech' IN intgroup SEARCH 'czech' IN new-list /* // EOJ
Vladimír Vrabec
výukové a poradenské sdružení OMICRON
e-mail: vrabec@cs.felk.cvut.cz
www-stránka: http://omicron.felk.cvut.cz/~vrabec
Příští lekci budeme věnovat souborům typu FAQ (Frequently Asked Questions).