Page MenuHomePhabricator

Remove RANK_TRUTH from Wikibase Lua
Open, LowPublic

Description

A long time ago, the Wikibase data model apparently knew a fourth rank: “truth”. This was deprecated and removed sometime between 2014 and 2015, but still survives in the mw.wikibase.entity Lua module as one of the available claimRanks. We should probably get rid of it there.

Unfortunately, though, it’s used in several modules (many of them copy+pasted, it seems):

lucaswerkmeister-wmde@mwmaint1002:~$ mwgrep --module RANK_TRUTH
brwikisource        Module:Central-fr-ws
brwikisource        Module:Centralizer
dewikisource        Module:Central-s-de
elwiki              Module:Carte interactive
eswikisource        Module:Central-s-es
frwiki              Module:Carte interactive
frwiki              Module:Central
frwiki              Module:Central-s-fr
frwiki              Module:Centralizer
frwiki              Module:ControlArgs
frwiki              Module:Tests
frwikisource        Module:Tests
frwikisource        Module:Tpt
frwikiversity       Module:Centralizer
huwiki              Module:Central-w-hu
mediawikiwiki       Module:Central
mediawikiwiki       Module:Central-mw-en
test2wiki           Module:ControlArgs
viwiki              Module:Centralizer

(total: 19, shown: 19)

Some of those might be okay if mw.wikibase.entity.claimRanks.RANK_TRUTH turns into nil, but I haven’t checked all of them.

Event Timeline

The list of modules using RANK_TRUTH somehow grew in just 1½ months (due to frwiki gaining «Module:Carte interactive/Bac à sable» and frwikisource gaining «Module:Centralizer»); I’ve edited the pages on mediawikiwiki (diff Central, diff Central-mw-en) and test2wiki (diff ControlArgs) to counter this.

lucaswerkmeister-wmde@mwmaint1002:~$ mwgrep --module RANK_TRUTH
brwikisource        Module:Central-fr-ws
brwikisource        Module:Centralizer
dewikisource        Module:Central-s-de
elwiki              Module:Carte interactive
eswikisource        Module:Central-s-es
frwiki              Module:Carte interactive
frwiki              Module:Carte interactive/Bac à sable
frwiki              Module:Central
frwiki              Module:Central-s-fr
frwiki              Module:Centralizer
frwiki              Module:ControlArgs
frwiki              Module:Tests
frwikisource        Module:Centralizer
frwikisource        Module:Tests
frwikisource        Module:Tpt
frwikiversity       Module:Centralizer
huwiki              Module:Central-w-hu
viwiki              Module:Centralizer

(total: 18, shown: 18)

Next update, frwikinews and ruwiki joined the club.

lucaswerkmeister-wmde@mwmaint1002:~$ mwgrep --module RANK_TRUTH
brwikisource        Module:Central-fr-ws
brwikisource        Module:Centralizer
dewikisource        Module:Central-s-de
elwiki              Module:Carte interactive
eswikisource        Module:Central-s-es
frwiki              Module:Carte interactive
frwiki              Module:Carte interactive/Bac à sable
frwiki              Module:Central
frwiki              Module:Central-s-fr
frwiki              Module:Centralizer
frwiki              Module:ControlArgs
frwiki              Module:Tests
frwikinews          Module:Carte interactive
frwikisource        Module:Centralizer
frwikisource        Module:Tests
frwikisource        Module:Tpt
frwikiversity       Module:Centralizer
huwiki              Module:Central-w-hu
ruwiki              Module:Песочница/Putnik
viwiki              Module:Centralizer

(total: 20, shown: 20)

Adding to the Hackathon board, since I think this might be a good project to work on with some users from the relevant projects there.

Next update, frwikiversity gained a second module referencing the constant.

lucaswerkmeister-wmde@mwmaint1002:~$ mwgrep --module RANK_TRUTH
brwikisource        Module:Central-fr-ws
brwikisource        Module:Centralizer
dewikisource        Module:Central-s-de
elwiki              Module:Carte interactive
eswikisource        Module:Central-s-es
frwiki              Module:Carte interactive
frwiki              Module:Carte interactive/Bac à sable
frwiki              Module:Central
frwiki              Module:Central-s-fr
frwiki              Module:Centralizer
frwiki              Module:ControlArgs
frwiki              Module:Tests
frwikinews          Module:Carte interactive
frwikisource        Module:Multilingual
frwikisource        Module:Tests
frwikisource        Module:Tpt
frwikiversity       Module:Centralizer
frwikiversity       Module:Multilingual
huwiki              Module:Central-w-hu
ruwiki              Module:Песочница/Putnik
viwiki              Module:Centralizer

(total: 21, shown: 21)

Update, brwikisource’s Module:Central-fr-ws was deleted by User:VIGNERON \o/

lucaswerkmeister-wmde@mwmaint1002:~$ mwgrep --module RANK_TRUTH
brwikisource        Module:Centralizer
dewikisource        Module:Central-s-de
elwiki              Module:Carte interactive
eswikisource        Module:Central-s-es
frwiki              Module:Carte interactive
frwiki              Module:Carte interactive/Bac à sable
frwiki              Module:Central
frwiki              Module:Central-s-fr
frwiki              Module:Centralizer
frwiki              Module:ControlArgs
frwiki              Module:Tests
frwikinews          Module:Carte interactive
frwikisource        Module:Multilingual
frwikisource        Module:Tests
frwikisource        Module:Tpt
frwikiversity       Module:Centralizer
frwikiversity       Module:Multilingual
huwiki              Module:Central-w-hu
ruwiki              Module:Песочница/Putnik
viwiki              Module:Centralizer

(total: 20, shown: 20)

Before removing the constant altogether, we can probably do some metatable magic to emit a warning when it’s accessed.