Eigentlich dachte ich, dass es ein einfaches Standardproblem sein sollte für das es bereits Lösungen gibt, als ich 2013 ein iPhone und ein iPad in Betrieb nahm und Termine und Kontakte mit Outlook 2007 synchronisieren wollte. Die Erfahrungen, die ich bei Test verschiedener Produkte machte, waren jedoch deprimierend. Im besten Falle ließ sich die Software nicht installieren, in schlimmeren Fällen kommt es bei der Synchronisation zu Datenverlusten.
Ein sehr guter Artikel zum dem Thema kam von Dietmar Olaf. Allerdings hat keines der darin getesteten Produkte in meiner Umgebung (Synology DS1512+, Baikal 0.2.7, Windows 8 Pro, MS Office Outlook 2007) funktioniert, wobei OutlookDAV noch mit massiven Datenverlusten und keinerlei Support (obwohl Kaufprodukt) am schlechtesten abschnitt.
Frustriert habe ich das Thema zunächst auf Eis gelegt, bis ich Ende 2015 in der c't einen kleinen Artikel über Outlook CalDAV Synchronizer las. Um das Ergebnis vorweg zu nehmen: diese Software ist die bisher einzige, die funktioniert und keine Datenverluste zeigt.
Installation von Outlook CalDAV Synchronizer
Voraussetzungen:
Baikal auf Syno-NAS, ein User mit einem (default-)Kalender und einem (default-)Adressbuch eingerichtet
Windows-PC mit MS Office Outlook
Installation erfolgt durch Starten der Datei CalDavSynchronizer.Setup.msi
Danach sind einige Einstellungen durchzuführen. Die General Settings wurden im Standard belassen.
General Options.jpg
In den Synchronization Profiles muss jeweils eines für CalDAV und eines CardDAV angelegt werden. Dabei muss im Wesentlichen die Baikal-URL angegeben werden:
Synchronization Profiles.jpg
Synchronization interval wurde auf manuell eingestellt, um die Kontrolle über die Synchronisation zu behalten. Zunächst wird Synchronization Mode auf
eingestellt und die erste Synchronisation durchgeführt, später im laufenden Betrieb wird
eingestellt.
Nach der ersten Synchronisation wurde das Ergebnis geprüft. Dazu wurde in Outlook eine ics-Datei mit allen Terminen erzeugt. Dies geschieht per Outlook-VBS-Makro:
Die Termine aus Baikal erhält man mittels SQL-Abfrage, bei SQLite:
bei MySQL ist ein kleines Programm nötig, um die BLOBs in die Datei zu schreiben.
Durch Vergleich der beiden ICS-Dateien (durchgeführt mit Excel und ein paar VBS-Makros) konnte geprüft werden, ob die Synchronisation vollständig und zerstörungsfrei gelaufen ist. Auch später kann man immer wieder die Synchronität mittels dieser Technik prüfen.
Ein sehr guter Artikel zum dem Thema kam von Dietmar Olaf. Allerdings hat keines der darin getesteten Produkte in meiner Umgebung (Synology DS1512+, Baikal 0.2.7, Windows 8 Pro, MS Office Outlook 2007) funktioniert, wobei OutlookDAV noch mit massiven Datenverlusten und keinerlei Support (obwohl Kaufprodukt) am schlechtesten abschnitt.
Frustriert habe ich das Thema zunächst auf Eis gelegt, bis ich Ende 2015 in der c't einen kleinen Artikel über Outlook CalDAV Synchronizer las. Um das Ergebnis vorweg zu nehmen: diese Software ist die bisher einzige, die funktioniert und keine Datenverluste zeigt.
Installation von Outlook CalDAV Synchronizer
Voraussetzungen:
Baikal auf Syno-NAS, ein User mit einem (default-)Kalender und einem (default-)Adressbuch eingerichtet
Windows-PC mit MS Office Outlook
Installation erfolgt durch Starten der Datei CalDavSynchronizer.Setup.msi
Danach sind einige Einstellungen durchzuführen. Die General Settings wurden im Standard belassen.
General Options.jpg
In den Synchronization Profiles muss jeweils eines für CalDAV und eines CardDAV angelegt werden. Dabei muss im Wesentlichen die Baikal-URL angegeben werden:
https://<Syno Servername oder IP-Adresse>/baikal/cal.php/calendars/<Username>/default/
sowiehttps://<Syno Servername oder IP-Adresse>/baikal/card.php/addressbooks/<Username>/default/
ergänzt um Username und Password.Synchronization Profiles.jpg
Synchronization interval wurde auf manuell eingestellt, um die Kontrolle über die Synchronisation zu behalten. Zunächst wird Synchronization Mode auf
Code:
Outlook -> Server (Replicate)
Code:
Outlook <-> Server (Two-Way)
Nach der ersten Synchronisation wurde das Ergebnis geprüft. Dazu wurde in Outlook eine ics-Datei mit allen Terminen erzeugt. Dies geschieht per Outlook-VBS-Makro:
Code:
Public Sub ExportEntireCalendar()
'
' ExportEntireCalendar
' 21.01.2014 RB
' Export des Kalenders als ICS-Datei
'
' Quelle:
' http://msdn.microsoft.com/de-de/library/ff862395.aspx
'
icsDatei = "Dateiname für die ics-Ausgabe"
Dim oNamespace As NameSpace
Dim oFolder As Folder
Dim oCalendarSharing As CalendarSharing
Set oNamespace = Application.GetNamespace("MAPI")
Set oFolder = oNamespace.GetDefaultFolder(olFolderCalendar)
Set oCalendarSharing = oFolder.GetCalendarExporter
With oCalendarSharing
.CalendarDetail = olFullDetails
.IncludeWholeCalendar = True
.IncludeAttachments = True
.IncludePrivateDetails = True
.RestrictToWorkingHours = False
End With
oCalendarSharing.SaveAsICal icsDatei
End Sub
Code:
.open Baikal.sqlite
.header off
.once Baikal-Kalender.ics
select calendardata from calendarobjects;
.quit
Durch Vergleich der beiden ICS-Dateien (durchgeführt mit Excel und ein paar VBS-Makros) konnte geprüft werden, ob die Synchronisation vollständig und zerstörungsfrei gelaufen ist. Auch später kann man immer wieder die Synchronität mittels dieser Technik prüfen.