Page MenuHomePhabricator

Implement a way to use the `startprefix` parameter of Category.articles in MW 1.17 and older
Closed, DeclinedPublic

Description

Category.articles in compat handles the [[ https://phabricator.wikimedia.org/diffusion/PWBO/browse/master/catlib.py;dfd2f011fa9614e2131743e761f1dbafe7f2f1a0$327 | startFrom ]] parameter using MW's UI, not API.

In core we use API, but the equivalent of startFrom is startprefix which is only available for MW 1.18+. (See: https://gerrit.wikimedia.org/r/#/c/428263/ )

Perhaps we should move the logic of https://gerrit.wikimedia.org/r/#/c/428148/ into inner levels such that startprefix will also work on older version of MediaWiki.

Event Timeline

Do we really have to support 2011-era legacy MediaWiki? Did anyone complain? People could use compat if need to interact with these wikis.

Do we really have to support 2011-era legacy MediaWiki? Did anyone complain? People could use compat if need to interact with these wikis.

+1 for increasing the required mw version (Not only that, I think we should drop support for versions that have reached their end-of-life)

I just checked the MW version on some active wikis:

The Homestar Runner Wiki is still using MW 1.15! :/

The way MW calculates those "binary string"s for cmstartsortkey and cmendsortkey depends on MW version and locale. See:

There have been changes in the algorithm in MW 1.17, 1.18, 1.21, 1.23, 1.24, 1.28 and some of those changes are locale specific. It sounds like quite a lot of work to implement the same algorithm in pywikibot.

The Homestar Runner Wiki is still using MW 1.15! :/

There are 21 wikis running 1.9.0, and 62% of all wikis runs on obsolete branches, but why do we care? The best we can and should do is to provide an API to bridge to what MediaWiki API of the particular MW version can do, not emulate what MW does internally. Again, if they want compatibility with very old MediaWiki versions by doing screenscraping, they can use compat.

Xqt subscribed.

MW pre 1.19 will be dropped