Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
schedule [2022/10/24 22:44] andischedule [2025/10/04 12:01] (current) – [Clients] andi
Line 1: Line 1:
 = Schedule = Schedule
  
-To interexchange 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]]. 
 + 
 +**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. 
 +** 
 + 
 +If you prefer the contents of this page in video form with some anecdotes, see https://media.ccc.de/v/eh20-14-ids-warum-integer-eine-schlechte-idee-sind 
 + 
 + 
 +<WRAP group> 
 +<WRAP column> 
 +{{drawio>schedule-overview.png}} 
 +</WRAP> 
 +<WRAP quarter column> 
 +Historie Congress/Camp:  
 +* [[events:38c3:schedule|2024]] 
 +* [[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> 
 +--> 
 + 
 +== Usage 
 + 
 +=== Producers 
 + 
 +The following systems able to produce schedule.xml/.json/etc 
 + 
 +^ software  ^ output formats ^ used by  ^ example instances        ^ 
 +| [[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, which will be available in a first beta / release candidate for 39C3. See https://github.com/voc/schedule/pull/146 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 
 +* …
  
 == Schedule XML == Schedule XML
Line 9: Line 78:
 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 following rules+The XSD enforces the following rules
 * conference acronym `denog16` has to match `[a-z0-9_-]{4,}` * 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`)   * `-` 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`)
Line 23: Line 92:
  
 <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>
Line 62: Line 131:
 </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)
  
  
Line 149: Line 218:
 * 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]]
  
-== Clients 
  
-* https://github.com/EventFahrplan/EventFahrplan (Android, Java) +=== Useful Invocations
-https://github.com/Wilm0r/giggity (Android, Java) +Get talk IDs for a certain day (intro rendering):
-* https://github.com/saschalalala/pyfahrplan (CLI, Python)+
  
- +```
-== 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
  
  • schedule.1666644244.txt.gz
  • Last modified: 2022/10/24 22:44
  • by andi