Wikimedia Developer Summit/2016/Content format


T119022 - This is the session pad for the Content format area session, slated to begin at 2pm on Monday, January 4.


T119022 - Working area overview: how do we make manipulating our data easier and more useful? (both for humans and computers). What format should we use for the authoritative version of our essential content to make accessing and manipulating it easier and more useful (both for humans and computers)?


  • 5-20 minutes - introductory comments
  • 60-75 minutes - open discussion




General discussion of our 2016 strategy for dealing with our central problem. This includes:

  • Establishing the shared questions, challenges, vision
    • What we should head for? (e.g. move primary data out of SQL-based data stores into key-value stores? Should we use Cassandra and RESTbase as stable primary storage?)
    • What constitutes a "format"?
      • E.g.  if the data is stored in a MariaDB database, is the database itself is part of the format?
    • Are HTML-only wikis ever a viable solution (T112999)?
    • What about other formats (e.g. markdown, a refreshed wikitext 2.0?
    • JavaScript support for Scribunto?
    • Polyglot Wikimedia?
    • Fine-grained content tagging (e.g. Parsoid's stable IDs)
    • What is Wikimedia's essential content?
      • E.g. Articles, Revisions, Attribution, Categories, Associations/links (e.g. language links, interwiki links), Media (bitmaps, vector art, audio, video), Locations/coordinates

The goal of this session will be to capture a document that can be the first wiki draft as a charter for this area.


This section is where an attempt is made to capture the gist of who said what, in what order. A transcript isn't necessary, but it's useful to capture the important points made by speakers as they happen.

Session guidelines[edit]

This checklist exists to help each session at WikiDev meet the following goals:

  • Have productive discussion about topics that need face-to-face time
  • Make progress towards agreement on a solution
  • Document what was discussed, including areas of agreement and disagreement
  • Create written list of action items for follow up
  • Update or create Phabricator tasks as appropriate

Specific tasks:

  1. Assign meeting roles:
    • Facilitator
    • Gatekeeper
    • Scribe
    • Timekeeper
  2. Facilitator: run session to achieve specific goals.
    • State or build consensus towards meeting goal and style, referencing one of these meeting types:
      • Problem-solving: surveying many possible solutions
      • Strawman: exploring one specific solution
      • Field narrowing: narrowing down choices of solution
      • Consensus: coming to agreement on one solution
      • Education: teaching people about an agreed solution
    • Identify agenda items and guide discussion to stay on topic
    • Redirect participants who begin venting or discussing things that can be done online
  3. Scribe(s): Document the session
  4. Gatekeeper: Actively manage participation
    • Interrupt people if they are dominating the discussion
    • Help people who are having difficulty being heard
    • If the gatekeeper is talking too much, someone else should interrupt them
  5. Timekeeper: Keep track of time left and point out time passing to facilitator
    • If possible, estimate time for each topic written by scribes
    • Let people know when a topic has gone over its time
    • Give a warning when 5-10 minutes are left