Page MenuHomePhabricator

Decide on future of JsonConfig
Open, Needs TriagePublic

Description

It's one of those extensions that no one really understands, but it's usages seem to be growing

We should decide what to do about it, and probably prevent new usages of it being instated

It probably needs to be found an owner too...

Event Timeline

Reedy created this task.Apr 5 2017, 11:48 PM
Restricted Application added a subscriber: Aklapper. · View Herald TranscriptApr 5 2017, 11:48 PM
Reedy updated the task description. (Show Details)Apr 5 2017, 11:51 PM
Aklapper added a project: JsonConfig.EditedApr 29 2017, 11:08 AM

It's one of those extensions that no one really understands

@Reedy: To have an informed discussion, could you clarify which aspects feel unclear?

It probably needs to be found an owner too...

https://www.mediawiki.org/wiki/Developers/Maintainers lists Wikimedia Reading and Yuri as owners

Reedy added a subscriber: Yurik.Apr 29 2017, 1:48 PM

Well, @Yurik is the only major contributor to the extension, and is no longer a staff member at the foundation - I don't know how much time he has to put into ongoing development, feature or bug fixing

https://github.com/wikimedia/mediawiki-extensions-JsonConfig/graphs/contributors

I know releng among others have struggled to do anything with the extension when it has caused problems, because no one else understands how it works

I know releng among others have struggled to do anything with the extension when it has caused problems, because no one else understands how it works

Another problem is the lack of automated WP Zero testing combined with the potential for non-obvious breakage.

Yurik added a subscriber: MaxSem.May 3 2017, 7:19 PM

I am still maintaining it (e.g. redirect support that @MaxSem and I are working on), but obviously not as much as before. I agree with @Tgr - the main problem is that it is very hard to test. It works across wikis, including secure wikis, via shared cache and HTTP with authentication. With Zero, Varnish also plays a big role -- changing request headers on the fly, and performing IP lookups.

Functionality wise, JsonConfig consists of these components:

  • core - ability to store JSON data as a page, access it across wikis, and cache it; plus extension configuration
  • validation/visualization - several base classes to ensure JSON content meets custom schema, validation functions, and error/warning reporting & HTML rendering.
  • specific data models - support for tabular data and maps data, with Lua support
Reasno added a subscriber: Reasno.Jun 7 2017, 9:20 AM