95 lines
5.9 KiB
Markdown
95 lines
5.9 KiB
Markdown
# WolKal3000
|
|
|
|
Ein Wordpress-Plugin, das auf das Grüne Wordpress-Theme <a href="https://www.urwahl3000.de/">Urwahl3000</a> aufsetzt und eine Integration beliebig vieler öffentlicher ICS-Kalender ermöglicht.
|
|
|
|
Version: 0.3.8
|
|
|
|
## Warnung
|
|
|
|
Nicht produktiv verwenden. Nur zu Testzwecken.
|
|
|
|
## Motivation
|
|
|
|
Für eine solche Integration gibt es eine Reihe von Motivatoren:
|
|
|
|
* Manche (viele?) Seitenadmins scheuen dem Umgang mit einem Blog- oder CMS-System. Die Terminpflege auszulagern erleichtert den Admins den Umgang mit dem Kalendersystem und senkt die Hemmschwelle.
|
|
* (Öffentliche) ICS-Kalender lassen sich auf einfache Weise auch per Smartphone administrieren. Dazu muss der Admin lediglich in GCal entsprechende Admin-Zugänge z.B. für den Ortssprecher oder den News-Redakteur vergeben. Ebenso lassen sich solche Kalender leicht von jedermann in den eigenen Kalender einbinden, um jederzeit die aktuelle Terminübersicht greifbar zu haben. Eine weiter führende Dokumentation findet sich <a href="https://www.gruene-freising.de/... ">hier</a>.
|
|
* So schön Urwahl3000 ist - der auf wpCalendar basierende kal3000 Kalender unterstützt keine Serientermine. Mit diesem Plugin ist das kein Problem mehr, da es Serientermine im Google Kalender automatisch als Serie von Einzelterminen anlegt.
|
|
|
|
## Eigenschaften
|
|
|
|
* Administration in Wordpress über die Admin-Oberfläche.
|
|
* Einbinden beliebig vieler ICS-Kalender.
|
|
* Zuordnung dieser ICS-Kalender zu bereits angelegten Terminkategorien, beispielsweise KV Allgemein, AG Klima etc..
|
|
* ~~Geocoding von Veranstaltungsorten, wie sie aus Google Kalender übernommen werden. Derart angelegte Termine werden auf der Übersichtskarte richtig angezeigt.~~ - Wollen wir nicht
|
|
|
|
|
|
## Voraussetzungen / Installation
|
|
|
|
1. Um eine auf Urwahl3000 und Wordpress basierende KV- oder OV-Seite betreiben zu können, braucht man zunächst eine irgendwo gehostete aktuelle Wordpress-Umgebung. Dazu wird auf die Dokumentation von Urwahl3000 verwiesen.
|
|
|
|
2. Als nächstes holt man sich das Plugin unter <a href="http://www.seneca.muc.de/kal3000-gcal-import/">http://www.seneca.muc.de/kal3000-gcal-import/</a> und installiert es über die WP-Oberfläche wie gewohnt.
|
|
|
|
Hinweis: kal3000-gcal-import nutzt für das Parsen von ICAL-Files und -Feeds das PHP-Modul <a href="https://github.com/OzzyCzech/icalparser">icalparser</a>. Die Verwendung und die Einbindung in die Release-ZIP-Files erfolgt mit freundlicher Genehmigung des Autors Roman Ožana.
|
|
|
|
## Konfiguration
|
|
|
|
1. in WP legt man Terminkategorien an, z.B. eine pro OV und eine für den KV, plus weitere nach Bedarf. Das funktioniert am besten mit einer entsprechenden Seitenhierarchie wie auf https://www.gruene-freising.de/... (Beispiele folgen).
|
|
|
|
2. Im Admin-Teil des Plugins unter "Einstellungen / GCal Importer" erscheinen die angelegten Terminkategorien. Jeder Kategorie weist man dann einen öffentlichen Google-Kalender in Form des "public ics"-Links zu, beispielsweise <a href="https://calendar.google.com/calendar/ical/gruene.freising%40gmail.com/public/basic.ics">https://calendar.google.com/calendar/ical/gruene.freising%40gmail.com/public/basic.ics</a>.
|
|
|
|
3. Im Admin-Teil kann man das Zeitintervall einstellen, mit dem die Kalender synchronisiert werden. Standardeinstellung ist 60 Minuten. Bitte beachten, dass der Wordpress-Scheduler die Zeitintervalle nur ungefähr und abhängig von der Seitenaktivität einhält.
|
|
|
|
4. Im Admin-Teil kann man das Geocoding aktivieren. Derzeit ist nur ein inoffizieller Weg über Google Maps verfügbar, den Google nicht gerne sieht. Das offizielle <a href="https://developers.google.com/maps/documentation/geocoding/start">Google-API</a> erfordert einen API-Key, der bei intensiver Nutzung nicht kostenlos ist. Auf die Google-Policy wird hingewiesen. Außerdem ist OpenStreetMap verfügbar, aber es kann nicht sehr gut mit den Lokationen aus Google Maps umgehen. Im Moment ist es benutzbar, funktioniert aber nicht zuverlässig.
|
|
|
|
5. Speichern und fertig.
|
|
|
|
Unter "Debugging" finden sich zwei weitere Einstellungen:
|
|
|
|
1. zum einen kann man ein Debug-Logging aktivieren, mit dem das Plugin Einträge in ${APACHE_LOG_DIR}/error.log schreibt. NONE schreibt nichts, CRIT (critical) am wenigsten, INFO (alles) am meisten.
|
|
|
|
2. Die zweite Einstellung löscht den Geocoding-Cache bei jedem Plugin-Neustart, um das Geocoding für jede Lokation neu zu erzwingen, beispielsweise wenn man die Geocoding-Methode geändert hat.
|
|
|
|
|
|
## Benutzung
|
|
|
|
Um die Termine in WP anzuzeigen, gibt es zwei Wege:
|
|
* Das Termine-Widget in der rechten Spalte zeigt immer alle Termine an.
|
|
* Darüber hinaus kann man beispielsweise pro OV eine Unterseite mit dem
|
|
Titel "OV Termine" anlegen, in der folgender Shortcode steht:
|
|
`[wpcalendar kat=TERMINKATEGORIE]`.
|
|
Auf dieser Seite werden dann nur die Termine des dazugehörigen OV angezeigt.
|
|
|
|
Mit "Aktivieren" beginnt das Plugin sofort mit der Synchronisation.
|
|
|
|
## Proxy-Konfiguration
|
|
|
|
Das Plugin benötigt den Zugriff nach "draußen", um ICAL-Feeds zu holen oder auf Google Maps zuzugreifen. Wenn Du mit Deinem Wordpress-Server z.B. in einem Firmennetz bist, musst Du möglicherweise über einen Proxy nach draußen gehen. In Wordpress werden Proxy-Einstellungen in <code>/usr/share/wordpress/wp-config.php</code> bzw. auf Ubuntu / Debian in <code>/etc/wordpress/config-SITE.php</code> festgelegt. Zur Dokumentation bitte <a href="https://developer.wordpress.org/reference/classes/wp_http_proxy/">hier entlang</a>.
|
|
|
|
## Support
|
|
|
|
Bitte ein Ticket (issue) auf https://git.verdigado.com/NB-Public/WolKal3000/issues
|
|
|
|
## Bekannte Fehler
|
|
|
|
Vermutlich viele. Ich bin alles andere als ein begnadeter Programmierer.
|
|
|
|
## Internationalization
|
|
|
|
Since this plugin is only relevant for people using the Urwahl3000 theme, and this includes only members of Bündnis 90 / Die Grünen, the user interface of the plugin will only be available in German. Should a demand for other languages arise, feel free to contact me - contributions welcome! :-)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|