Wikipedie:Rejstříky (návrh)
Tato stránka obsahuje návrh pravidel a organizace rejstříků, jejichž zavedení je diskutováno na stránce Wikipedie diskuse:Jmenný prostor/Návrh nového uspořádání. Jde o pracovní návrh, takže k němu neváhejte připojit své připomínky v diskusi. Autorem celého konceptu a klíčových návrhů je Wikipedista:Danny B., prvotní návrh zpracoval Petr Adámek 23:42, 19. 8. 2006 (UTC).
Rejstříky
Rejstříky jsou zvláštní stránky, které obsahují seznamy příbuzných článků, seřazených podle nějakého kritéria (názvu článku, přijímení či data narození u osob apod.). Rejstříky jsou umístěny ve jmenném prostoru Rejstřík a mají pevně předepsaný formát, který musí být dodržován. Jednak je tím zajištěna přehlednost a snadná orientace pro čtenáře a zároveň to umožňuje automatickou údržbu rejstříků prostřednictvím robotů. Každá položka rejstříku obsahuje pouze název článku a případně další základní údaje, mezi které může patřit:
- U článků o osobách:
- Jméno a příjmení
- Rok narození a rok úmrtí (i přibližné)
- Období působení v nějakém úřadu
- Role osoby (např. specializace)
- U událostí
- Rok nebo interval roků, kdy událost proběhla
- Upřesnění kontextu nebo typu události (např. vymezení stran u rejstříku bitev)
Formát rejstříku
Každý rejstřík se skládá z hlavní stránky (např. Rejstřík:Čeští spisovatelé) a několika podstránek (např. Rejstřík:Čeští spisovatelé/podle abecedy (příjmení, jméno) nebo Rejstřík:Čeští spisovatelé/podle data narození. V současné době existují dva návrhy na podrobnější organizaci:
- Návrh typu Danny B předpokládá, že na hlavní stránce budou pouze sepsaná kritéria pro zařazení článků do příslušného rejstříku a odkazy na jednotlivé podstránky, které budou obsahovat rejstřík seřazený podle příslušného kritéria. Výhodou je, že je v tom jednotný systém a přímo z názvu stránky je možné zjistit, podle čeho je daný rejstřík seřazen. Nevýhodou je pak nutnost klikat ještě jednou, aby se člověk dostal na konkrétní rejstřík.
- Alternativní návrh Petr Adámek předpokládá, že by již přímo na hlavní stránce byl i rejstřík, seřazený podle nejvýznamnějšího kritéria. Nevýhodou je, že u tohoto hlavního kritéria nebude z názvu patrné, o jaké kritérium se jedná, a jde o jistou nesystematičnost (rejstřík seřazený podle abecedy bude na stránce Rejstřík:Čeští spisovatelé, zatímco ten stejný rejstřík seřazený podle data narození bude na stránce Rejstřík:Čeští spisovatelé/podle data narození). Výhodou je to, že čtenář nemusí zbytečně klikat navíc a hned na hlavní stránce najde rejstřík seřazený podle nejdůležitějšího kritéria. Navíc by u některých rejstříků, které by se řadily pouze podle jednoho kritéria, nebyly zapotřebí vůbec žádné podstránky. Nevýhodou je nutnost parsování zdrojového kódu rejstříku pro synchronizaci.
Který z uvedených návrhů je vhodnější si netroufám posoudit, oba mají své klady i zápory, proto je předkládám k diskusi.
Vlastní rejstřík vždy obsahuje jedno heslo na jednom řádku. Přesný formát řádku bude upřesněn, předpokládá se jistá (byť minimální) flexibilita, aby bylo možné vkládat různé druhy údajů. Minimálně se předpokládá, že např. rejstříky osob řazené podle příjmení budou mít formát
- Němcová, Božena (1820 – 1862)
zatímco rejstříky řazené podle jiného kritéria budou mít klasický formát
- Božena Němcová (1820 – 1862)
Každopádně bude rejstřík obsahovat pouze odkazy na jednotlivé položky, nikoliv však už na doplňkové informace. Tj. nebude možné psát něco ve smyslu
apod. Rejstřík není zamýšlen jako rozcestník, který může obsahovat přidané informace, nýbrž jako strohý výpis odkazů určitého typu v určitém řazení.
Viz příklad /Rejstřík:Čeští spisovatelé.
Poznámky implementačního charakteru
Bude nutné implementovat synchronizačního robota, který zajistí údržbu rejstříků. Proto musí být přesně popsán formát rejstříku, aby s ním byl robot schopen pracovat. V kódu stránky každého rejstříku bude v poznámce uložena pomocná informace pro robota, který podle ní zjistí, jaké parametry jsou v rejstříku použity a podle kterých z nich má rejstřík seřadit. Na základě této pomocné informace by měl být schopen parsovat jednotlivé položky rejstříku, vytahovat z nich název článku i všechny parametry a aktualizovat podle nich ostatní stránky stejného rejstříku s jiným řazením. Robot umožní ke každé položce rejstříku generovat také odkaz na seznam odkazovaných stránek (Speciální:Whatlinkshere).
Robota bude implementovat Petr Adámek, robot bude uvolněn pod Open source licencí a bude dán k dispozici každému zájemci, aby byla zajištěna nezávislost celého systému na konkrétní osobě.
Podporované typy údajů
Robot bude podporovat následující typy údajů, podle nichž bude schopen jednotlivá hesla během údržby správně řadit:
- řetězec - klasický řetězec, řadí se abecedně
- číslo - klasické číslo, řadí podle hodnoty (tj. "2" < "12")
- rok nebo interval několika let - typ je určen pro reprezentaci nějakého období, typicky data narození a úmrtí, období působení v nějakém úřadě, nebo období trvání nějaké události. Řadí se podle počátku nebo konce intervalu, hodnota může mít následující formát: "1980", "~1980", "1980 - 2006", "*1980", "†2005", "~1980 - 2005", "~1980 - ~2005", "1980 - ~2005". (Zvážit, zda to nerozšířit na obecné hodnoty typu datum.)
Pokud je nutné explicitně určit pořadí daného hesla v rejstříku, je možné k dané hodnotě doplnit instrukci pro robota, která bude obsahovat požadovanou hodnotu pro řazení (např. "†1920<!--#KEY:1880-1920-->).
Případné použití šablon
Jako jedna z možností, jak usnadnit práci robota, bylo vkladání řádků pomocí šablon. Hesla by se pak vkládádala následujícím způsobem:
{{Položka rejstříku|2|Božena Němcová|Němcová,|Božena|(1820 – 1862)}}
Hodnota 2 udává, že se jako text odkazu použijí první dva parametry, tj. výsledkem bude Němcová, Božena (1820-1862). Hodnota 0 znamená, že se jako text odkazu použije přímo název článku.
Zásadní nevýhodou je zvýšená zátěž serverů, neboť rejstříky mohou obsahovat velké množství položek. Z tohoto důvodu toto řešení nevypadá příliš perspektivně (ačkoliv by to zjednodušilo robota a snížilo riziko chyby způsobené nedodržením předepsaného formátu).
- verze 20060820001741 Petr Adámek & Danny B.