Page MenuHomePhabricator

Convert ThrottleOverride to use a wiki page for storage
Open, LowPublic

Description

In the spirit of https://www.mediawiki.org/wiki/Everything_is_a_wiki_page

A page with a JSON backend using a storage structure similar to https://noc.wikimedia.org/conf/highlight.php?file=throttle.php would be a good first step. Once that's established, we could build a proper editing frontend.

This automatically adds API support, revision history, diffs, etc.

Event Timeline

EddieGP subscribed.

Is there some extension which might be used as a reference for storing data as json within a wiki page?
I'm personally only aware of extensions storing single strings per wiki page (like translations, a paragraph gets it's own page and each translation gets it's own page as well) but not of any storing structured data (e.g. json, yaml, whatever).

Without any guarantees. I've just managed to get Special:OverrideThrottle to save to and read from Project:Throttle_overrides as a first step.

I propose declining this. I'm not a fan of store-the-config-in-random-NS_MEDIAWIKI-pages, and JsonConfig is no better.

Can we not look into using the core's Config interfaces instead?

and JsonConfig is no better.

Correction: JsonConfig is a flaming dumpster fire.

Can we not look into using the core's Config interfaces instead?

https://doc.wikimedia.org/mediawiki-core/master/php/interfaceConfig.html ? From a quick glance, I don't see how to save anything into there, just how to read from it. How and where do you store the throttle data for in that approach?

Currently unable to commit time for this.

I'd advocate for a special page for this better than a wiki page which it seems it is using already at https://www.mediawiki.org/wiki/Extension:ThrottleOverride#Usage right?