Az oldal tartalma dióhéjban: A bot létrehozásának célja, hogy segítse a korábbi viták, megbeszélések, magyarázatok kiásását az archívumból. Gyakori panasz a szerkesztők részéről, hogy nehéz az archívumban keresni, ezen akarok segíteni.
Fejlesztési fázis: A bot a magyar dátumokkal helyesen működik, most a dátumfelismerés nemzetköziesítése és a 2004-ig használt hibás magyar dátumok felismerése van soron.
A tartalomjegyzékbot egy Bináris által írt, a Pywikipedia keretrendszerben készült program. Feladata a több archívumra széttagolt lapok összefüggő tartalomjegyzékének elkészítése.
Áttekintés és motiváció
Sokszor olvastam a szerkesztőtársak panaszait, hogy egy korábbi megbeszélést nehéz kiásni az archívumok tömkelegéből. Vannak, akik szerint erre a problémára a Liquid Threads (más néven „folyékony beszélgetések”) a megoldás. Az én célom egy alternatív lehetőség biztosítása a hagyományos wikistruktúra keretein belül. Ennek a leírásnak az angol változatában felsoroltam néhány korábbi próbálkozást más wikikből. Ezek arra utalnak, hogy másokat is foglalkoztatott a kérdés, és megkíséreltek több-kevesebb kézimunkával járó választ találni rá. Reményeim szerint ez a tartalomjegyzékbot átfogó megoldás lesz.
A tartalomjegyzékbot felderíti egy lap archívumait, és ezeket sorba rendezve tartalomjegyzéket készít belőlük. A kész tartalomjegyzék egy rendezhető táblázat, amely az archivált szakaszok számától függően igen nagy lehet.[1] Tartalma: a szakasz sorszáma, kattintható címe, a benne levő harmad-negyed-sokadszintű alcímek, az archívum száma, az első és utolsó hozzászólás becsült dátuma és a hozzászólások becsült száma (a szabványos dátumok és 1-2 sablon figyelembe vételével), valamint a szakasz hossza. További tagolás a rendezhetőség érdekében nincs benne.
A tartalomjegyzékeket a kísérleti fázisban, illetve a toolserverre való várakozás hónapjaiban BinBot készítette (mindig egyenkénti indítással), üzemszerűen pedig Itt BinBot beszél a toolserverről ütemezett feladatként. A felhasználók szemszögéből nincs jelentősége, melyik néven végzi a bot a feldolgozást.
A magyar Wikipédia tartalomjegyzékkel ellátott közösségi lapjait itt tekintheted át, a szerkesztők saját archívumainak tartalomjegyzékeit pedig a Személyes tartalomjegyzékek kategóriában.
Kérlek, hogy a bot működésével kapcsolatos észrevételeidet kizárólag ennek a lapnak a vitalapjára írd, hogy minden egy helyen legyen. Beírás előtt olvasd át a lenti tudnivalókat, ugyanis vannak ismert hibák, amelyeket felesleges jelezni (hacsak nem a megoldás algoritmusát akarod megírni).
A tartalomjegyzékbot és az archiválóbot
Misza13 archiválóbotját szerte a wikibirodalomban igen sokan használják a vitalapok, kocsmafalak és üzenőfalak automatikus archiválására. (Nálunk Cherybot futtatja.) Tulajdonképpen ennek az analógiájára született a tartalomjegyzékbot, és néhány ötletet és megoldást is használ belőle. A kettő szépen együttműködik, de külön is használhatók: akár Cherybot archivál egy lapot, akár kézzel archiválod, a bot elkészíti neked a tartalomjegyzéket. Az egyetlen feltétel, hogy az archívumaid elnevezésében legyen valami szabályosság.
A bot működése
A bot három fő részből áll (alulról építve):
a táblázatgenerátor feldolgozza az allapok megadott listáját, és elkészíti a táblázatot,
az archívumgenerátor megkeresi, sorba rendezi és felsorolja egy lap archívumait,
a lapgenerátor felsorolja a feldolgozandó lapokat, amelyeknek az archívumaival dolgoznunk kell.
A bot csak szabályos algoritmussal képzett allapcímekkel dolgozik! Ahol ilyesmi nem ismerhető fel, azt tessék átszámozni a bot használatához. :-) A Szerkesztő:Bináris/Tartalomjegyzékbot/Archívumképzési minták látható, mennyire rugalmas a bot, és milyen sokféle rendszerű archívumot képes felismerni.
Megoldási szintek
Egy adott lap archívumainak táblázatba rendezése és mentése
Az összes kocsmafal tartalomjegyzékének elkészítése (azonosan képzett archívumnevekkel)
A szakaszok és szakaszcímek feldolgozásával kapcsolatos képességek és hibák
Elemzés
Feladat
Státusz
Megjegyzés
A szakaszok elhatárolása a másodszintű címek alapján
Az első szintű címek és az első másodszintű cím előtti rész figyelmen kívül hagyása
Ez okozta a problémát az archiválóbot működésében a WP:BÜRÜ-n.
A szakaszon belüli harmad- és további szintű alcímek kigyűjtése
A nowiki/pre/source stb. (?) tagek közé tett címek figyelmen kívül hagyása
Formázás
Feladat
Státusz
Megjegyzés
Az alcímek megfelelő szintű behúzása
A szakaszcímek kattinthatóvá tétele
Alapesetben működik, lásd a lenti speciális eseteket is.
Szöveggel ellátott belső linkek helyettesítése a szakaszcímben
[[link|szöveg]]→szöveg (egy címben több is lehet)
Szöveg nélküli belső linkek és az esetleges kettőspont eltávolítása szakaszcímből
[[link]]→link, [[:link]]→link (egy címben több is lehet)
Szöveggel ellátott külső linkek helyettesítése a szakaszcímben
[link szöveg]→szöveg; http, https, ftp protokollal (egy címben több is lehet)
Szöveg nélküli külső linkek eltávolítása szakaszcímből
[link]→link; http, https, ftp protokollal (egy címben több is lehet)
Nincs tesztelve, még nem találtam rá példát!
A dőlt és félkövér formázás eltávolítása a szakaszcím linkjéből, hogy kattintható legyen a cím
Egyszerűsített algoritmus: a bot minden '' karaktersorozatot eltávolít, amely legalább két aposztrófból áll (nem ellenőrzi a paritást). A megjelenő címben megmarad az eredeti formázás.
A szakaszcímbe írt sablonok helyettesítése
Semmi kedvem újraírni a parsert vagy kiböngészni, milyen algoritmussal készít ezekből szakaszcímet a MediaWiki. A felhasználói kreativitás úgyis kimeríthetetlen! Ezek a címek csúnyán és kattinthatatlanul, de olvashatóan fognak megjelenni. Olvasásukhoz kattintsál valamelyik szomszédos címre, és görgess.
A szakaszcímbe írt HTML-tagek, HTML-szerű wikikódok és mindenféle bűvészkedés vagy feketemágia helyettesítése
A bot kigyűjti és sorba rendezi a szakaszban talált szabványos dátumokat. Ebből lesz az első és utolsó hozzászólás dátuma napra pontosan, valamint a hozzászólások becsült száma.
Ha nincs dátum, kérdőjelek kerülnek a helyére.
A hozzászólások számában figyelmen kívül hagyja a dátumozott megoldva/függőben sablonokat.
A hozzászólások számához hozzáadja a dátumozatlan ai/aláíratlan/szerző sablonok számát.
Ha a hozzászólások fenti módon becsült száma nulla, akkor egyet ír. (Feltehetően egy darab aláíratlan hozzászólás volt, nulla hozzászólásos szakasznak nincs értelme.)
A nem szabványos dátumokkal és a teljesen aláíratlan hozzászólásokkal, amelyeken még sablon sincs, nem tudok foglalkozni.
Alternatív dátumformátum felismerése a nagyon régi lapokon (az egységes Kocsmafalon és a Portán vannak 2003 augusztus 20 17:09 (UTC) típusú dátumok (később CET zónával)
Mit tehetsz a tartalomjegyzék használhatóságáért te?
Mindig szabályosan, a ~~~~ jelekkel írd alá a hozzászólásaidat, vagy szükség esetén öt tildével írjál dátumot.
Az aláíratlan hozzászólásokat lásd el a {{ai}}/{{aláíratlan}}(?)/{{szerző}}(?) sablonok valamelyikével oly módon, hogy a második paraméterben megadod a szabványos dátumot is. Ehhez a laptörténetből kimásolt dátumot kell egy szóközzel elválasztva kiegészíteni nyári időszámítás idején a (CEST), zónaidő használata („téli időszámítás”) idején a (CET) karaktersorozattal. Ezzel az archiválóbotot is segíted. (Ha például egy – amúgy helyesen – megválaszolatlan trollkodásban egyáltalán nincs szabványos dátum, akkor örök időkig ott fog díszelegni, mivel Cherybot is ezt keresi a szakaszban, akár rejtett megjegyzés formájában is.)
Példa:{{aláíratlan|Gipsz Jakab|2011. április 3., 13:53 (CEST)}} (Nem substoljuk!)
Használj kifejező, informatív szakaszcímeket! A „Kérdés” vagy a „:-)” használhatósági értéke pontosan nulla.
Mellőzd a sablonok, lábjegyzetek, HTML-kódok és HTML-szerű wikikódok használatát a szakaszcímben. Az ilyesmi a szakasz törzsébe való. (A belső és külső linkeket, dőlt és félkövér betűket tudja kezelni a bot.)
Tartsd együtt az összetartozó megbeszéléseket, a már folyó ügyekben nyitott újabb szakaszokat pedig helyezd át a korábbi szakasz alá harmadszintű címmé (===Alszakasz===) lefokozva.
↑2011 áprilisának elején, a bot beüzemelésekor a legnagyobb archívummal rendelkező egyéb kocsmafal 101 archivált allapot és több mint 3000 szakaszt tartalmazott. Ez 3000 soros táblázatot jelent.