Automatischer Kalenderimport in Owncloud 10

Dieser Artikel bezog sich ursprünglich auf Owncloud 8. Da mit Owncloud 9 die Kalender App geändert wurde, war er nicht mehr gültig und der automatische Import mit dem bestehenden Script funktionierte nicht mehr. Durch ein neues Script funktioniert er wieder tadellos mit Owncloud 10.0.2. Die zugehörige Iwatch Konfigurationsdatei wurde ebenalls angepaßt.
Falls jemand bei der Gelegenheit gleich von Owncloud 8 auf 10 upgraden möchte, da Owncloud 8 nicht mehr supported wird, so gibt es das Script Owncloud 8 auf 10 upgraden. Es führt nur die nötigen Schritte aus, d.h. sichern der Konfiguration und der Daten, Installation der nötigen nächsten Majorversionen von Owncloud, Upgrade mit dem Owncloud Tool occ und Installation der neuen Version.
Das Script muß ausführbar gemacht und der Pfad zum Webverzeichnis von Owncloud angepaßt werden. Die Nutzung ist auf eigene Gefahr. :-)
 

 Manchmal ist es notwendig einen auf den ersten Blick umständlichen Weg zu gehen um Kalender zu synchronisieren. So hat nicht jeder hat die Möglichkeit den Kalender vom Arbeitsplatz zusammen mit einem privaten Smartphone zu synchronisieren aber aus offensichtlichen Gründen kann dies praktisch sein.
 

Dieses Tutorial nimmt sich des Problems an und hat folgende Voraussetzungen:

 
  1. Der Kalender welcher als Quelle dient kann in Outlook exportiert werden
  2. Das Ziel für den Import ist Owncloud, bei mir in der Version 10.0.2
 
Der erste Schritt ist das exportieren des Kalenders aus Outlook. Da das manuelle Vorgehen auf Dauer zu umständlich ist, sollte eine automatische Lösung bevorzugt werden. Dazu habe ich ein Outlook Makro geschrieben. Es basiert hauptsächlich auf dem bei MSDN verwendeten Code: https://msdn.microsoft.com/de-de/library/office/ff863593.aspx
 
Der Code in Datei Thisoutlooksession kann https://it-support-ffm.de/downloads/occalimport/Thisoutlooksession.txt heruntergeladen werden. Der Code muß in Outlook eingefügt werden indem er nach Drücken der Tastenkombination ALT + F11 im VBA Editor links in der Navigation in ThisOutlookSession eingefügt wird.
 

Folgendes passiert im Code:

 
  1. Es wird der komplette Standarkalender mit allen Details als ics Datei exportiert nach: c:\cal.ics; Zeitraum: von heute ein Jahr in die Zukunft
  2. Versand der Datei als Mailanhang, nach Einlesen der Konfigurationsdatei: c:\ welche 3 Parameter, 1 pro Zeile enthalten muß. Der Wert und die Bezeichnung sind durch ein = getrennt. Ein Beispiel ist unter: https://it-support-ffm.de/downloads/occalimport/eingabe_ical.txt gelistet.
 
Enthaltene Parameter sind:
  1. Versandadresse
  2. Betreff
  3. zu versendende Datei
 
Das Makro kann per Knopdruck ausgeführt werden indem ein Button mit dem Makro verknüpft wird, oder automatisch. Für den automatischen Versand ist im Code Zeile 1-6 zuständig. Dazu muß in Outlook eine Aufgabenserie mit Betreff "OL Cal Sync" erstellt werden. Jedes Mal wenn die Aufgabe fällig wird, wird der Kalender exportiert und versendet sowie die Aufgabe gelöscht.

Der per Mail versandte Kalender im ics Format kann manuell mit der Android App: https://play.google.com/store/apps/details?id=tk.drlue.icalimportexport importiert werden.


Für diejenigen, die einen eigenen Linux Mailserver betreiben, der auch Owncloud beinhaltet, kann einen automatischen Import durchführen. Mein Beispiel geht davon aus, daß folgendes installiert und konfiguriert ist: Dovecot, sieve, Owncloud 10 mit Kalender App:

Nun sind zusätzlich folgende Schritte nötig:

 
  1. Erstellung eines Ordners im Mailaccount, der die Mail mit der ics Datei erhält und Erstellung einer Serverregel (sieve), die die Mail in den Ordner routet
  2. Installation des Pakets iwatch und maildir-utils mit „apt-get install iwatch maildir-utils“
  3. Anpassung der Konfiguration /etc/iwatch/iwatch.xml, siehe https://it-support-ffm.de/downloads/occalimport/iwatch.xml
 
Hinweis: Der angegebene Pfad stellt den angelegten Ordner im Postfach dar, in der gleichen Zeile muß der Pfad zum Skript import_owncloud_calendar.sh angegeben werden.
 
  1. Kopieren des Scripts: import_owncloud_calendar.sh nach /root/, folgende Anpassungen müssen vorgenommen werden:
    1. filename – gibt den Namen der Datei an welcher letztlich den Kalender enthalten wird
    2. displayname – Kalender in Owncloud, in den importiert werden soll, Achtung: Es wird der komplette Inhalt vorher gelöscht
    3. target_dir – Verzeichnis in dem der Kalender zwischengespeichert und in Owncloud importiert wird
    4. Anpassung des Pfades in Zeile 24 zum Owncloud Importscript sowie des Users in dessen Kalender importiert werden soll, das Script wird im Kontext des Webserver users www-data ausgeführt
  2. Ausführbar machen des Scripts import_owncloud_calendar.sh
  3. Kopieren des Scripts calsync.sh welches auf dem von https://github.com/denismaloir/OwnCloudCalSync basiert auf den Server
      1. Anpassung der ersten Zeile:

    ocusername=Benutzername
    ocpw=Paßwort
    ocurl=URL der Owncloud Instanz

  4. Neustart der Dienste iwatch und dovecot mit
    1. sudo service dovecot restart
    2. sudo service iwatch restart
 
Hinweis: Im Script werden alle Zeilen zw. X-ALT-DESC und X-MICROSOFT-CDO-BUSYSTATUS durch das Programm sed gelöscht. Hintergrund ist, daß sonst in der Windows 10 Kalenderapp in der Beschreibung des Termins HTML Code angezeigt wird. Ist dieses Attribut nicht vorhanden, wird das Feld Description verwendet welches den gleichen Text ohne HTML enthält.
 

Die nötigen Dateien können unter folgendem Link gesammelt als Archiv heruntergeladen werden: https://it-support-ffm.de/downloads/occalimport/owncloud_import.zip

 

Kontaktformular

Der Übermittlung und Speicherung meiner Daten zur Kontaktaufnahme und Auftragserteilung stimme ich zu.
Form by ChronoForms - ChronoEngine.com
Cookies erleichtern die Bereitstellung unserer Dienste. Mit der Nutzung unserer Dienste erklären Sie sich damit einverstanden, dass wir Cookies verwenden.
Weitere Informationen Ok