Skip to content

[schedule.xml/json] Add GUID and URI on rooms? #507

@saerdnaer

Description

@saerdnaer

When conference organisers change the room name, consuming scripts break. It would be really helpful if room also had an guid attribute, containing a uuid either based on the internal room id or an existing uuid from another system in distributed setups.

We could also think about a room URL/URI... e.g. https://fahrplan.events.ccc.de/camp/2019/rooms/83c6c072-2352-4d82-a612-e7f2f1a1a929

Example XML:

<schedule>
  <generator name="frab" version="0.7"/>
  <version>Gacrux</version>
  <conference>
    <acronym>Camp2019</acronym>
    <title>Chaos Communication Camp 2019</title>
    <start>2019-08-21</start>
    <end>2019-08-26</end>
    <days>5</days>
    <timeslot_duration>00:15</timeslot_duration>
    <base_url>https://fahrplan.events.ccc.de/camp/2019/Fahrplan/</base_url>
  </conference>
  <day date="2019-08-21" end="2019-08-22T04:00:00+02:00" index="1" start="2019-08-21T09:00:00+02:00">
    <room name="Curie" guid="83c6c072-2352-4d82-a612-e7f2f1a1a929">
      <event guid="a0a0fcfe-b7fb-46e3-84b6-97a5406016b4" id="10386">
        <date>2019-08-21T11:00:00+02:00</date>
        <start>11:00</start>
        <duration>00:30</duration>
        <room>Curie</room>
        <slug>Camp2019-10386-opening_ceremony</slug>
                …

For JSON we would have to introduce a new property on the conference:
Example JSON:

{
  "schedule": {
    "version": "Gacrux",
    "base_url": "https://fahrplan.events.ccc.de/camp/2019/Fahrplan/",
    "conference": {
      "acronym": "Camp2019",
      "title": "Chaos Communication Camp 2019",
      "start": "2019-08-21",
      "end": "2019-08-26",
      "daysCount": 5,
      "timeslot_duration": "00:15",
      "rooms": [
          {
              "name": "Curie",
              "guid": "a0a0fcfe-b7fb-46e3-84b6-97a5406016b4"
          },
          {
              "name": "Meitner",
              "guid": "78a1250c-89fc-4dff-a0a3-4400b8a51eb3"
          }
      ],
      "days": [
        {
          "index": 1,
          "date": "2019-08-21",
          "day_start": "2019-08-21T09:00:00+02:00",
          "day_end": "2019-08-22T04:00:00+02:00",
          "rooms": {
            "Curie": [
              {
                "url": "https://fahrplan.events.ccc.de/camp/2019/Fahrplan/events/10386.html",
                "id": 10386,
                "guid": "a0a0fcfe-b7fb-46e3-84b6-97a5406016b4",
                "logo": null,
                "date": "2019-08-21T11:00:00+02:00",
                "start": "11:00",
                "duration": "00:30",
                "room": "Curie",
                "slug": "Camp2019-10386-opening_ceremony",
                "title": "Opening Ceremony",
                "subtitle": "",
                "track": "CCC",
                "type": "lecture",
                "language": "en",
                "abstract": "A hearty welcome me lasses and lads!",
                "description": "",
                "recording_license": "",
                "do_not_record": false,
                "persons": [
                  { "id": 7797, "public_name": "jinxx" },
                  { "id": 4827, "public_name": "smtw" }
                ],
                "links": [],
                "attachments": []
              },
             
            ],
            "Meitner": []

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions