Szerkesztő:Bináris/Tartalomjegyzékbot
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ó
szerkesztésSokszor 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.
A leírás a Szerkesztő:Bináris/Tartalomjegyzékbot/Használati útmutató lapon található, ennek alapján te is elkészítheted a saját konfigurációdat, és ha sikerült, a bot el fogja készíteni a tartalomjegyzéket.
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
szerkesztésMisza13 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
szerkesztésA 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
szerkesztés- 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)
- Ideiglenes bemutatóhely: Szerkesztő:Bináris/kocsmák (laboratórium) (még folyik a fejlesztés)
- Fejléc és lábléc beillesztése
- A végleges helyre került tartalomjegyzékek linkelése a lapok fejlécébe (folyamatosan)
- Nem sorszámozott (pl. magyar sorrendű dátummal elnevezett) archívumok feldolgozása
- Néhány más közösségi lap feldolgozása (régi kocsmafal, porta, üzenőfalak, katjav, szavazás törlésről, műhelyek… + mindezek vitalapjai, ha szükséges)
- Nemzetköziesítés 1. (archívumkeresés és -rendezés)
- Nemzetköziesítés 2. (dátumfelismerés és -rendezés, sablonfelismerés, táblázat kialakítása és rendezhetősége…)
- Kiterjesztés tetszőleges archívumokra, személyes használatra is
- Kiterjesztés a korai wikitörténelemben használt eltérő dátumformátumokra
- Összehasonlítás a meglévő tartalomjegyzékkel, hogy csak változás esetén fusson
- Útmutató végfelhasználóknak magyarul (Az angol változat itt látható.)
- Útmutató botgazdáknak
- Beillesztés a Pywikipedia disztribúcióba
A szakaszok és szakaszcímek feldolgozásával kapcsolatos képességek és hibák
szerkesztésElemzé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 dátumfeldolgozás algoritmusa
szerkesztésA szabványos dátum fogalmát lásd itt: Szerkesztő:Cherybot/config#Rossz timestamppel jelölt szakaszok
- 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?
szerkesztés- 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.
Lásd még
szerkesztésMegjegyzés
szerkesztés- ↑ 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.