-
Notifications
You must be signed in to change notification settings - Fork 96
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
RFC: Discover schedule.xml URL/location #336
Comments
Woo, thank you for the very detailed proposal! Yes, this is an interesting idea. Let me try to summarise my thoughts.. First: Giggity picked up Markwon a few versions ago and I think it could help here. https://noties.io/Markwon/docs/v4/html/ Though I wonder whether just feeding HTML to a streaming XML parser would also work? No need for it to build a DOM tree, a streaming XML parser is probably very unpicky as well, I'd expect? For the MIME-type .... So theoretically maybe some day the standard format could become JSON-based? You'll know that better than me obviously :) Just searching for a Nit: It'd probably be cool if the link could be included not just on the schedule page of the conference but also the frontpage or perhaps just ~all of them? Since the user is going to have to manually enter/copypaste a URL, it'd be cool if it could be as simple as typing I do have deduplication on my mind a bit.. Very important that we don't end up with two entries in the chooser menu for example, which could happen if the conference later submits a I started reintroducing an
Thank you and you're welcome! It's an interesting hobby when the daytime job is more SRE-like. I'm sad that the "each event their own app" model seems to have won, but I'll keep doing what I think is better. :) And obviously thank you for Pretalx! |
The XML standard is maintained by c3voc and their validator, who also provide a JSON schema for frab's (and hence pretalx's etc) JSON export. They should include largely the same data, so you could have a go at that instead? I don't mind either way, pretalx implements both APIs, and if we include one
Sure, that would work just as well. I think I have a soft preference for using
I think so, yes, or at least I had intended it that way. As long as the format is sufficiently specific, that'd be like providing the RSS feed link on all pages of a website, which is also commonly done. (Re: deduplication: I think the whole Going to tag @saerdnaer here, as he's involved with the C3VOC side / the schedule.xsd and JSON schema, and may have ideas or opinions. |
I would prefer |
Sorry, yes obviously, generic has my preference too, typed that response too fast apparently. :) I'd say that "schedule" is too generic though? :( That'd be the benefit of picking for example "frab": With most of us that's a pretty good descriptor for a file format describing conference schedules. Just "schedule" could still be anything else calendar'y. For the duplication, you may have a good guess on how (un)likely my worries are? If folks build their own format like how FOSDEM did it, oh well oops... but hopefully Pretalx at least by default doesn't have 5 different canonical links pointing at the same XML content? Either way, yeah I'll think that one through later on. |
Yeah, +1 on that. Claiming a MIME type of "application/schedule+xml" would be to ballsy imo. "frab" has the advantage of being an established tool – as an alternative "application/c3voc+xml" might work, as VOC are maintaining the format definition?
Huh, good to know. That's news to me. |
I asked in the local hack space and got directed to https://mailarchive.ietf.org/arch/msg/media-types/l_coKFlR20ZsQifB9GWeXIoRaA0/ A review is to expected by March 29th. |
Terrific! I'll go play with XML/HTTP parsers a little bit. |
OK, the standard XML parser already used by So while it picked up the
Don't see a way to make it less strict, validation is already turned off. So let's try the Markwon HTML parser instead. |
Summary
Make the location of an event's schedule.xml file / Giggity data source discoverable by finding a
<link>
tag in websites supplied by users.Background
Both for events I run and for events I just provide support for (as maintainer of pretalx)¹, I frequently get questions about how to add an event to Giggity. pretalx at least links to the XML file openly – though not mentioning Giggity by name –, whereas with other events, it's even harder to figure out how to find the data, as documented in your README.
Some of the time, people have already tried putting the event's schedule page into Giggity, only for that not to work. Of course, not all users try this, and not all schedule pages are actually served by CfP/scheduling systems (often, they are static exports or custom representations), but from my (obviously biased) perspective, it's a sizeable amount.
Proposal
Define a
<link rel="alternate">
tag that events and tools can include in their websites in order to link to their Giggity-compatible data source.Implementation
The well-defined way for websites to link to different data format is the
rel=alternate
attribute on<link>
tags, with thetype
attribute specifying the MIME type. Thehref
attribute contains the actual URL, and thetype
attribute contains a MIME type:Giggity doesn't have a MIME type registered, but with the proliferation of application specific MIME types (the official list includes more than 400 types including a
+xml
), I think it would also be permissible to call the type something likeapplication/giggity+xml
orapplication/schedule+xml
, but I don't really see a need for this –application/xml
is correct, and other similar links use more specific types, such asapplication/rss+xml
.The application following this link should expect the link to redirect, and follow redirects.
Link format
From Giggity's point of view, it would be ideal if providing this link would allow event organisers to also include Giggity-style metadata, as the JSON you can pass to ggt.gaa.st links. I don't think providing ggt.gaa.st links in this proposed
<link>
tag would be a good idea though, as we do want to link to the actual schedule data in a fairly tool agnostic way, so the link should always lead to an XML document. Instead, I think adding the same metadata as fragment to the supplied link should work, allowing non-Giggity tools to still use the link, while Giggity could parse the additional data:Impact on Giggity
Giggity would need to fully parse websites for this –
<link>
tags are well-defined and simple to parse, but websites often contain weirdness and errors, so you'd need a fault-tolerant parser that will still give you a functioning link tag, even when there are e.g. unclosed tags further down the document. I'm not sure if Giggity already does HTML parsing or uses a dependency that provides this (I know you do some caching of websites, but not sure if you inspect them along the way).For positive impact, Giggity would be even easier to recommend to organsiers looking for an accompanying phone app for their event, and users would need less insider knowledge (the tool used by the conference, or the fact that "frab-compatible XML" is the URL they need) to add an event to Giggity.
Impact on events
Organisers would be able to add this link (optionally including a menu structure and metadata!) on their websites, allowing them to determine – and change – how their event looks in Giggity. They would also hopefully have fewer support cases.
¹ Also, just gotta say, as maintainer of pretalx, I love that giggity exists and recommend it to events all the time. Thank you for making and maintaining it.
The text was updated successfully, but these errors were encountered: