|operations/mediawiki-config||master||+1 -1||Change Special:ItemDisambiguation from blank special page to disabled page|
|Resolved||PRODUCTION ERROR||Addshore||T195520 Multiple projects reporting Cannot access the database: No working replica DB server|
|Open||None||T96040 Wikibase special pages (tracking)|
|Open||None||T195754 Re-enable Special:ItemDisambiguation|
|Declined||Ladsgroup||T216397 Make Special:ItemDisambiguation use SpecialDisabledPage instead of SpecialBlankPage|
I did it in a wrong way (I didn't read the manual, it's my fault and I'm sorry).
Now doing it in my localhost to test it properly:
The reason is that SpecialWikibasePage::getDescription() overrides the default one and there is no way to fix it.
There are three options here:
- Add $description as an argument (or a setter) to DisabledSpecialPage and then get it deployed, then fix it properly in prod. Not much work, not very nice either (It piles up more arguments to DisabledSpecialPage)
- Rename 'special-itemdisambiguation' i18n message key to 'itemdisambiguation' and all of wikibase special pages. It would be lots of work
- Make a duplicated i18n entry in WikimediaMessages extension for this particular entry and leave it there until we turn this special page back on. (Can we have alias for i18n keys? It would be awesome!). This one is basically no work but the drawback is that all of the title translations need to be repeated in all languages that have it.
- Make ItemDisambiguation a subclass of DisabledSpecialPage (and rename its execute() to something else, e. g. executeIsDisabled(), so that DisabledSpecialPage::execute() is still in effect), with an appropriate `getDescription() method.
- Make a new class DisabledSpecialWikibasePage extending DisabledSpecialPage and overriding getDescription() just like SpecialWikibasePage.