InternetArchiveBot

From Meta, a Wikimedia project coordination wiki
Jump to navigation Jump to search
This page is a translated version of the page InternetArchiveBot and the translation is 98% complete.

Other languages:
Deutsch • ‎English • ‎Esperanto • ‎dansk • ‎español • ‎français • ‎galego • ‎italiano • ‎polski • ‎português • ‎português do Brasil • ‎suomi • ‎русский • ‎اردو • ‎العربية • ‎مصرى • ‎हिन्दी • ‎ไทย • ‎中文 • ‎日本語 • ‎한국어

Mikä InternetArchiveBot (IABot) on?

InternetArchiveBot on ympäri maailmaa toimivien yhteisöjen pyynnöstä pääasiassa WMF-wikien käyttöön suunniteltu OAuth-botti, jonka on kehittänyt Cyberpower678 PHP-ohjelmointikielellä. InternetArchiveBot on globaali botti, joka käyttää abstraktiin luokkaan sijoitettuja wikikohtaisia funktioita, jotta sitä voi ajaa eri wikeissä erilaisilla säännöillä. Mahdollisimman suuren joustavuuden takaamiseksi se tarjoaa laajan kirjon sekä sivustoriippuvaisia että -riippumattomia konfigurointiarvoja, jotka on mahdollista säätää botin ohjaajan ja/tai wikiyhteisön tarpeita vastaaviksi. Botin tehtävänä on vastata moniin linkkiruton (ks. en:WP:LINKROT) asettamiin haasteisiin. Suurilla sivustoilla sitä voi käyttää monisäikeistetyssä tilassa tietyllä työläismäärällä, jolloin työ saadaan nopeammin valmiiksi. Tällöin kukin työläinen (worker) analysoi oman sivunsa ja raportoi toiminnastaan isäntäprosessille (master) tilastojen kera.

Mitä se tekee?

IABotin käytettävissä on joukko toimintoja, jotka se voi suorittaa sivua analysoidessaan. Koska tavoitteena on linkkiruton mahdollisimman perusteellinen käsittely, botti analysoi linkkejä useilla tavoilla:

  1. Etsimällä URL:eja suoraan sivulta eikä tietokannasta, minkä ansiosta botti voi arvioida linkin käyttötapaa esimerkiksi havaitsemalla, käytetäänkö sitä viitemallineessa tai viitteessä vai onko kyseessä paljas linkki. Näin botti pystyy käsittelemään eri tavoin muotoiltuja lähteitä älykkäästi melkein ihmisen tavoin.
  2. Tarkistamalla arkistoista, onko linkki jo niissä saatavilla, ja jos ei ole, pyytämällä linkin arkistoimista Wayback Machineen.
  3. Etsimällä kuolleen linkin toimivaa sivukopiota Wayback Machinesta tai Wikipediassa jo URL:n tapauksessa käytetyistä arkistoista.
  4. Tarkistamalla, ovatko kuolleiksi merkitsemättömät linkit kuolleita vai eivät. Tämän ominaisuuden kohdalla virheellisten positiivisten osumien osuus on noin 0,1 prosenttia.
  5. Työskentelemällä automaattisesti viitemallineiden sisällä URL:eja muodostavien mallineiden tuottaman lopputuloksen pohjalta. Sama pätee myös viittauspäivämääriä tuottaviin mallineisiin.
  6. Tallentamalla kaiken linkeistä kerätyn informaation tietokantaan, mikä mahdollistaa tallennettua informaatiota hyödyntävät rajapinnat sekä botin opettamisen ja palvelujen kehittämisen.
  7. Muuntamalla olemassaolevat arkistolinkit pitkiin muotoihinsa, mikäli kyseinen ominaisuus on käytössä.
  8. Korjaamalla arkistomallineiden virheelliset käyttötapaukset ja väärin muotoillut URL:t.

Kuinka se toimii?

IABotin funktiot on sijoitettu useisiin eri luokkiin funktioiden toiminnallisuuden perusteella. Viestintään liittyvät funktiot ja wikikohtaiset konfigurointiarvot löytyvät API-luokasta. Tietokantafunktiot on puolestaan sijoitettu DB-luokkaan, erinäiset ydinfunktiot staattiseen Core-luokkaan, kuolleiden linkkien tarkastusfunktiot CheckIfDead-luokkaan, säiemoottori Thread-luokkaan ja globaalit sekä wikikohtaiset jäsenninfunktiot abstraktiin Parser-luokkaan. Viimeksi mainittuja lukuun ottamatta kaikkia funktioita voi ajaa samalla tavalla kaikissa wikeissä, mutta abstraktin luonteensa vuoksi Parser-luokan käyttöönotto edellyttää luokkalaajennoksen tekemistä. Luokkalaajennosten sisältämät funktiot mahdollistavat botin asianmukaisen toiminnan kussakin wikissä siihen liittyvine sääntöineen. Käynnistyessään botti yrittää automaattisesti ladata oikean Parser-luokan laajennoksen ja alustaa sen jäsenninluokakseen.

Konfigurointi

As of v2.0, the on wiki pages for configuring IABot are no longer used. The bot instead is configured with the IABot Management Interface. All global keywords are still used.

Jos ajat InternetArchiveBotia omatoimisesti, tarvittavien säätöjen tekeminen onnistuu wikin konfigurointisivua käyttämällä sekä luomalla samaan hakemistoon uusi tiedosto nimeltä deadlink.config.local.inc.php. Jos InternetArchiveBotia ajaa joku muu ja haluat ainoastaan konfiguroida sen tiettyä wikiä varten, voit luoda botin käyttäjäsivulle alasivun "Dead-links.js" (esim. User:InternetArchiveBot/Dead-links.js) ja käyttää sitä tarvittavien säätöjen tekemiseen. Konfiguroitavat arvot on selitetty alla:

  • link_scan – määrittää mitä sivun analysoinnin yhteydessä etsitään. Aseta arvoksi 0 artikkelin kaikkien ulkoisten linkkien tutkimiseksi. Aseta arvoksi 1 pelkästään ref-tagien sisällä olevien URL:ien tutkimiseksi.
  • page_scan – määrittää sivut, jotka bottiajon aikana käydään läpi. Aseta arvoksi 0 koko artikkeliavaruuden tutkimiseksi. Aseta arvoksi 1 ainoastaan niiden sivujen tutkimiseksi, joilla on kuolleiksi merkittyjä linkkejä.
  • dead_only – määrittää URL:t, joita botti saa koskettaa ja/tai muuttaa. Aseta arvoksi 0, jos botti saa muokata kaikkia linkkejä. Aseta arvoksi 1, jos botti saa muokata vain kuolleiksi merkittyjä linkkejä. Aseta arvoksi 2, jos botti saa muokata sekä kaikkia kuolleiksi merkittyjä että sellaisiksi merkitsemättömiä kuolleita linkkejä.
  • tag_override – käskee bottia ohittamaan omat arvionsa URL:ien luonteesta. Jos ihminen on merkinnyt URL:n kuolleeksi, mutta botti arvioi sen olevan elossa, tämän kohdan asettaminen arvoon 1 saa aikaan sen, että ihmisen tekemä merkintä menee botin arvion edelle. Jos edellä mainitun kaltainen toiminnallisuus halutaan pois käytöstä, aseta arvoksi 0.
  • archive_by_accessdate – tämän kohdan asettaminen arvoon 1 käskee bottia tarjoamaan linkeistä sellaisia arkistoversioita, jotka ovat mahdollisimman lähellä URL:ien alkuperäisiä viittauspäivämääriä. Jos arvoksi asetetaan 0, botti yksinkertaisesti etsii linkin uusimman toimivan arkistoversion. Poikkeuksena edellä mainittuun ovat sellaiset arkistolinkit, jotka on jo löydetty ja tallennettu tietokantaan aiemmin tutkittuja linkkejä varten.
  • touch_archive – määrittää, onko botilla lupa koskea sellaiseen URL:iin, johon on jo entuudestaan liitetty sivun arkistokopio. Jos tämän kohdan arvoksi asetaan 1, botti saa koskea linkkiin, kun taas arvolla 0 ominaisuus kytkeytyy pois päältä. Toimimattomien arkistojen tai havaittavalla tavalla virheellisesti muotoiltujen arkisto-URL:ien tapauksessa botti jättää tämän asetuksen huomioimatta ja koskee kyseisiin linkkeihin.
  • notify_on_talk – ohjeistaa bottia jättämään keskustelusivulle ilmoituksen sivulle tehdyistä muutoksista. Pääsivun muokkaamisen jälkeen keskustelusivulle jätetään viesti vain, jos uusia arkistolinkkejä lisättiin tai olemassaoleviin arkistolinkkeihin tehtiin muutoksia. Jos pääsivua ei muokata, keskustelusivulle jätetään viesti, mikäli jokin URL tunnistettiin kuolleeksi tai mikäli tiettyjä URL:eja vastaavat arkistokopiot löydettiin. Ominaisuuden saa käyttöön asettamalla tämän kohdan arvoksi 1. Ominaisuuden saa pois käytöstä arvolla 0.
  • notify_error_on_talk – ohjeistaa bottia jättämään keskustelusivuille ongelmallisten lähdelinkkien arkistoinnin puutteesta kertovia viestejä. Ominaisuuden saa käyttöön asettamalla tämän kohdan arvoksi 1.
  • talk_message_header – määrittää otsikon sille osiolle, johon keskustelusivuviesti jätetään, jos asetuksen notify_on_talk arvona on 1.
    Käytettävissä olevista taikasanoista on tietoa osiossa #Yleiset taikasanat.
  • talk_message – keskustelusivulle jätettävän viestin runko, kun asetuksen notify_on_talk arvona on 1.
    Käytettävissä olevista taikasanoista on tietoa osiossa #Yleiset taikasanat.
  • talk_message_header_talk_only – määrittää sen osion otsikon, johon keskustelusivuviesti jätetään, kun botti ei muokkaa varsinaista artikkelia.
    Käytettävissä olevista taikasanoista on tietoa osiossa #Yleiset taikasanat.
  • talk_message_talk_only – keskustelusivulle jätettävän viestin runko, kun botti ei muokkaa varsinaista artikkelia.
    Käytettävissä olevista taikasanoista on tietoa osiossa #Yleiset taikasanat.
  • talk_error_message_header – määrittää sen osion otsikon, johon keskustelusivulle tuleva virheviesti jätetään, kun asetuksen notify_error_on_talk arvona on 1.
  • talk_error_message – keskustelusivulle tulevan virheilmoituksen runko, kun asetuksen notify_error_on_talk arvona on 1.
    Tukee seuraavia taikasanoja:
    1. {problematiclinks}: luetelmapallojen avulla kuvattu luettelo arkistointiprosessin aikana kohdatuista virheistä.
  • deadlink_tags – etsinnän kohteeksi otettava kokoelma kuolleiden linkkien yksilöimiseen käytettyjä merkintöjä. Ohjaukset käsitellään automaattisesti, joten niitä ei välttämättä tarvitse luetella. Muotoile kukin malline samalla tavalla kuin muotoilisit sen artikkelissa mutta älä käytä parametreja.
  • citation_tags – etsinnän kohteeksi otettava kokoelma viitemerkintöjä, jotka tukevat URL:eja. Ohjaukset käsitellään automaattisesti, joten niitä ei välttämättä tarvitse luetella. Muotoile kukin malline samalla tavoin kuin mallinetta artikkeliin lisätessäsi mutta ilman parametreja.
  • archive#_tags – etsinnän kohteeksi otettavien IABotin käyttämiä arkistointipalveluja tukevien yleisten arkistomerkintöjen kokoelma. Ohjaukset käsitellään automaattisesti, joten niitä ei välttämättä tarvitse luetella. Muotoile kukin malline samalla tavalla kuin mallinetta artikkeliin lisätessäsi mutta älä käytä parametreja. Merkin "#" tilalle tulee jokin numero. Yksilöllisten ja toisistaan eroavien arkistomallineiden käsittelyn mahdollistamiseksi ne voidaan sijoittaa eri luokkiin. Toteutus on wikikohtainen ja riippuu siitä, miten botti on suunniteltu käsittelemään erilaisia arkistomallineita kussakin wikissä.
  • talk_only_tags – kokoelma etsittäviä IABot-tageja, jotka viestittävät botille, että ainoastaan keskustelusivulle jätettävät viestit ovat sallittuja. Nämä tagit menevät botin kulloisenkin konfiguraation edelle.
  • no_talk_tags – kokoelma etsittäviä IABot-tageja, jotka viestittävät botille, että se ei saa jättää keskustelusivulle viestejä. Nämä tagit menevät botin kulloisenkin konfiguraation edelle.
  • ignore_tags – kokoelma etsinnän kohteeksi otettavia bottikohtaisia merkintöjä. Nämä merkinnät käskevät bottia ohittamaan lähdelinkin, johon tällainen merkintä on liitetty. Ohjaukset käsitellään automaattisesti, joten niiden luetteleminen ei ole välttämätöntä. Muotoile malline samalla tavoin kuin mallinetta artikkeliin lisätessäsi mutta älä käytä parametreja.
  • verify_dead – kuolleiden linkkien tarkastusalgoritmin aktivointi. Botti tarkastaa kaikki URL:t, joita ei ole merkitty kuolleiksi, ja toimii keräämänsä informaation perusteella. Ominaisuuden saa käyttöön asettamalla tämän kohdan arvoksi 1. Ominaisuuden saa kytkettyä pois päältä asettamalla arvoksi 0.
  • archive_alive – lähetä Wayback Machinesta puuttuvia elossa olevia URL:eja arkistoitavaksi Wayback Machineen. Ominaisuuden saa käyttöön asettamalla tämän kohdan arvoksi 1, mutta se vaatii luvan Wayback Machinen kehittäjiltä.
  • notify_on_talk_only – estää artikkelin muokkaamisen, minkä sijaan botti ainoastaan jättää viestin keskustelusivulle. Tämä asetus yliajaa asetuksen notify_on_talk. Ominaisuuden saa käyttöön asettamalla tämän kohdan arvoksi 1.
  • convert_archives – ohjeistaa bottia muuntamaan kaikki tunnistetut arkistolinkit HTTPS-muotoon jos vain mahdollista sekä pakottaa botin käyttämään arkisto-URL:ien pitkiä muotoja aina, kun se on mahdollista, jolloin niihin sisällytetään sekä dekoodattavissa oleva aikaleima että alkuperäinen URL.
  • convert_to_cites – ohjeistaa bottia muuntamaan nimeämättömien viitteiden (ref-tagien) sisäiset paljaat linkit viitemallineisiin. Ominaisuuden saa kytkettyä pois päältä asettamalla tämän kohdan arvoksi 0.
  • mladdarchive – taikasanan {modifiedlinks} osa, jota käytetään kuvailemaan arkistolinkin lisäämistä URL:n yhteyteen.
    Tukee seuraavia taikasanoja:
    1. {link}: alkuperäinen URL.
    2. {newarchive}: alkuperäisen URL:n uusi arkistolinkki.
  • mlmodifyarchive – taikasanan {modifiedlinks} osa, jota käytetään kuvailemaan alkuperäistä URL:ää vastaavan arkisto-URL:n muokkaamista.
    Tukee seuraavia taikasanoja:
    1. {link}: alkuperäinen URL.
    2. {oldarchive}: alkuperäisen URL:n vanha arkistolinkki.
    3. {newarchive}: alkuperäisen URL:n uusi arkistolinkki.
  • mlfix – taikasanan {modifiedlinks} osa, jota käytetään kuvailemaan URL:n muotoiluun tehtyjä muutoksia ja/tai korjauksia.
    Tukee seuraavia taikasanoja:
    1. {link}: alkuperäinen URL.
  • mltagged – taikasanan {modifiedlinks} osa, jota käytetään kertomaan, että alkuperäinen URL on merkitty kuolleeksi.
    Tukee seuraavia taikasanoja:
    1. {link}: alkuperäinen URL.
  • mltagremoved – taikasanan {modifiedlinks} osa, jota käytetään kertomaan, että alkuperäisen URL:n kuolleeksi julistanut merkintä on otettu pois.
    Tukee seuraavia taikasanoja:
    1. {link}: alkuperäinen URL.
  • mldefault – taikasanan {modifiedlinks} osa, jota käytetään vakiotekstinä sellaisissa tilanteissa, joissa taikasanan {modifiedlinks} generoiminen aiheuttaa sisäisen virheen.
    Tukee seuraavia taikasanoja:
    1. {link}: alkuperäinen URL.
  • mladdarchivetalkonly – taikasanan {modifiedlinks} osa, jonka avulla kuvaillaan tietyn URL:n tapauksessa suositeltua arkistolisäystä. Tätä käytetään tilanteissa, joissa varsinaiseen artikkeliin ei tehty muutoksia.
    Tukee seuraavia taikasanoja:
    1. {link}: alkuperäinen URL.
    2. {newarchive}: alkuperäisen URL:n uusi arkistolinkki.
  • mltaggedtalkonly – taikasanan {modifiedlinks} osa, jonka avulla kerrotaan, että alkuperäinen URL todettiin kuolleeksi ja tulisi sellaiseksi merkitä. Tätä käytetään tilanteissa, joissa varsinaiseen artikkeliin ei tehty muutoksia.
    Tukee seuraavia taikasanoja:
    1. {link}: alkuperäinen URL.
  • mltagremovedtalkonly – taikasanan {modifiedlinks} osa, jonka avulla kerrotaan, että alkuperäinen URL on merkitty kuolleeksi mutta havaittu eläväksi, ja suositellaan merkinnän poistamista. Tätä käytetään tilanteissa, joissa varsinaiseen artikkeliin ei tehty muutoksia.
    Tukee seuraavia taikasanoja:
    1. {link}: alkuperäinen URL.
  • plerror – taikasanan {problematiclinks} osa, jota käytetään kuvaamaan ongelmaa, jonka Wayback Machine kohtasi arkistoinnin aikana.
    Tukee seuraavia taikasanoja:
    1. {problem}: ongelmallinen URL.
    2. {error}: virhe johon kyseisen URL:n tapauksessa törmättiin arkistointiprosessin aikana.
  • maineditsummary – asettaa muokkausyhteenvedon, jota botti käyttää muokatessaan varsinaista artikkelia.
    Osiossa #Yleiset taikasanat on tietoa käytettävissä olevista taikasanoista (kohtia 11, 12 ja 13 ei tueta).
  • errortalkeditsummary – asettaa muokkausyhteenvedon, jota botti käyttää jättäessään virheilmoituksen artikkelin keskustelusivulle.
  • talkeditsummary – asettaa muokkausyhteenvedon, jota botti käyttää jättäessään analyysi-informaatiota sisältävän viestin artikkelin keskustelusivulle.
    Osiossa #Yleiset taikasanat on tietoa käytettävissä olevista taikasanoista.

Yleiset taikasanat

Nämä taikasanat ovat käytettävissä, kun ne on mainittu yllä lueteltujen konfiguraatioasetusten yhteydessä:

  1. {namespacepage}: analysoidun pääartikkelin sivunimi.
  2. {linksmodified}: merkittyjen tai pelastettujen linkkien lukumäärä pääartikkelissa.
  3. {linksrescued}: pelastettujen linkkien lukumäärä pääartikkelissa.
  4. {linksnotrescued}: niiden linkkien lukumäärä, joita ei pystytty pelastamaan pääartikkelissa.
  5. {linkstagged}: niiden linkkien lukumäärä, jotka merkittiin kuolleiksi pääartikkelissa.
  6. {linksarchived}: niiden pääartikkelissa olleiden linkkien lukumäärä, jotka arkistoitiin Wayback Machineen.
  7. {linksanalayzed}: analysoitujen linkkien yhteislukumäärä pääartikkelissa.
  8. {pageid}: analysoidun pääartikkelin sivu-ID.
  9. {title}: analysoidun pääartikkelin nimen URL-enkoodattu rinnakkaismuoto.
  10. {logstatus}: palauttaa arvon ”fixed”, kun botti on asetettu muokkaamaan pääartikkelia. Palauttaa arvon ”posted”, kun botti on asetettu pelkästään jättämään viesti keskustelusivulle.
  11. {revid}: pääartikkeliin tehdyn muokkauksen versio-ID. Tyhjä jos pääartikkelia ei muokattu.
  12. {diff}: pääartikkeliin tehdyn muokkauksen versiovertailusivun URL. Tyhjä jos pääartikkelia ei muokattu.
  13. {modifedlinks}: pääartikkelissa suoritetut/suoritettavat toimenpiteet luetelmapallojen avulla kuvaava luettelo, joka käyttää muissa muuttujissa määriteltyjä räätälöityjä tekstejä.

Lähdekoodi

Nykyinen lähdekoodi löytyy sivulta https://github.com/cyberpower678/Cyberbot_II/tree/master/IABot.

Tiekartta

Vaihe 1 (valmis) – käsitellään InternetArchiveBotilla kaikki englanninkielisen Wikipedian artikkelit, jotka ovat luokassa Category:Articles with dead external links, ja korvataan kuolleet linkit mahdollisimman kattavasti Wayback Machine -arkistolinkeillä.

Vaihe 2 (valmis) – käsitellään InternetArchiveBotilla englanninkielisen Wikipedian kaikki sivut kuolleiksi merkitsemättömien kuolleiden linkkien löytämiseksi ja niiden korvaamiseksi arkistolinkeillä.

Vaihe 3 (meneillään) – InternetArchiveBotin käyttöönotto yhteisökonsensuksen turvin muissakin wikeissä kuin englanninkielisessä Wikipediassa.

Hallinta

Monia InternetArchiveBotin ominaisuuksia voi hallita sivun https://tools.wmflabs.org/iabot/ välityksellä. Siellä voi muun muassa raportoida virheellisesti kuolleiksi tulkituista linkeistä ja ohjata bottia korjaamaan jonkin yksittäisen sivun.