[i-logo]
[hlavní] [předchozí]

MINIKURZ INTERNETU - LEKCE 4:THOMASŮV REVIDOVANÝ LISTSERVER

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).

1. Základní funkce Thomasova revidovaného listserveru

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


2. Databázové funkce

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.

3. List of lists

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).


[hlavní] [předchozí] [nahoru]