This repository has been archived on 2024-01-12. You can view files and clone it, but cannot push or open issues or pull requests.
WolKal3000/README.md
Willi Junga 223a12f739 Fork to WolKal3000 and rename project occurences accordingly
Signed-off-by: willi.junga <willi.junga@gruene-treptow-koepenick.de>
2020-12-05 18:30:12 +01:00

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! :-)