| Both sides previous revision Previous revision Next revision | Previous revision |
| schedule [2025/02/22 09:54] – andi | schedule [2026/09/14 12:13] (current) – [Schedule2] andi |
|---|
| = Schedule | # Schedule |
| |
| 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]]. | 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]]. |
| <WRAP quarter column> | <WRAP quarter column> |
| Historie Congress/Camp: | Historie Congress/Camp: |
| | * [[events:39c3:schedule|2025]] |
| * [[events:38c3:schedule|2024]] | * [[events:38c3:schedule|2024]] |
| * [[events:37c3:schedule|2023]] | * [[events:37c3:schedule|2023]] |
| --> | --> |
| |
| == Schedule XML | ## Usage |
| | |
| | ### Producers |
| | |
| | The following systems able to produce schedule.xml/.json/etc |
| | |
| | ^ software ^ output formats ^ used by ^ example instances ^ |
| | | [[https://cccv.de/hub/hub/|hub]] | xml, json, schedule2 | CCC | https://hub.test.c3voc.de | |
| | | [[https://pretalx.com/p/about/|pretalx]] | xml, json | CCC, … | https://pretalx.c3voc.de \\ https://cfp.cccv.de | |
| | | [[http://frab.github.io/frab/|frab]] | xml, json | CCC till 2023 | https://frab.cccv.de | |
| | | [[https://osem.io|osem]] | xml | openSUSE, GNOME, ownCloud | |
| | | [[https://github.com/nevs/pentabarf|pentabarf]] | xml | CCC till switch to frab, \\ FOSDEM till 2023 | https://penta.fosdem.org/ | |
| | |
| | ### Clients |
| | |
| | - giggity https://github.com/Wilm0r/giggity (Android, Java) |
| | - EventFahrplan https://github.com/EventFahrplan/EventFahrplan (Android, Kotlin/Java) |
| | - iOS Fahrplan App https://congress.conference.systems (iOS) |
| | - [[c3tracker:start]] https://github.com/crs-tools/tracker (Video processing system) |
| | - [[Engelsystem]] https://github.com/engelsystem/engelsystem (Volunteer planning system) ([[https://github.com/engelsystem/engelsystem/tree/main/src/Helpers/Schedule|PHP]]) |
| | - [[hardware:infobeamer]] (digital signage) https://info-beamer.com/raspberry-pi-digital-signage-scheduled-player-4765.html |
| | - pyfahrplan (CLI, Python) https://github.com/saschalalala/pyfahrplan |
| | |
| | |
| | |
| | ## Schedule2 |
| | |
| | We are currently working on the next generation of our schedule schema. See https://github.com/orgs/voc/projects/4 and [[events:39c3:schedule]] for more details. |
| | |
| | Goals: |
| | |
| | - drop nesting: publish pre-release versions even when a talk is not assigned to a room |
| | - allow multiple events in the same room/area |
| | - allow multiple instances of the same event, e.g. for recurring workshops |
| | - fix issues with time & durations for multi-day events |
| | - … |
| | |
| | The new format is defined as Release Candidate alpha-4, currently collecting feedback from clients and first implementations in Hub and native Schedule apps like Eventfahrplan. |
| | |
| | |
| | ## Schedule XML |
| |
| Minimal example: | Minimal example: |
| |
| |
| == 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 [[https://docs.pretalx.org/en/latest/api/resources/submissions.html#resource-description|pretalx extensions]]: | 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]]: |
| |
| |
| == Conversion 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/verschwoerhaus/ical2schedule | * https://github.com/verschwoerhaus/ical2schedule |
| * ical -> schedule.xml | * ical -> schedule.xml |
| | * https://github.com/toto/conference-import/ |
| | * schedule.json -> ocdata (aka re-data) |
| * 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 ^ | ### Useful Invocations: |
| | pretalx | xml, json | CCC | https://pretalx.c3voc.de | | * Get talk IDs for a certain day (intro rendering): |
| | 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/Wilm0r/giggity (Android, Java) | |
| * https://github.com/EventFahrplan/EventFahrplan (Android, Kotlin/Java) | |
| * https://github.com/saschalalala/pyfahrplan (CLI, Python) | |
| * https://congress.conference.systems (iOS) | |
| * https://github.com/crs-tools/tracker (Video processing system) | |
| * https://github.com/engelsystem/engelsystem (Volunteer planning system) ([[https://github.com/engelsystem/engelsystem/tree/main/src/Helpers/Schedule|PHP]]) | |
| * https://info-beamer.com/raspberry-pi-digital-signage-scheduled-player-4765.html (digital signage) | |
| | |
| | |
| == Useful Invocations: | |
| * Get talk IDs for a certain day (intro rendering): | |
| xmlstarlet sel -T -t -m '/schedule/day[@index=1]/room/event/@id' -v . -n schedule.xml | xmlstarlet sel -T -t -m '/schedule/day[@index=1]/room/event/@id' -v . -n schedule.xml |
| | ``` |
| | ## Full XML example |
| == Full XML example | |
| |
| from https://fahrplan.events.ccc.de/ -> schedule.xml | from https://fahrplan.events.ccc.de/ -> schedule.xml |