Page MenuHomePhabricator

Sunset/archive Configure extension?
Closed, ResolvedPublic

Description

Rationale

The Configure extension was a great effort at providing on-wiki control of MediaWiki config. Sadly it required manual updating to keep in sync with core which has long since fallen to the wayside. Considering this has always been a goal to get in core, and given Configure's poor current maintenance, I'm curious if we should shut it down.

To-do list

Event Timeline

demon triaged this task as Medium priority.Jan 18 2018, 4:37 PM
demon created this task.
MarcoAurelio subscribed.

Wikiapiari shows some usage of the extension. Do you think this is a blocker?

I had a brief look at the extensions code:

  • I find the code quite nice. It makes proper use of interfaces, for example. It's well structured in directories. All files are at most 300–500 lines long, which I find ok. Even the security aspect (after all, this extension is editing PHP code!) seem to be fine.
  • The extension supports a file backend as well as MySQL and Postgres.
  • It was written in 2008. The last significant update was done in 2012. The official changelog stops in 2012. Since then, only band-aid patches have been applied.
  • The extension neither uses extension.json, nor is it able to understand core's or extensions extension.json. Maybe it doesn't need to, as it's purpose is to help editing a wikis local LocalSettings.php in a convenient way.
  • The biggest issue with the extensions approach is that it needs to know about each and every setting it wants to provide an editing interface for. There are blacklists and massive whitelists not only for all settings in MediaWiki core (as of 2012 when the last serious update was done). There is also a list of about 170 other extensions and the settings they require. All this is most probably heavily out of sync, hard to update, and even harder to maintain in the long run.

Since we are moving towards extension.json I hear people talking about how this will make it so much easier to provide an UI to edit LocalSettings.php. I'm surprised to learn an extension to do exactly this exists since 2008, way before extension.json. Is it worth keeping this existing codebase and teaching it how to read other extensions extension.json? It would probably mean that ~80% of the code need to be rewritten, or can just be deleted. Maybe it's easier to start from scratch.

I, personally, am not able to work on this codebase.

Wikiapiari shows some usage of the extension. Do you think this is a blocker?

Per @thiemowmde's comment, I'm inclined to say no: anyone using an extension that hasn't been updated in so long should expect that it could be archived or otherwise removed at any time, and in any case, archival by WMF doesn't mean people have to stop using the extension (though of course there are other reasons to stop doing so: for example, according to its documentation, this extension is incompatible with MW 1.32, so updating to the most recent MW release would require a wiki to either uninstall or locally update the extension).

It is a pity that extensions like this one tend to end up unmaintained. @Florian has outlined something similar in core in T155155, which has the goal to introduce a special page listing the current wiki configuration, that could maybe be extended to allow configuration changes as well in the future.

Change 497799 had a related patch set uploaded (by MacFan4000; owner: MacFan4000):
[translatewiki@master] Remove Configure ext

https://gerrit.wikimedia.org/r/497799

Change 497800 had a related patch set uploaded (by MacFan4000; owner: MacFan4000):
[integration/config@master] Archive Configure ext

https://gerrit.wikimedia.org/r/497800

Change 497801 had a related patch set uploaded (by MacFan4000; owner: MacFan4000):
[mediawiki/extensions@master] Remove Configure ext

https://gerrit.wikimedia.org/r/497801

Change 497799 merged by jenkins-bot:
[translatewiki@master] Remove Configure ext

https://gerrit.wikimedia.org/r/497799

Change 498005 had a related patch set uploaded (by MaxSem; owner: MaxSem):
[mediawiki/extensions/Configure@master] Archive this extension

https://gerrit.wikimedia.org/r/498005

Change 497800 merged by jenkins-bot:
[integration/config@master] Archive Configure ext

https://gerrit.wikimedia.org/r/497800

Change 498005 merged by jenkins-bot:
[mediawiki/extensions/Configure@master] Archive this extension

https://gerrit.wikimedia.org/r/498005

Change 497801 merged by Jforrester:
[mediawiki/extensions@master] Remove Configure ext

https://gerrit.wikimedia.org/r/497801

Jdforrester-WMF updated the task description. (Show Details)