Jump to content

Wikibase:Analytics/IABot: Difference between revisions

From wikibase
Document the live IABot deployment-tracking model after the Airtable migration
Explain what Librarybase is and its role in tracking InternetArchiveBot
 
(2 intermediate revisions by 2 users not shown)
Line 1: Line 1:
'''InternetArchiveBot''' has been operated by the Internet Archive since 2015, based on the earlier Cyberpower II. James Hare has been supporting the InternetArchiveBot effort since February 2020.
'''InternetArchiveBot''' has been operated by the Internet Archive since 2015, based on the earlier Cyberpower II. James Hare has been supporting the InternetArchiveBot effort since February 2020.


== Versions ==
'''[https://claude.ai/artifact/CivxuF86x8nUWuHbP6bACi?sk=LODA6onqh18saAQgeT69og Deployment Dashboard]'''


* InternetArchiveBot 1: ?
== How Librarybase tracks InternetArchiveBot ==
* InternetArchiveBot 2: The current version, flexibly supports many different kinds of wikis
'''Librarybase''' is a structured database built on Wikibase, the same software that runs Wikidata. Instead of articles, it holds ''items'': one page per thing it describes, made of short statements such as "host: Wikimedia Foundation" or "deployment status: deployed". Each statement can carry a date range and a source, every change is kept in the page history, and anyone can look an item up or query across all of them.
** Cycles through each wiki in alphabetical order
** Supports all manner of wiki templates (or lack thereof)
* InternetArchiveBot 3: The future
** Event-centric workflow: link found dead, usage throughout wikis searched, replaced


== Tracking deployments ==
For InternetArchiveBot, Librarybase is the bot's register of wikis. Every wiki the bot runs on, has run on, or might run on has an item here: all open public Wikimedia wikis, plus the non-Wikimedia wikis the bot works with. Each item records what the wiki is, how far InternetArchiveBot's setup there has got, and on what authority the bot runs there, with a link to the discussion where that permission was given. This replaced the Airtable spreadsheet that used to hold the same information, and it is meant to stay the reference until InternetArchiveBot can track these facts itself.
Deployment information has moved out of Airtable and into Librarybase. Each wiki InternetArchiveBot runs on, or might run on, has an item here. There are 789 wiki items as of November 2026.


Librarybase stores only what people decide or record: setup stage, approvals and the reasons behind them. Anything another system can answer more accurately is not stored here:
Librarybase keeps only what people decide or record: setup stages, approvals and the reasons behind them. Anything another system can answer more accurately is looked up there, not copied here:
* '''Whether the bot is running''' comes from the InternetArchiveBot management interface. This includes who disabled it and why.
* '''Whether the bot is running''' on a wiki, and who switched it off and why, comes from the InternetArchiveBot management interface (its <code>runpages</code> API).
* '''Whether a wiki allows global bots''' comes from Meta's [[meta:Special:WikiSets/14|opted-out-of-global-bots wikiset]].
* '''Whether a wiki allows global bots''' comes from Meta's [[meta:Special:WikiSets/14|opted-out-of-global-bots wikiset]].
* '''Bot flag, blocks and last edit''' come from each wiki's API.
* '''The bot flag, blocks and last edit''' come from each wiki's own API.
* '''Whether a wiki is closed''' comes from the site matrix.
* '''Whether a wiki is closed''' comes from Wikimedia's site matrix.
 
=== Wiki facts ===
* Database code ([[Property:P34|P34]])
* Title ([[Property:P35|P35]])
* Official website ([[Property:P41|P41]])
* Wikidata match ([[Property:P1|P1]], exact match)
* Host ([[Property:P37|P37]]): the organization the wiki runs on
** [[Item:Q246922|Wikimedia Foundation (Q246922)]]
** [[Item:Q246923|Miraheze (Q246923)]]
** [[Item:Q246924|Weird Gloop (Q246924)]]
** [[Item:Q246925|independently hosted wiki (Q246925)]]
* Wiki family ([[Property:P38|P38]]): Wikimedia wikis only. Non-Wikimedia wikis are identified by host instead.
** [[Item:Q246926|Wikipedia (Q246926)]], [[Item:Q246927|Wiktionary (Q246927)]], [[Item:Q246928|Wikisource (Q246928)]], [[Item:Q246929|Wikinews (Q246929)]], [[Item:Q246930|Wikiquote (Q246930)]], [[Item:Q246931|Wikiversity (Q246931)]], [[Item:Q246932|Wikivoyage (Q246932)]], [[Item:Q246933|Wikibooks (Q246933)]]
** [[Item:Q249001|special Wikimedia wiki (Q249001)]]: Commons, Meta, MediaWiki.org, Incubator, Wikidata, Wikispecies, Outreach, Foundation Governance wiki
 
=== Deployment status ([[Property:P36|P36]]) ===
P36 records the '''setup stage only'''. It says how far InternetArchiveBot's setup on the wiki has progressed, not whether the bot is running right now. A deployed wiki where the bot is stopped stays ''deployed''; the stop is recorded in the management interface. Item type: [[Item:Q246911|bot deployment status (Q246911)]].
* [[Item:Q246914|deployment candidate (Q246914)]]: we intend to deploy, and the approval process has not started
* [[Item:Q246915|seeking bot approval (Q246915)]]
* [[Item:Q246912|pending approval request (Q246912)]]: a request has been filed and not decided
* [[Item:Q246916|stalled approval request (Q246916)]]
* [[Item:Q246919|test operation (Q246919)]]: approved for, or running, a trial
* [[Item:Q246918|stalled test (Q246918)]]
* [[Item:Q246920|deployed (Q246920)]]: setup complete (formerly labelled "ongoing operation")
* [[Item:Q246921|shelved (Q246921)]]: we decided not to deploy
* [[Item:Q249002|wiki closed (Q249002)]]: the wiki is closed; this overrides any other status
* Retired: [[Item:Q246913|defined in management interface (Q246913)]], which the management interface itself shows, and [[Item:Q246917|stopped due to issues (Q246917)]], which is operational state. No item uses either.
* A wiki with no P36 statement has not been evaluated.


=== Approval status ([[Property:P39|P39]]) ===
The [https://claude.ai/artifact/CivxuF86x8nUWuHbP6bACi?sk=LODA6onqh18saAQgeT69og deployment dashboard] combines these sources into one view of where the bot is and isn't operating. The table below lists the properties used on wiki items and the values each can take.
Item type: [[Item:Q246934|bot approval status (Q246934)]]. Each statement is referenced to the approval discussion with [[Property:P40|P40]].
* [[Item:Q246935|local approval for fixing links (Q246935)]]
* [[Item:Q246936|local approval for linking to books (Q246936)]]
* [[Item:Q246937|global approval for fixing links (Q246937)]]: recorded only where the Airtable said the wiki relies on global bots '''and''' the wiki has not opted out of global bots on Meta. Opt-out membership alone is not enough, because some wikis (English, Russian, Swedish and Japanese Wikipedia, for example) are not opted out but still bar global bots from this task by local policy.
* On non-Wikimedia wikis, approval by the site operator is recorded as local approval.


Local approvals carry their history as qualifiers, taken from the wiki's rights log (which is added as a second P40 reference):
=== Properties ===
* Start time ([[Property:P45|P45]]): when the local bot flag was granted
{| class="wikitable"
* End time ([[Property:P46|P46]]): when the flag was removed. "Unknown value" means the approval ended at an unknown date.
! Property !! Name !! Potential values !! Comments
* End cause ([[Property:P47|P47]]). Item type: [[Item:Q249473|approval end cause (Q249473)]].
|-
** [[Item:Q249474|inactivity (Q249474)]]: for example, French Wikipedia (2026-02-28) and Polish Wikipedia (2025-03-15)
| [[Property:P34|P34]] || database code || Text, for example <code>enwiki</code> || The wiki's database name. Every wiki item has one; tools match wikis on it. MD Wiki's code is <code>mdwikior_wiki</code>, but the management interface calls it <code>mdwiki_wiki</code>, which is kept as an alias on the item.
** [[Item:Q249475|revoked by community (Q249475)]]
|-
** [[Item:Q249476|superseded by new approval (Q249476)]]
| [[Property:P35|P35]] || title || Text (English) || The wiki's full name, for example "English Wikipedia".
** [[Item:Q249477|withdrawn by operator (Q249477)]]
|-
** [[Item:Q249478|wiki closed (Q249478)]]: for example, English, Dutch, Russian and Portuguese Wikinews
| [[Property:P41|P41]] || official website || URL || The wiki's address, for example <code>https://en.wikipedia.org</code>.
|-
| [[Property:P1|P1]] || exact match || URL of a Wikidata item || The wiki's Wikidata item, where Wikidata has one. Left off where Wikidata attaches the database code to an organization, not a wiki (some affiliate wikis).
|-
| [[Property:P37|P37]] || host || [[Item:Q246922|Wikimedia Foundation (Q246922)]]<br>[[Item:Q246923|Miraheze (Q246923)]]<br>[[Item:Q246924|Weird Gloop (Q246924)]]<br>[[Item:Q246925|independently hosted wiki (Q246925)]] || The organization the wiki runs on.
|-
| [[Property:P38|P38]] || wiki family || [[Item:Q246926|Wikipedia (Q246926)]]<br>[[Item:Q246927|Wiktionary (Q246927)]]<br>[[Item:Q246928|Wikisource (Q246928)]]<br>[[Item:Q246929|Wikinews (Q246929)]]<br>[[Item:Q246930|Wikiquote (Q246930)]]<br>[[Item:Q246931|Wikiversity (Q246931)]]<br>[[Item:Q246932|Wikivoyage (Q246932)]]<br>[[Item:Q246933|Wikibooks (Q246933)]]<br>[[Item:Q249001|special Wikimedia wiki (Q249001)]] || Wikimedia wikis only; non-Wikimedia wikis are identified by host instead. "Special Wikimedia wiki" covers the site matrix's specials: Commons, Meta, MediaWiki.org, Wikidata, Wikispecies, Incubator, test wikis and affiliate wikis.
|-
| [[Property:P36|P36]] || InternetArchiveBot deployment status || [[Item:Q246914|deployment candidate (Q246914)]]<br>[[Item:Q246915|seeking bot approval (Q246915)]]<br>[[Item:Q246912|pending approval request (Q246912)]]<br>[[Item:Q246916|stalled approval request (Q246916)]]<br>[[Item:Q246919|test operation (Q246919)]]<br>[[Item:Q246918|stalled test (Q246918)]]<br>[[Item:Q246920|deployed (Q246920)]]<br>[[Item:Q246921|shelved (Q246921)]]<br>[[Item:Q249002|wiki closed (Q249002)]] || Records the '''setup stage only''', not whether the bot is running now: a deployed wiki where the bot is switched off stays ''deployed'', and the switch-off is in the management interface. "Wiki closed" overrides every other value. A wiki with no P36 has not been evaluated, which includes every wiki the management interface doesn't list. Item type: [[Item:Q246911|bot deployment status (Q246911)]]. Retired: [[Item:Q246913|defined in management interface (Q246913)]], which the management interface itself shows, and [[Item:Q246917|stopped due to issues (Q246917)]], which is operational state; no item uses either. Q246920 was formerly labelled "ongoing operation".
|-
| [[Property:P39|P39]] || InternetArchiveBot approval status || [[Item:Q246935|local approval for fixing links (Q246935)]]<br>[[Item:Q246936|local approval for linking to books (Q246936)]]<br>[[Item:Q246937|global approval for fixing links (Q246937)]] || Item type: [[Item:Q246934|bot approval status (Q246934)]]. Global approval is recorded only where the Airtable said the wiki relies on global bots '''and''' the wiki hasn't opted out of global bots on Meta ([[meta:Special:WikiSets/14|wikiset 14]]). Opt-out membership alone isn't enough: some wikis (English, Russian, Swedish and Japanese Wikipedia, for example) aren't opted out but still bar global bots from this task by local policy. On non-Wikimedia wikis, approval by the site operator is recorded as local approval.
|-
| [[Property:P40|P40]] || InternetArchiveBot approval request URL || URL || Used as the '''reference''' on P39 statements, not as a main statement: first the approval discussion, then the wiki's rights log (<code>Special:Log?type=rights&page=User:InternetArchiveBot</code>) where the dates below come from it.
|-
| [[Property:P45|P45]] || start time || Date || Qualifier on P39 local approvals: when the local bot flag was granted, from the rights log. Where the flag was granted, removed and granted again, the latest grant.
|-
| [[Property:P46|P46]] || end time || Date, or "unknown value" || Qualifier on P39 local approvals: when the bot flag was removed. "Unknown value" means the approval ended on an unknown date.
|-
| [[Property:P47|P47]] || end cause || [[Item:Q249474|inactivity (Q249474)]]<br>[[Item:Q249475|revoked by community (Q249475)]]<br>[[Item:Q249476|superseded by new approval (Q249476)]]<br>[[Item:Q249477|withdrawn by operator (Q249477)]]<br>[[Item:Q249478|wiki closed (Q249478)]] || Qualifier on P39 local approvals, with P46. Item type: [[Item:Q249473|approval end cause (Q249473)]]. In use: inactivity (French Wikipedia 2026-02-28, Polish Wikipedia 2025-03-15) and wiki closed (English, Dutch, Russian and Portuguese Wikinews).
|}


=== Updates ===
=== Updates ===
Line 68: Line 49:
* Migrated all 789 rows of the Airtable "Wikis" table: updated 319 existing items, created 470 new ones, and added approval history from rights logs. Airtable's "Issues", "Resolved" and "Priority Area" columns were not migrated: issues live on Phabricator, and the priority areas are Phabricator tags. [[User:Harej with Claude (AI)|Harej with Claude (AI)]] 16:25, 3 November 2026 (UTC)
* Migrated all 789 rows of the Airtable "Wikis" table: updated 319 existing items, created 470 new ones, and added approval history from rights logs. Airtable's "Issues", "Resolved" and "Priority Area" columns were not migrated: issues live on Phabricator, and the priority areas are Phabricator tags. [[User:Harej with Claude (AI)|Harej with Claude (AI)]] 16:25, 3 November 2026 (UTC)


== Deployments ==
== Versions ==


* Wikimedia
* InternetArchiveBot 1: ?
** Ongoing
* InternetArchiveBot 2: The current version, flexibly supports many different kinds of wikis
* Miraheze
** Cycles through each wiki in alphabetical order
** On a handful of wikis, broken on a few wikis due to those wikis changing domain names
** Supports all manner of wiki templates (or lack thereof)
** OAuth grants are broken as well
* InternetArchiveBot 3: The future
** '''Idea:''' account creator script that uses a limited-scope bot password to log in as InternetArchiveBot and force local account creation for a specified wiki
** Event-centric workflow: link found dead, usage throughout wikis searched, replaced
* Weird Gloop
** Only four wikis
** The reason we're not deployed there is because they want to be able to have dry runs that show the edits without actually making them

Latest revision as of 17:43, 3 November 2026

InternetArchiveBot has been operated by the Internet Archive since 2015, based on the earlier Cyberpower II. James Hare has been supporting the InternetArchiveBot effort since February 2020.

Deployment Dashboard

How Librarybase tracks InternetArchiveBot

Librarybase is a structured database built on Wikibase, the same software that runs Wikidata. Instead of articles, it holds items: one page per thing it describes, made of short statements such as "host: Wikimedia Foundation" or "deployment status: deployed". Each statement can carry a date range and a source, every change is kept in the page history, and anyone can look an item up or query across all of them.

For InternetArchiveBot, Librarybase is the bot's register of wikis. Every wiki the bot runs on, has run on, or might run on has an item here: all open public Wikimedia wikis, plus the non-Wikimedia wikis the bot works with. Each item records what the wiki is, how far InternetArchiveBot's setup there has got, and on what authority the bot runs there, with a link to the discussion where that permission was given. This replaced the Airtable spreadsheet that used to hold the same information, and it is meant to stay the reference until InternetArchiveBot can track these facts itself.

Librarybase keeps only what people decide or record: setup stages, approvals and the reasons behind them. Anything another system can answer more accurately is looked up there, not copied here:

  • Whether the bot is running on a wiki, and who switched it off and why, comes from the InternetArchiveBot management interface (its runpages API).
  • Whether a wiki allows global bots comes from Meta's opted-out-of-global-bots wikiset.
  • The bot flag, blocks and last edit come from each wiki's own API.
  • Whether a wiki is closed comes from Wikimedia's site matrix.

The deployment dashboard combines these sources into one view of where the bot is and isn't operating. The table below lists the properties used on wiki items and the values each can take.

Properties

Property Name Potential values Comments
P34 database code Text, for example enwiki The wiki's database name. Every wiki item has one; tools match wikis on it. MD Wiki's code is mdwikior_wiki, but the management interface calls it mdwiki_wiki, which is kept as an alias on the item.
P35 title Text (English) The wiki's full name, for example "English Wikipedia".
P41 official website URL The wiki's address, for example https://en.wikipedia.org.
P1 exact match URL of a Wikidata item The wiki's Wikidata item, where Wikidata has one. Left off where Wikidata attaches the database code to an organization, not a wiki (some affiliate wikis).
P37 host Wikimedia Foundation (Q246922)
Miraheze (Q246923)
Weird Gloop (Q246924)
independently hosted wiki (Q246925)
The organization the wiki runs on.
P38 wiki family Wikipedia (Q246926)
Wiktionary (Q246927)
Wikisource (Q246928)
Wikinews (Q246929)
Wikiquote (Q246930)
Wikiversity (Q246931)
Wikivoyage (Q246932)
Wikibooks (Q246933)
special Wikimedia wiki (Q249001)
Wikimedia wikis only; non-Wikimedia wikis are identified by host instead. "Special Wikimedia wiki" covers the site matrix's specials: Commons, Meta, MediaWiki.org, Wikidata, Wikispecies, Incubator, test wikis and affiliate wikis.
P36 InternetArchiveBot deployment status deployment candidate (Q246914)
seeking bot approval (Q246915)
pending approval request (Q246912)
stalled approval request (Q246916)
test operation (Q246919)
stalled test (Q246918)
deployed (Q246920)
shelved (Q246921)
wiki closed (Q249002)
Records the setup stage only, not whether the bot is running now: a deployed wiki where the bot is switched off stays deployed, and the switch-off is in the management interface. "Wiki closed" overrides every other value. A wiki with no P36 has not been evaluated, which includes every wiki the management interface doesn't list. Item type: bot deployment status (Q246911). Retired: defined in management interface (Q246913), which the management interface itself shows, and stopped due to issues (Q246917), which is operational state; no item uses either. Q246920 was formerly labelled "ongoing operation".
P39 InternetArchiveBot approval status local approval for fixing links (Q246935)
local approval for linking to books (Q246936)
global approval for fixing links (Q246937)
Item type: bot approval status (Q246934). Global approval is recorded only where the Airtable said the wiki relies on global bots and the wiki hasn't opted out of global bots on Meta (wikiset 14). Opt-out membership alone isn't enough: some wikis (English, Russian, Swedish and Japanese Wikipedia, for example) aren't opted out but still bar global bots from this task by local policy. On non-Wikimedia wikis, approval by the site operator is recorded as local approval.
P40 InternetArchiveBot approval request URL URL Used as the reference on P39 statements, not as a main statement: first the approval discussion, then the wiki's rights log (Special:Log?type=rights&page=User:InternetArchiveBot) where the dates below come from it.
P45 start time Date Qualifier on P39 local approvals: when the local bot flag was granted, from the rights log. Where the flag was granted, removed and granted again, the latest grant.
P46 end time Date, or "unknown value" Qualifier on P39 local approvals: when the bot flag was removed. "Unknown value" means the approval ended on an unknown date.
P47 end cause inactivity (Q249474)
revoked by community (Q249475)
superseded by new approval (Q249476)
withdrawn by operator (Q249477)
wiki closed (Q249478)
Qualifier on P39 local approvals, with P46. Item type: approval end cause (Q249473). In use: inactivity (French Wikipedia 2026-02-28, Polish Wikipedia 2025-03-15) and wiki closed (English, Dutch, Russian and Portuguese Wikinews).

Updates

  • Tracking Librarybase IDs in Airtable. Next task is to update existing records that already have Librarybase entries, and create new items for those that don't. Harej (talk) 03:35, 23 October 2025 (UTC)
  • Migrated all 789 rows of the Airtable "Wikis" table: updated 319 existing items, created 470 new ones, and added approval history from rights logs. Airtable's "Issues", "Resolved" and "Priority Area" columns were not migrated: issues live on Phabricator, and the priority areas are Phabricator tags. Harej with Claude (AI) 16:25, 3 November 2026 (UTC)

Versions

  • InternetArchiveBot 1: ?
  • InternetArchiveBot 2: The current version, flexibly supports many different kinds of wikis
    • Cycles through each wiki in alphabetical order
    • Supports all manner of wiki templates (or lack thereof)
  • InternetArchiveBot 3: The future
    • Event-centric workflow: link found dead, usage throughout wikis searched, replaced