OSMCAL Beta Phase

Beta Tester gesucht

Der OpenStreetMap Kalender

Calendar
Der OpenStreetMap Wiki Kalender im Apple Kalender

Unsere OpenStreetMap Termine werden an einer zentralen Stelle im Wiki gesammelt. Im Wiki können die Termine einfach erfasst werden, es ist kein weiteres Tool zu warten und die Darstellung auf einer Seite kann auch kompakt vorgenommen werden. Dafür wurden verschiedene Templates eingeführt, die es dem Leser ermöglichen sollen, schnell einen Überblick über den Kalender zu erhalten.

Allerdings hat das Format den Nachteil, das es nur mit individueller Software zu parsen ist, und in der Nutzung Daten und Visualisierung mischt.

Um den Kalender noch stärker in der Community zu verankern wurde dieser von Teilen des Wochennotizteams manuel in Markdown umgewandelt und wöchentlich veröffentlicht. weeklyOSM weigerte sich, die Daten händisch aus dem Kalender zu entnehmen.

OSMCAL, wie es dazu kam

Ich hatte diesen Prozess in Essen auf einem OSM Sommercamp gesehen und musste Abhilfe schaffen.

OSMBC, das Tool für die weeklyOSM Autoren, wurde um einen Kalenderparser erweitert, und der Veröffentlichungsaufwand für das Team deutlich gesenkt. Die neue Technik erlaubt es auch, den Kalender in allen Landessprachen der weeklyOSM zu veröffentlichen.

Dieser Parser ist rudimentär und stellt einige Anforderungen an das Format im Wiki-Kalender, die bisher nicht mit der Community ausdiskutiert wurden.

Das weeklyOSM-Team ist aber dankbar, dass Ihr dieses Format nutzt, auch wenn es die eine oder andere Redundanz enthält.

Der Parser basiert auf regulären Ausdrücken, eine Beschreibungssprache, die sich nicht jedem Leser sofort erschließt. Mir auch nicht.

/\| *\{\{cal\|([a-z]*)\}\}.*\{\{dm\|([a-z 0-9|]*)\}\} *\|\|(.*) *, *\[\[(.*)\]\] *, *\[\[(.*)\]\] *\{\{SmallFlag\|(.*)\}\}/gi

Regex zur Interpretation einer Kalenderzeile im Wiki

Im Source (https://github.com/TheFive/osmbc/blob/master/model/parseEvent.js) findet Ihr noch 2 weitere reguläre Ausdrücke, die verschiedene Kommasetzungen parsen sollen, sich aber auch sicher in einen Ausdruck darstellen ließen.

Auf eine Optimierung habe ich aber verzichtet, reguläre Ausdrücke widerstreben mir irgendwie. Außerdem vermisse ich eine mehr oder weniger sinnvolle Fehlermeldung.

Den Versuch, dieses Problem mit dem Wikimedia Parser zu lösen, habe ich schnell wieder aufgegeben.

Ein Weg aus dem Dilemma bietet PEG, das mit PEGJS sogar im Node Umfeld eine gepflegte Bibliothek hat.

Der Kalenderparser wurden dann auf PEG-Bais komplett neu geschrieben, und bietet darüber hinaus gleich mehrere Formate in der Ausgabe:

  1. Ansicht als HTML zur Kontrolle der Eintragungen/Interpretation

  2. Ausgabe als JSON Ermöglicht es anderen Websites die Termine aus dem Kalender einfacher zu übernehmen.

  3. Ausgabe als ics OSMCAL kann die Daten auch als ICS File zur Verfügung stellen. Ziel ist es, dass sich jeder Mapper die OSM Termine in seiner Stadt in seine Kalender eintragen kann.

Als Filter gibt es einen einfachen Textfilter, der auf die Angabe Stadt oder Land zurückgreift. Darüber hinaus gibt es einen Filter “BIG”, der alle Events ausgibt, die im Wiki Kalender besonders formatiert wurden, um auf wichtige Events hinzuweisen.

Beta Tester Gesucht

Der Parser ist noch im Beta-Stadium, und ich würde mich freuen, wenn sich einige Mapper bereitfinden würden um z.B. ihren Stammtisch zu abonnieren.

Bitte gebt beim Abo kurz eure Mailadresse oder euren OSM-Usernamen mit an.

https://osmcal.thefive.info/düsseldorf.ics?user=TheFive
https://osmcal.thefive.info/düsseldorf.ics?mail=ping@pong.peng

Auch für das JSON Format ist Feedback erwünscht, ist es so wie es ist weiterverwendbar und hilfreich ?

Die Links können relativ einfach generiert werden:

https://osmcal.thefive.info/FILTER.TYPE?IDTYPE=IDENTIFICATION

Wobei FILTER ein einfacher String ist, z.B. Düsseldorf oder Germany``. TYPE gibt den Ausgabetyp an (html,ics,json```).

Als IDTYPE gebt bitte mail oder user an, IDENTIFICATION ist dann die zugehörige Kennung.

Und sollte euer Kalender nicht mit Umlauten in einer URL umgehen können, wie z.B. der Kalender auf meinem Macbook, so nutzt einen online encoder, um die Umlaute in den Filtertext umzusetzen.

Der Düsseldorflink sieht danach so aus:

https://osmcal.thefive.info/d%C3%BCsseldorf.ics?user=TheFive

Und, um zu prüfen, ob ein Kalendereintrag von OSMCAL benutzt wird gibt es die Fehlerseite.

Edit 14.10.2016

Hinweise zur Fehlersuche und Meldung stehen auf der Seite OSMCAL FAQ

Edit 15.10.2016

Die Liste der aktuellen Kalender gibt es hier.

 
comments powered by Disqus