Create a JSON schema that describes WikiProjects for use in T123028.
Description
Event Timeline
Happy to be of assistance. The schema is described somewhat within wikiproject.json itself though I understand it's probably not a proper schema. If we are building a GUI I assume we will need more parameters for things like icons?
Not so much as icons, as much as exact type (number? list of strings? List of more elaborate dictionaries / items?) information that's more useful.
http://spacetelescope.github.io/understanding-json-schema/ seems like a good tutorial and explains why it is useful too.
Here is the JSON Schema for wikiproject.json. Note that it does not provide useful information to design a user interface around. P2425
Consistent with the discussion at the Developer Summit, https://etherpad.wikimedia.org/p/WikiDev16-WikiProjects, I am going to work with @yuvipanda to develop a new schema that addresses *all* of the needs.
Things to include:
- Modules and content type of modules (initially: either straight wikitext or the name of another page)
- Scope of WikiProject (either category or some kind of formal definition)
- Design aspects
- Some kind of configuration that a bot can read (perhaps as part of the module manifest). Bot reads this configuration and does its function on this WikiProject. (Would this be saved in a DB table?)
Here's what I'm using right now:
[ { 'id': $id, 'name': display name, 'stuff': some filler junk }, ]
Tell me if it's totally wrong. Obviously it's missing most of it, but never mind that.
Created a schema here: P2626
Note that the strawman JSON blob in P2463 will not necessarily validate against this, as I made some changes. For one, the announcements and members features will have fixed, unchangeable values, and there will be (for now) only one design built into the extension, so I removed functionality that would make this schema more extensible in a template-based design system.
We can make adjustments to this schema as needed but for now the task is complete.