WordCamp iCal Generator
Ich habe meine Termine gerne auf der Apple Watch. Es ist im Büro einfach praktisch, eine Benachrichtigung zu bekommen und dann kurz gucken zu können, in welchen Raum ich muss, ohne das Handy aus der Tasche zu holen. Das gilt auch für Sessions auf einem WordCamp: Die favorisierten Sessions im digitalen Kalender zu haben, ist sehr hilfreich. Die Favoriten-Funktion der WordCamp-Seiten bietet aber nur eine E-Mail oder einen Link zum Speichern an … das muss doch besser gehen. Und so entstand auf der Zugfahrt zum WordCamp Europe in Basel letztes Jahr ein kleiner Prototyp, den ich dieses Jahr verfeinert habe, sodass er jetzt für beliebige WordCamps nutzbar ist.
Einfach ausprobieren
Ich habe das Tool unter wordcamp.lukasfritze.dev frei zur Verfügung gestellt. Alles läuft komplett bei dir im Browser, ich tracke nichts und speichere nichts.
Funktionsweise
Die Idee war ganz einfach: In dem Favoriten-Link, den die WordCamp-Seiten bereitstellen, sind die Post-IDs der markierten Sessions aufgelistet. Und eine WordPress-Instantanz hat eine REST-API, über die ich strukturiert an die Daten der Sessions und Tracks ran komme; so auch die Seiten der WordCamps. Wenn man das beides kombiniert, hat man ja eigentlich schon alles, was man braucht.
Das Tool funktioniert so:
- Du markierst dir ganz normal auf der Seite deines WordCamps deine Favoriten.
- Du kopierst dir den Favoriten-Link und fügst ihn im Tool ein.
- Du klickst auf »Generieren«.
- Das Tool extrahiert aus dem Link die Domain der WordCamp-Seite sowie die Session-IDs.
- Das Tool ruft über die REST-API erst die Session-Tracks ab. Da das in der Regel recht wenige sind, werden sie einfach alle geladen und im Arbeitsspeicher gehalten.
- Das Tool ruft für jede gefundene Session-ID die Session-Daten über die REST-API ab.
- Alle Sessions werden in eine ICS-Datei geschrieben, die du zum runterladen bekommst.
Geschrieben habe ich das Tool mit recht einfachem HTML und JavaScript/TypeScript, garniert mit ein bisschen CSS. Wenn du mehr Details wissen möchtest, kannst du dir den Code des Tools auf GitHub anschauen.
Feedback erwünscht
Wenn du Feedback hast oder einen Fehler findest, schreibe mir gerne eine E-Mail oder erstelle ein Issue im GitHub-Projekt.
Tatsächlich haben mir im globalen WordPress-Slack schon zwei User gemeldet, dass das Tool bei ihnen einen Fehler wirft. Ich konnte es auf Session-IDs zurückführen, die in ihren Links vorhanden waren, zu denen die REST-API aber keine Posts ausgibt. Reproduzieren, wie man einen Link mit solchen IDs erstellt, konnte ich aber nicht. Daher habe ich auch noch keinen Fix gefunden. Wenn du eine Idee hast, freue ich mich über eine Erleuchtung.