Wikipedysta:Tawbot/Poprawa linków na przekierowania
Z Wikipedii
Tawbot poprawia właśnie wszystkie linki prowadzące na przekierowania.
Dzieje się to w następujący sposób:
- Przygotowana została lista wszystkich celów stron przekierowujących (z xmlowego dumpa bazy danych, sprzed 2 miesięcy)
- Bot idzie po kolei po tej liście i otwiera stronę "Linkujące" każdego z wymienionych artykułów
- Stamtąd wyciąga listę stron linkujących na przekierowania
- Poprawia te strony, zachowując opis, czyli np. "Hitlera" na "Hitlera" (jeśli istnieje przekierowanie Hitler -> Adolf Hitler).
- Dokładnie dokumentuje jaką zmianę wykonał w opisie zmian, np. "poprawione linki na przekierowania: Józef Tkaczuk na Fenomen Józefa Tkaczuka".
- Bot automatycznie poprawia też przekierowania na przekierowania (nie wklejając w tym wypadku opisu linku), również dokumentując swoje zmiany w polu podsumowania
- Żeby nie zostawiać "Masz nową wiadomość", bot omija wszystkie strony dyskusji wikipedysty (na początku nie miał tej funkcji)
Poprawione przekierowania to m.in.:
- inne pisownie nazw własnych — Feliks Mendelssohn na Felix Mendelssohn-Bartholdy
- rozwinięcia skrótów — FIA na Fédération Internationale de l'Automobile
- dodanie brakujących akcentów — Feanor na Fëanor
- poprawiona kapitalizacja — Fazy księżyca na Fazy Księżyca
- alternatywna nazwa tego samego pojęcia, pod którą aktualnie występuje artykuł — Science-fiction na Fantastyka naukowa
- ujawnianie błędnych już istniejących linków — Psie Pole na Bitwa na Psim Polu
- poprawianie "tymczasowych przekierowań", czyli takich które tymczasowo wskazują na bardziej ogólny artykuł niż obecnie Athlon XP na AMD Athlon
Spis treści |
[edytuj] Tymczasowe przekierowania
To, czy link podpisany "Athlon XP" będzie prowadził do AMD Athlon, czy Athlon XP (skąd będzie przekierowany na AMD Athlon) nie ma właściwie znaczenia. Problem zrobi się dopiero wtedy, kiedy ktoś rzeczywiście napisze Athlon XP, a właściwie wtedy, kiedy wyjdzie on z fazy stuba.
Eksperymentalnie zaobserwowano, że "odtymczasowianie" przekierowań odbywa się bardzo powoli, a wiele takich "tymczasowych" przekierowań istnieje po 2 lata i nic nie zapowiada, żeby w najbliższym czasie ktoś miał je poprawiać.
Tawbot jednak pamięta, które strony zmienił (dokładniej - może wejść na stronę z własnym wkładem i dowiedzieć się po opisach edycji). Tak więc można puścić Tawbota, po zakończeniu poprawiania przekierowań, żeby sprawdził jeszcze raz, czy strony, do których linki poprawił, przestały być już przekierowaniami. Jeśli przestały, może on cofnąć swoje zmiany na stronach linkujących do nich. Czyli jeśli coś linkowało na Athlon XP, w wyniku działań Tawbota linkuje na AMD Athlon, a jeżeli ktoś napisał w międzyczasie Athlon XP, Tawbot może przywrócić wszystkie linki na Athlon XP. (Ta funkcja może nie działać idealnie, jeśli w linkującym artykule dokonano już innych zmian.)
[edytuj] Wiele nazw tego samego pojęcia
Czasem jedno pojęcie ma wiele nazw, i niektórym nie podoba się nazwa pod którą aktualnie występuje, np. Druga Rzeczpospolita Polska (1918-1939).
Tawbot może po zakończeniu poprawiania linków na przekierowania przejrzeć jeszcze raz strony, linki do których stworzył, i jeśli znajdzie tam przekierowania poprawić je ponownie. Czyli jeśli pojęcie będzie przeniesione pod inną nazwę, wszystkie linki zostaną automatycznie poprawione.
[edytuj] Błędne przekierowania
Jeśli przekierowanie prowadziło nie tam gdzie powinno, np. Fenix na Feniks zamiast na Fenix (czasopismo), Tawbot wykryje to (kiedy będzie sprawdzał, czy powstały stuby) i przekieruje wszystko jeszcze raz.
[edytuj] Autentyczne tymczasowe przekierowania
Jeśli jakieś przekierowanie jest rzeczywiście tymczasowe (w sensie Wrzesień 2005 -> Bieżące Wydarzenia), albo komuś nie chce się pisać stuba, niech wstawi w przekierowaniu <!-- tymczasowe -->, to Tawbot również cofnie swoje zmiany.
Kod przekierowania powinien wyglądać w ten sposób (wiki ignoruje komentarze htmlowe, koniecznie trzeba wstawić w tej samej linii):
#REDIRECT [[Bieżące Wydarzenia]] <!-- tymczasowe -->
[edytuj] Podsumowanie
Tawbot jest idealny ;-)
Zaproponowane tu działania, jakie wykona po poprawie wszystkich linków na przekierowania, radzą sobie z wszystkimi wskazanymi problemami. Jeśli wynikną jakieś inne, może je poprawiać na bieżąco (Taw jest na ircu, dostępny na maila itd.).
Nie ma więc sensu powstrzymywać wykonywania tych poprawek, chyba że ktoś rzeczywiście ma lepszy pomysł, a nie proponuje po prostu zostawienie całej masy niespójnych i błędnych linków.
[edytuj] Raport - przykład
Przykład jak wzmiankowany wyżej raport miałby wyglądać. To oczywiście tylko niewielki fragmencik dla celów przykładowych. Linki są w formie wiki, ale mogą być w htmlu (co pewnie będzie praktyczniejsze). Raport może mieć linki na strony wiki, na zmiany bota, na cofnije, czy na co kto chce, podzielony na zestawy po tyle zmian ile sobie kto życzy.
- 1 Ceres
- Linki z Ceres (astronomia): 1 stycznia, 1801, Cer, Ceres, Dawn (astronomia), Lista planetoid, Naturalny satelita, Pas planetoid, Planetoida, Przegląd zagadnień z zakresu astronomii i astronautyki, Reguła Titiusa-Bodego
- 1 Ciechanowski Pułk Artylerii im. Marszałka Piłsudskiego
- 1 Morski Dywizjon Artylerii Przeciwlotniczej
- 1 Pułk Lotniczy
- 1 Pułk Strzelców Konnych
- Linki z 1 pułk strzelców konnych: Leonard Zub-Zdanowicz, Wikipedysta:Buli/Brudnopis
- 1 Pułk Strzelców Podhalańskich
- Linki z 1 pułk strzelców podhalańskich: Armia Krajowa, Wojsko Polskie
- 1 Warszawska Dywizja Kawalerii
- 1 Dywizja Grenadierów
- 1 Dywizja Pancerna
- Linki z 1 Dywizja Pancerna: 3 maja, Bitwa pod Falaise, Breda (miasto), Challenger (A30), Dyskusja:Lotnictwo Wojskowe, Dywizje polskie, Gandawa, Henryk Vogelfänger, Operacja Overlord, Samodzielna Brygada Strzelców Podhalańskich, Stanisław Maczek, Zmarli w roku 2005
- 1 Dywizja Piechoty
- Linki z 1 Dywizja Piechoty: 27 kwietnia, Anatol Fejgin, Bohater Związku Radzieckiego, Bolesław Kieniewicz, Dywizje polskie, Giżycko, Henryk Dziewiątka, Kościuszko, Krzyż Walecznych, Ludowe Wojsko Polskie, Medal Za udział w walkach o Berlin, Medal Zasłużonym na Polu Chwały, Medal za Warszawę 1939-1945, Order Czerwonego Sztandaru, Order Krzyża Grunwaldu, Order Kutuzowa, Order Virtuti Militari, Podgaje, Poznańczyk (pociąg pancerny), Stefan Dąb-Biernacki, Zarząd II Sztabu Generalnego Wojska Polskiego
- Linki z 1 Dywizja Piechoty im. Tadeusza Kościuszki: Bitwa pod Lenino, Michał Okurzały, Order Virtuti Militari, Województwo mścisławskie, Zygmunt Berling
- Linki z Armia Berlinga: Jeńcy polscy w niewoli radzieckiej (od 1939 roku), Zbrodnia katyńska
- 1 Dywizja Piechoty Królestwa Polskiego
- 1 Dywizja Piechoty Legionów
- Linki z 1 DPLeg.: Bitwa warszawska 1920
- Linki z 1 Dywizja Piechoty Legionów: 1 bateria motorowa artylerii przeciwlotniczej, 3 Dywizja Piechoty Legionów, Dyskusja Wikipedysty:Halibutt/tabela, Dywizje polskie, Edmund Knoll-Kownacki, Grafika:Dywizja wiki.png, Wacław Stachiewicz, Wincenty Kowalski, Wojsko Polskie, Władysław Bortnowski, Zygmunt Bohusz-Szyszko
- 1 Dywizja Piechoty Powstania Listopadowego
- Linki z 1 Dywizja Piechoty Powstania Listopadowego: Dywizje polskie
- 10 Hygiea
- Linki z Hygiea (astronomia): 100 Hekate, 52 Europa, Lista planetoid, Planetoida
- 10 Dywizja Piechoty
- 100 Hekate
- Linki z Hekate (planetoida): Lista planetoid
- 101 Helena
- Linki z Helena (planetoida): Lista planetoid
- 107 Camilla
- Linki z Camilla (planetoida): Lista planetoid
- 10Base-T
- Linki z 10BASE-T: 10BASE5, BNC, Model DoD, RJ-45, ScTP, Skrętka, Skrętka ekranowana, Skrętka nieekranowana
- 11 Karpacki Pułk Artylerii Lekkiej
- Linki z 11 pułk artylerii lekkiej: Wojsko Polskie
- 11 Parthenope
- Linki z Parthenope (astronomia): Lista planetoid
- 11 Karpacka Dywizja Piechoty
- 110 Rezerwowy Pułk Ułanów
- 111 p.n.e.
- Linki z 111 pne: Półwysep Indochiński
- 12 Victoria
- Linki z Victoria (astronomia): Lista planetoid
- 1221 Amor
- Linki z Amor (planetoida): Lista planetoid, Planetoida
- 127.0.0.1
- 13 Egeria
- Linki z Egeria (astronomia): Lista planetoid
- 13 Elbląski Pułk Przeciwlotniczy
- Linki z 13 pułk przeciwlotniczy: 16. Dywizja Piechoty
- 14 Irene
- Linki z Irene (astronomia): Lista planetoid
- 14 pułk ułanów jazłowieckich
- Linki z 14. Pułk Ułanów Jazłowieckich: Pułk ułanów kawalerii polskiej w 1939, Szarża
- 14. Dywizja Piechoty
- Linki z 14 DP: Bitwa warszawska 1920, Dywizje polskie, Franciszek Alter, Grupa Operacyjna Koło, Wojsko Polskie
- Linki z 14 Dywizja Piechoty: 15 Pułk Ułanów Poznańskich, Armia Poznań, Dywizje polskie, Franciszek Kleeberg, Generał dywizji Tadeusz Kutrzeba, Grupa Operacyjna Koło
- 14382 Woszczyk
- Linki z Woszczyk: Andrzej Woszczyk
- 15 Eunomia
- Linki z Eunomia (astronomia): Lista planetoid
- 15 Pułk Ułanów Poznańskich
- Linki z 15 pułk ułanów poznańskich: Buńczuk, I Liceum Ogólnokształcące im. Karola Marcinkowskiego w Poznaniu, Jednostki polskie odznaczone orderem Virtuti Militari, Wielkopolska Brygada Kawalerii
- Linki z 15. Pułk Ułanów Poznańskich: Pułk ułanów kawalerii polskiej w 1939, Władysław Anders
- Linki z 15. pułk ułanów poznańskich: Powstanie wielkopolskie, Poznań, Wojsko Polskie
- 16 Batalion Dowodzenia
- Linki z 16 batalion dowodzenia: 16. Dywizja Piechoty
- 16 Pomorski Pułk Artylerii
- Linki z 16 pułk artylerii: 16. Dywizja Piechoty
- 16 Psyche
- Linki z Psyche (planetoida): Lista planetoid
- 16 bateria motorowa artylerii przeciwlotniczej
[edytuj] Raporty (tymczasowe)
Tawbot nie skończył jeszcze działalności (w chwili gdy to pisze poprawił ok 60% linków na przekierowania), ale można sobie przejrzeć HTMLowe raporty z dotychczasowych prac, pogrupowane wg. pierwszej litery celu przekierowania:
Najważniejsze żeby wyłapać tam:
- Przekierowania, które wskazują bardzo nie tam gdzie trzeba (czyli nie na "nie na 100% to samo", tylko "całkiem co innego"). Powinno się je przekierować gdzie trzeba lub zamienić na stronę ujednoznaczniającą (czy też zwykłą)
- Linki tymczasowe, na miejsce których rzeczywiście może powstać w realistycznym wymiarze czasu jakiś artykuł (powinno się je zamienić na stuby lub oznaczyć jako <!-- tymczasowe -->)
- Przekierowania o odwrotnym kierunku, czyli gdzie główny artykuł powinien być pod X, a przekierowanie z Y, a nie jak teraz pod Y a przekierowanie z X. Należy takie przekierowania po prostu odwrócić za pomocą funkcji przenieś.
Bot przejrzy jeszcze raz strony które zmienił i we wszystkich powyższych przypadkach zorientuje się, że należy odwrócić lub odpowiednio zmodyfikować swoje zmiany. Więc nie ma się co martwić o konieczność cofania setek edycji.
[edytuj] Korekta
Pełna korekta nastąpi kiedy bot skończy poprawki i wszystkie raporty z jego działalności zostaną dokładnie przejrzane.
Na razie puściłem korektę dla wstępnego raportu dla stron zaczynających się na coś innego niż A-Z. Wyniki można zobaczyć na stronie z wkładem bota.
[edytuj] Koniec poprawek
Tawbot przeleciał po wszystkich przekierowaniach o których wiedział (na podstawie ostatniego zrzutu bazy danych), i wprowadził odpowiednie poprawki.
Nie oznacza to, że nie ma już linków na przekierowania. Tawbot omijał pewne strony, takie jak dyskusje wikipedystów, strony zablokowane (w tym całe MediaWiki), czy strony do których nie mógł się dostać ze względu na obciążenie serwera. Nie poprawiał też linków do przekierowań utworzonych w ciągu mniej więcej ostatniego miesiąca.
Tawbot odwróci (w niewielkim stopniu już to zrobił) linki na przekierowania oznaczone jako tymczasowe, zatem niektóre przekierowania nadal będą istnieć.
W przyszłości, kiedy linków na przekierowania będzie dużo mniej, a przekierowania będą już pooznaczane, będzie można puszczać bota raz na jakiś czas, a dzięki dużo mniejszej skali poprawek, zrobieniu porządku z przekierowaniami, poprawie oprogramowania bota oraz być może aktualniejszym zrzutom bazy będzie go o wiele łatwiej kontrolować.
Tawbot teraz przejrzy swoją strone z wkładem użytkownika i wygeneruje odpowiednie raporty, na podstawie których będzie można łatwo wyłapać wszystkie podejrzane przekierowania.
[edytuj] Pełne raporty
Są już pełne raporty z prac bota, pod adresem http://taw.pl.eu.org/~taw/tawbot-raporty/, podzielone według pierwszej litery.
Jeżeli ktoś chce raportów w innym formacie, proszę się wpisać na moją stronę dyskusji.
Przez następne parę dni, ja i inni ochotnicy będą przeglądać te raporty i wyłapią wszystkie błędne przekierowania. Potem (albo w trakcie, jeśli jakaś literka będzie już gotowa, albo będzie to bardzo pilne), bot zrobi korektę.
Linki na poszczególne raporty:
Krótka instrukcja dla chętnych korektorów:
- jeśli przekierowanie jest złe, wystarczy zmienić je na stub, skasować, przekierować gdzie indziej
- jeśli przekierowanie jest dobre, ale tymczasowe (kiedyś może powstanie artykuł w jego miejsce) to należy w tej samej linijce co kod przekierowania wpisać <!-- tymczasowe -->, albo lepiej - zrobić w jego miejsce stub
- jeśli kierunek przekierowania jest zły (X->Y zamiast Y-X) wystarczy je odwrócić
- zwykle nie ma powodu informowania mnie o tych zmianach, Tawbot jak będzie zajmował się daną literką ściągnie kod wszystkich przekierowań na tą literkę
- ma sens poinformowanie mnie o sprawdzeniu wszystkich przekierowań na daną literkę, wtedy mogę szybciej puścić bota z korekcją
[edytuj] Inteligentna korekta
Tawbot nauczył się revertowania zmian systemem merge3. Koncepcja jest taka:
- Jest rewizja A
- Jest rewizja B
- B = A + złazmiana
- Jest aktualna rewizja C
- C = B + dobrezmiany = A + złazmiana + dobrezmiany
- Chcemy zrobić rewizję D, taką, że wszystkie zmiany od A do C z wyjątkiem B są tam zawarte.
- D = C - złazmiana = A + dobrezmiany
Czyli - sprawdzamy co się zmieniło od A do B, i robimy dokładnie odwrotną edycję do C.
To nie będzie działać poprawnie jeśli ktoś dokonał znacznej reorganizacji materiału lub zmian bezpośrednio interesującego nas fragmentu. Ciężko formalnie zdefiniować to "znacznie". Na razie bot przepuszcza podejrzane zmiany, jeśli będą problemy można podkręcić botowi kryteria na bezpieczniejsze. Edycje tym systemem są oznaczone jako "REVERT". Edycje podejrzane (zwykle bezpodstawnie) są oznaczane "REVERT?".
Jeśli merge nie zadziała, bot zamienia algorytmem siłowym (wszystkie linki w odwrotną stronę) i oznacza edycję jako "CHECK ME". To prawdopodobnie nie jest dobry pomysł, skoro są ładne graficzne narzędzia do ręcznego merdżowania 3 wersji (np. kdiff3 z KDE).
Przykład działania bota: [1]