| Both sides previous revision Previous revision Next revision | Previous revision Next revisionBoth sides next revision |
| schedule [2021/11/02 01:33] – andi | schedule [2023/12/18 12:19] – Added Engelsystem as consumer, fixed list myigel |
|---|
| = Schedule | = Schedule |
| |
| To interexchange the scheduled conference data between the different systems and tools we are using the schedule.xml format known from pentabarf/[[http://frab.github.io/frab/|frab]]/[[https://pretalx.com/p/about/|pretalx]]. | To exchange the scheduled conference data between the different systems and tools we are using the schedule.xml format known from [[https://github.com/nevs/pentabarf|pentabarf]]/[[http://frab.github.io/frab/|frab]]/[[https://pretalx.com/p/about/|pretalx]]. |
| | |
| | **If you want create a small schedule with only a few events, and don't have a structured document yet – please talk to us so we can create an account at https://import.c3voc.de for your space/event. |
| | ** |
| | |
| | |
| | <WRAP group> |
| | <WRAP column> |
| | {{drawio>schedule-overview.png}} |
| | </WRAP> |
| | <WRAP quarter column> |
| | Historie Congress/Camp: |
| | * [[events:37c3:schedule|2023]] |
| | * [[events:camp23:schedule|#CCCamp23]] |
| | * [[events:jev22:schedule|2022]] |
| | * [[events:jahresendveranstaltung2021:schedule|2021]] |
| | * [[events:rc3:schedule|2020]] |
| | * [[https://events.ccc.de/congress/2019/wiki/index.php/Static:Schedule#Merged_schedules_.28XML_.2F_JSON.29|2019]] |
| | * [[https://events.ccc.de/congress/2018/wiki/index.php/Static:Schedule#Merged_schedules_.28XML_.2F_JSON.29|2018]] |
| | * [[https://events.ccc.de/congress/2017/wiki/index.php/Static:Schedule#Merged_schedules_.28XML_.2F_JSON.29|2017]] |
| | * [[https://wiki.cccv.de/general/services/system|2015]] |
| | </WRAP> |
| | </WRAP> |
| | |
| | |
| | |
| | <!-- |
| | <WRAP center round important 60%> |
| | If you want to provide schedule for JEV22 please provide a **schedule.json** file, not schedule.xml! |
| | </WRAP> |
| | --> |
| |
| == Schedule XML | == Schedule XML |
| |
| Title is required, subtitle is one sentence when the title is too long. Abstract is a summary of the talk (no html allowed, only one paragraph). Description can be longer, contain HTML or Markdown but should not contain the same content as the abstract; as both are displayed below each other when there is enough display space. | Title is required, subtitle is one sentence when the title is too long. Abstract is a summary of the talk (no html allowed, only one paragraph). Description can be longer, contain HTML or Markdown but should not contain the same content as the abstract; as both are displayed below each other when there is enough display space. |
| | |
| | The XSD enforces the following rules |
| | * conference acronym `denog16` has to match `[a-z0-9_-]{4,}` |
| | * `-` should only be used for subconferences (e.g. `cccamp15-ber`) or years when main part ends with number (e.g. `foss4g-2016` or `rc3-2021`) |
| | * `_` can be used instead, e.g. `divoc`, `divoc_r2r`, `divoc_bb3` |
| | |
| | * event slug `denog16-4001-opening` is used as media.ccc.de URL and has to match `[a-z0-9]{4,}-[0-9]{1,6}-[a-z0-9\-_]{4,}` and should match `[a-z0-9]{3,}(-2[0-9]{3}-[a-z]+)?-[0-9]{1,6}-[a-z0-9\-_]{4,}[a-z0-9]` |
| | * first component has to be the main conference acronym, see above – so `cccamp15`, not `cccamp15-ber` |
| | * for conferences: second component has to be the local integer ID in the conference planning system |
| | * the last is a condensed version of the title |
| | * trailing dashes should be removed |
| | |
| | |
| |
| <code> | <code> |
| <schedule> | <schedule xsi:noNamespaceSchemaLocation="https://c3voc.de/schedule/schema.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> |
| <generator name="human" /> | <generator name="human" /> |
| <version>1.0</version> | <version>1.0</version> |
| </conference> | </conference> |
| <day index="1" date="2016-11-23" start="2016-11-23T09:00:00+01:00" end="2016-11-24T03:00:00+01:00"> | <day index="1" date="2016-11-23" start="2016-11-23T09:00:00+01:00" end="2016-11-24T03:00:00+01:00"> |
| <room name="darmstadtium"> | <room name="darmstadtium" guid="0c00f935-e861-4e0c-ba43-7eb53ee189e4"> |
| <event id="4001" guid="385033fe-dda1-555a-aca6-28dd05677c66"> | <event id="4001" guid="385033fe-dda1-555a-aca6-28dd05677c66"> |
| <date>2016-11-23T13:00:00+01:00</date> | <date>2016-11-23T13:00:00+01:00</date> |
| <description/> | <description/> |
| <persons> | <persons> |
| <person id="0">DENOG ORGA</person> | <person guid="211fd9e8-eebd-4657-8a70-07614b0bdfea">DENOG ORGA</person> |
| </persons> | </persons> |
| <links/> | <links/> |
| </code> | </code> |
| |
| * XSD: https://raw.githubusercontent.com/voc/schedule/master/validator/xsd/schedule.xml.xsd | * XSD: https://raw.githubusercontent.com/voc/schedule/master/validator/xsd/schedule.xml.xsd |
| * Validator: https://c3voc.de/schedulexml/ , [[https://github.com/voc/schedule/tree/master/validator|sourcecode]] | * Validator: https://c3voc.de/schedulexml/ , [[https://github.com/voc/schedule/tree/master/validator|sourcecode]] |
| * [[https://github.com/frab/schedule.xml|Coordination between different projects producing/consuming schedule.xml]] (under construction) | * [[https://github.com/frab/schedule.xml|Coordination between different projects producing/consuming schedule.xml]] (under construction) |
| |
| |
| == Interexchange JSON | == Interexchange JSON |
| |
| One problem with the nested XML structure is that you can only exchange events once they are assigned to a room and a time slot. To circumvent this issue we propose following JSON structure based on the language/terms used in the schedule.xml format, combined with the recent extensions in pretalx: | One problem with the nested XML structure is that you can only exchange events once they are assigned to a room and a time slot. To circumvent this issue we propose following JSON structure based on the language/terms used in the schedule.xml format, combined with the recent [[https://docs.pretalx.org/en/latest/api/resources/submissions.html#resource-description|pretalx extensions]]: |
| |
| <code> | <code> |
| { | { |
| | "$schema": "https://c3voc.de/schedule/submission", |
| "guid": "83ae8aec-0724-4eef-9b5a-6ead8698e629", | "guid": "83ae8aec-0724-4eef-9b5a-6ead8698e629", |
| "title": "A example talk", | "title": "A example talk", |
| |
| |
| == Tools | == Conversion tools |
| * Some examples and converters to generate a schedule.xml file: [[https://github.com/voc/schedule]], includes converter from schedule.json to schedule.xml <del>and vice verca</del> | * Some examples and converters to generate a schedule.xml file: [[https://github.com/voc/schedule]], includes converter from schedule.json to schedule.xml <del>and vice verca</del> |
| * [[https://github.com/voc/schedule/blob/master/csv2schedule_deu.py|csv2schedule]] e.g. from a [[https://github.com/voc/schedule/blob/master/example_deu/schedule-example.ods|LibreOffice]] or [[https://docs.google.com/spreadsheets/d/1ncDFREf7sO2lB_7meCLlLroQOCpEGqMjzCoO6tFLJZQ/edit?usp=sharing|Google Spreadsheet]] document [ [[https://docs.google.com/spreadsheets/d/1zisANFAdEQtJ5YT0_6t4n_cGvIY2jsYQyGkI8TT_I-c/edit?usp=sharing|simple]], [[https://docs.google.com/spreadsheets/d/1Y3_x6uaBWx6-s1WP79R92QBWiGLkm-vbZkgYvFgDMK0/edit?usp=sharing|advanced]] ] | * [[https://github.com/voc/schedule/blob/master/csv2schedule_deu.py|csv2schedule]] e.g. from a [[https://github.com/voc/schedule/blob/master/example_deu/schedule-example.ods|LibreOffice]] or [[https://docs.google.com/spreadsheets/d/1ncDFREf7sO2lB_7meCLlLroQOCpEGqMjzCoO6tFLJZQ/edit?usp=sharing|Google Spreadsheet]] document [ [[https://docs.google.com/spreadsheets/d/1zisANFAdEQtJ5YT0_6t4n_cGvIY2jsYQyGkI8TT_I-c/edit?usp=sharing|simple]], [[https://docs.google.com/spreadsheets/d/1Y3_x6uaBWx6-s1WP79R92QBWiGLkm-vbZkgYvFgDMK0/edit?usp=sharing|advanced]] ] |
| * https://github.com/linux-audio-berlin/LAC16/blob/master/schedule/sexport.py | * https://github.com/linux-audio-berlin/LAC16/blob/master/schedule/sexport.py |
| * statistics related to [[software:auphonic#tools|Auphonic]] | * statistics related to [[software:auphonic#tools|Auphonic]] |
| | |
| | == Planning systems able to produce schedule.xml |
| | |
| | ^ software ^ output formats ^ used by ^ example instances ^ |
| | | pretalx | xml, json | CCC | https://pretalx.c3voc.de | |
| | | frab | xml, json | CCC | https://frab.cccv.de | |
| | | [[https://osem.io|osem]] | xml | openSUSE, GNOME, ownCloud | |
| | | pentabarf | xml | 2023: only by fosdem | https://penta.fosdem.org/ | |
| | |
| | == Clients consuming schedule.xml |
| | |
| | * https://github.com/EventFahrplan/EventFahrplan (Android, Kotlin/Java) |
| | * https://github.com/engelsystem/engelsystem ([[https://github.com/engelsystem/engelsystem/tree/main/src/Helpers/Schedule|PHP]]) |
| | * https://github.com/Wilm0r/giggity (Android, Java) |
| | * https://github.com/saschalalala/pyfahrplan (CLI, Python) |
| |
| |