Tooling to manage breakout sessions at TPAC 2019. The main branch contains last versions of the tools. GitHub Pages still point to the 2019 branch because the w3c.github.io URL was used to link to the resulting session page.
The sessions/ contains one JSON file per proposed breakout, with a name matching the proposed shortname of the session. That JSON file contains the following fields (mandatory unless stated otherwise):
title is the title of the sessionproposer is an object describing the session proposer, with the following fields
name is their namelogin is their W3C loginemail is their email addresssummary is a short description of the session - HTML is permittedtype is a string or an array of string describing the type of sessions (e.g. open discussion, talk, panel)others is an optional array of the W3C logins of other critical parties to the session (beyond the proposer)possibleSlots is an optional array of integers indicating during which timeslots the session can be scheduled (first slot is 0); if not defined, any slot is assumed to be acceptablecapacity is an optional string with value either of big, medium or small, describing the room size needed based on expected participationtrack is an optional arbitrary string that can be used to indicate that several sessions share a common topic (e.g. “privacy”, “media”)rooms.json is an object whose keys are unique ids for rooms, and whose values are objects describing the said rooms, with the following fields
name is the human readable name of the roomfloor is the floor on which the room is locatedsize is the rough capacity of the room (one of big, medium, small)capacity is the number of people that can sit in the roomgrid.json is an array of objects; each object describes one of the breakout timeslots, and has for keys the ids of the rooms defined in rooms.json. The value associated with a given key is the shortname of the session that will be run in the said room in the said slot.
validate-sessions.js checks that the session data is valid and consistent.
validate-grid.js checks that the proposed grid is valid and consistent.
build-sessions-page.js generates sessions.html - the list of sessions as defined by grid.json.