Page MenuHomePhabricator

Provide a list of SpecialPages
Open, LowPublicFeature

Description

Feature summary I'd like to be able to use the api; or perhaps a format parameter to Special:SpecialPages to enumerate a list of all the SpecialPages in the wiki.

Use case(s) At the moment, the query module offers the allpages list, but (-1) is not a valid value for apprefix. Therefore, I'm unable to list SpecialPages. Similarly, the Special:PrefixIndex page does not offer an option to display the 'Special' namespace. Of course, I can get an HTML output at Special:SpecialPages, but I'd really like to get some form of list. Maybe this could be accomplished with a format parameter to Special:SpecialPages like format=json or format=php?

Benefits For wikis that want to control access to Special Pages beyond what is codified in the Special Page itself, it is helpful to have a list of all the available Special Pages

Event Timeline

It is possible to get all aliases for the existing special pages - https://www.mediawiki.org/w/api.php?action=query&meta=siteinfo&siprop=specialpagealiases
If you have a special page and wants know if that exists, you can use the titles= parameter, for example https://www.mediawiki.org/w/api.php?action=query&titles=Special:AllPages|Special:NoPage

But both requests does not allow to know if the current user can view the (restricted) speciel page or if the page is listed on Special:SpecialPages or may not enabled in the extensions config.

I am not sure if I have understand the benefits. There is no way to execute special pages from the api. Most special pages have an api module to access that information, but no mapping/overview exists for that.