Page MenuHomePhabricator

Specify a proper JSON Schema for WikiProjects
Closed, ResolvedPublic

Description

Create a JSON schema that describes WikiProjects for use in T123028.

Related Objects

Event Timeline

yuvipanda raised the priority of this task from to Medium.
yuvipanda updated the task description. (Show Details)
yuvipanda added a project: WikiProject-X.
yuvipanda added subscribers: Aklapper, Harej, yuvipanda.

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.

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?)
Harej set Security to None.

Did a proof of concept: P2463 + P2464. Handing off to Yuvi to refine and finalize.

Harej renamed this task from Specify a proper JSON Schema for https://en.wikipedia.org/wiki/Wikipedia:WikiProject_X/wikiproject.json to Specify a proper JSON Schema for WikiProjects.Jan 8 2016, 4:45 AM
Harej updated the task description. (Show Details)

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.

Nevermind, that fits the... paste things.

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.