automatisiertes Importieren von Wolke ICS Exporten in den Kal3000 von Urwahl 3000 Theme in Wordpress Original von: https://github.com/hmilz/kal3000-gcal-import
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Willi Junga ec72218e92
Revert "version bump"
2 months ago
icalparser @ 667aa26e1b try again 2 months ago
LICENSE Initial commit 1 year ago
Makefile cloned icalparser 2 months ago
README.md Revert "version bump" 2 months ago
gcal-import-admin.php logging: added multi-level 1 year ago
gcal-import-geocode.php logging: added multi-level 1 year ago
gcal-import-worker.php gcal_import_worker: some logging 1 year ago
gcal-import.php minor fix 1 year ago
readme.txt php version hmm 2 months ago

README.md

WolKal3000

Ein Wordpress-Plugin, das auf das Grüne Wordpress-Theme Urwahl3000 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 hier.
  • 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 http://www.seneca.muc.de/kal3000-gcal-import/ 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 icalparser. 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 https://calendar.google.com/calendar/ical/gruene.freising%40gmail.com/public/basic.ics.

  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 Google-API 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 /usr/share/wordpress/wp-config.php bzw. auf Ubuntu / Debian in /etc/wordpress/config-SITE.php festgelegt. Zur Dokumentation bitte hier entlang.

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