Android iCalParse/CalendarSync

Kontakt: calendarsync[at]gmx.at



Handbuch

Funktionen:

  • Die App nützt einen selbsterstellten Parser welcher mehr und komplexere Feature unterstützt als die iCalendar Parser anderer Anwendungen.
  • Importiert Termine, Alarme und Teilnehmer direkt aus iCal-Dateien (*. ics) und Anwendungen.
  • Importiert Termine, Alarme und Teilnehmer direkt aus Microsoft Kalender-Dateien (*. vcs) und Anwendungen.
  • Export Termine, Alarme und Teilnehmer, die auf dem Gerät gespeichert sind in iCal-Dateien (*. ics).
  • Machen Sie einen kurzen Blick auf die Termine die in iCal-Dateien gespeichert sind ohne diese zu importieren.
  • Updatet alte und neue Termine aus iCal-Datei.
  • iCalendar-Dateien werden in diesem App verbunden.
  • Zeitzone werden umfassend unterstützen.
  • Unterstützt das Erstellung und Entfernen von Kalendern auf dem Gerät.
  • Fingerfreundliche Oberfläche
  • Laden, Parsen und Importieren von iCal-Dateien direkt aus dem Internet aus verschiedenen Quellen.
  • Die App unterstützt selbsterstellte Zertifikate.
  • Unterstützt die Synchronisation von und zum einem Server, welcher Kalender Informationen mit HTTP / HTTPS anbietet (WebDAV bei zwei Wege Sync).
  • Unterstützt die Synchronisation von und zum einem Server, welcher Kalender Informationen mit dem CalDAV Protokoll anbietet.
  • Einfache und schnelle Konfiguration durch ein automatisiertes Auffinden Ihrer Kalender am Server (CalDAV)
  • Unterstützt die Synchronisation von und zum einem Server, welcher Kalender Informationen mit dem FTP / FTPS Protokoll anbietet.
  • Unterstützt den Download / Umgang mit webcal / webcals Feeds.
  • Hintergrund Sync von Kalender-Informationen.
  • Automatische Hintergrund-Synchronisationen können in regelmäßigen Abständen durch die App selbst ausgelöst werden oder es kann durch externe Anwendungen wie Tasker gestartet werden.
  • Suche nach Updates.
  • Logging, keine Geheimnisse. Sehe Sie jederzeit was passiert und warum
  • Unterst├╝tzt selbst unterzeichnete Zertifikate und zertifikat-basierte Client\Server Authentifizierung
  • Erweiterte Filterung der Informationen
  • Unterstützt Geräte mit mehreren CPU-Kernen und erlaubt eine schneller Verarbeitung, Download, etc. der Kalenderdaten.
  • Mehrere-Sprachen: Derzeit Deutsch, Englisch, Spanisch und Französisch.
  • Wenn Sie Interesse an der Übersetzung der App in anderen Sprachen haben, kontaktieren Sie mich bitte.

Interessante Features für Großbestellungen:

  • Konfigurieren und verteilen von Serververbindungen automatisiert durch adb, Webseiten, E-Mails, etc.
  • Konfigurieren allgemeiner Einstellungen durch adb, Webseiten, E-Mails, etc.
  • Verteilen Sie Konfigurationen schnell an Ihre Anwender und schützen Sie diese vor Veränderungen.
  • Spezielle Lizensierungstechniken
Bei Interesse einfach an calendarsync@gmx.at schreiben! Zahlreiche Unternehmen setzen CalendarSync bereits erfolgreich ein.

Anforderungen:

Android 2.2 oder neuer.

Hinweis :

Wenn Sie eine Liste von Informationen z.B. eine Liste von iCalendar (.ics) Dateien erhalten, versuchen Sie mit den Fingern länger auf ein Element zu drücken. Dann erhalten Sie in den meisten Fällen ein Kontext.enü in welchem Sie dann eine bestimmte passende Aktion auswählen können.

Anfangskonfiguration:

Meistens verwenden Android basierende Geräte mehr als einen Kalender. Die App erlaubt es daher einen Kalender zu definieren, mit dem die Termine synchronisiert werden sollen. Um dies zu tun verwenden Sie bitte die Optionen. Falls der User keinen Kalender ausgewählt und trotzdem den Import der Kalenderinformationen startet, wählt die App automatisch einen aus, falls dies möglich ist.

Grundsätzlicher Synchronisationsablauf:

Die App verwendet immer zwei Schritte. Erstens den Analyseschritt (Verarbeite WebiCals bzw. Verarbeite lokale Dateien). Während dieses Schrittes wird versucht Kalenderinformationen zu finden z.B. wird die App Sie bitten eine Datei auszuwählen oder (je nach Konfiguration) selbstständig eine andere Kalenderinformation vom Netzwerk herunterladen. Danach werden die Information geparst/analysiert und danach für den Import vorbereitet. Jene Informationen die den Analyseschritt durchlaufen haben, können nun im Importier-Schritt (Importieren Button) importiert werden. Bei manchen Netzwerkkalender (WebiCals) werden beide Schritte in einzelnen Vorgang durchlaufen. Ein zusätzlicher Start des Importschrittes ist dann nicht mehr notwendig.

Dummy Sync Account:

Die App erstellt automatisch einen dummy Sync Account, wenn Sie die App nützen um einen neuen Kalender zu erstellen. Diese Sync Account wird mit dem erstellen Kalender verknüpft und verhindert hierdurch, dass Android den Kalender selbstständig entfernt.

Main Buttons und ihre Funktionen:

Verarbeite WebiCals:

Wenn Sie diesen Schaltknopf drücken werden alle aktiven WebiCals analysiert und die dort hinterlegten Netzwerkkalender bearbeitet. Je nach Konfiguration der WebiCals werden entweder nur Termine heruntergeladen und analysiert welche danach importiert werden können oder (falls Sie WebiCals mit aktiver zwei Wege Sync Option verwenden) es werden auch Änderungen vom und zum Gerät bzw. Server übertragen. Ein zusätzliches starten des importieren Schrittes ist bei solchen WebiCals dann nichtmehr notwendig.

Analysiere lokale Dateien:

Um mit iCalendar Informationen zu arbeiten, müssen Sie diese vorher analysieren. Durch drücken des Buttons können Sie eine iCalendar (.ics) Datei auf Ihrem Android Gerät oder im Internet analysieren. Nach dem Sie ein paar Informationen analysiert haben, wird der Import Button verfügbar sein. Sie können sich au▀erdem die analysierten Informationen ansehen indem Sie den "Analysierte Daten" Button, im Menü, verwenden.

Importieren:

Nachdem Sie Informationen analysiert haben, können diese importieren werden, indem Sie diesen Button drücken. Abhängig von Ihrer Konfiguration, werden die Informationen auf unterschiedlichen Wegen und in einen anderen Kalender importiert. Sie können mehr Informationen im Optionsabschnitt dieser Anleitung finden.

Exportieren der Termine:

Wenn Sie diesen Button drücken, wird die App alle Termine die in Ihrem Kalender gespeichert sind exportieren (Sie können einen speziellen Kalender zum Exportieren in den Optionen auswählen). Der Kalender wird exportiert in einer Datei mit der Bezeichnung (KalenderName).iCalendarBackup.(DatumUndZeit).ics, welche im Ordner CalendarSync auf Ihrem Telefon gespeichert wird.

Zeige Log Informationen:

Hier können Sie eine Liste aller Statusmeldungen sehen, die von der Applikation produziert wurden. Diese werden verwendet um die App zu debuggen und Sie können der App "beim Arbeiten" zusehen, falls es Sie interessiert. Außerdem können Sie die Logfiles speichern, indem Sie den Button "Log speichern" drücken. Diese werden in einem Ordner namens CalendarSync auf ihrem Telefon gespeichert und haben den Namen Log.(DatumUndZeit).txt. Sie können mir auch das aktuelle Log zusenden. Danach kann ich die Loginformationen bezüglich möglicher Probleme analysieren. Um dies zu tun drücken Sie bitte den Button "Sende Log-Informationen zum Entwickler".

Wie parsen/importieren Sie eine lokale iCalendar (.ics) Datei:

Durch drücken des "Analysieren" Buttons, wählen Sie eine Datei aus indem Sie das Kontext Menü verwenden, um diese zu parsen. Danach drücken Sie bitte den Import Button. Es ist auch möglich dass Sie die Dateien direkt öffnen wie z.B. Musikdateien. Hierzu müssen Sie die Datei ähnlich wie z.B. eine MP3 einfach in ihrem bevorzugten Dateiexplorer öffnen. Nachdem Sie die Datei angeklickt haben wird Ihnen meine App vorgeschlagen um die Datei weiterzuverarbeiten. Mit meiner App können Sie auch z.B. E-Mail Attachments direkt öffnen und weiterverarbeiten.

Kalendermanagement:

Sie können meine App auch dazu verwenden um neue Kalender auf ihrem Gerät zu erzeugen. Diese Funktion können Sie erreichen wenn Sie auf dem Hautpbildschirm die Menütaste drücken und die "Kalendermanagement" Schaltfläche wählen. Diese Kalender können danach für die Synchronisation von z.B. WebiCals verwendet werden. Die erzeugten Kalender sind unabhängig von Google und Termine in diesen Kalendern werden nicht auf Google Server übertragen!

Wie synchronisiere ich mich mit einer Kalenderdatenquelle aus dem Internet:

Sie müssen ein WebiCal für Ihren Server (Kalenderdatenquelle in einem Netzwerk wie dem Internet) definieren. Dies funktioniert wenn Sie die Menü Taste drücke und dann die Funktion "neues WebiCal erstellen" wählen. Wenn Ihr Server ein Webserver ist, verwenden Sie als Quellentype HTTP/HTTPS. Wenn Sie einen CalDAV Server verwenden, benützen Sie bitte CalDAV. Wenn Sie einen FTP Server verwenden, benutzen Sie bitte FTP/FTPS. Danach können Sie den "Verarbeite WebiCals" Button im Hauptfenster drücken oder Sie können das Kontext Menü auf der WebiCals Übersicht aufrufen. Danach drücken Sie bitte den "Importieren" Button. Bei CalDAV/FTP/WebDAV ist es nicht nur möglich Kalenderdaten auf das Gerät zu überspielen sondern Änderungen am Gerät können auch wieder auf den Server übertragen werden. Bei aktiviertem zwei Wege Sync wird der Import gleich automatisch werden dem verarbeiteten der WebiCals durchgeführt.

Wie kann man bereits bestehende Termine mit einem WebiCal verknüpfen:

Bereits existierende Termine können einem beliebigen WebiCal der App zugeordnet werden (ein WebiCal ist hierbei immer eine konfigurierte externe Kalenderdatenquelle, z.B. ein Kalender auf einem Server). Um dies durchzuführen müssen Sie lange auf den gewünschten WebiCal drücken (eine Übersicht aller verfügbaren WebiCals ist in der "Erstellte WebiCals anzeigen" Übersicht abrufbar in der App, daher CalendarSync starten -> Menü Taste drücken -> Erstellte WebiCals anzeigen) und danach Termine zuordnen auswählen. Die Termine werden dann diesem WebiCal zugeordnet und bei der nächsten Synchronisation auf zu ihrem Server übertragen.

Wie konfigurieren Sie die automatische Synchronisation:

Es gibt zwei Möglichkeiten CalendarSync zu verwenden um verschiedene Internetquellen automatisch zu synchronisieren. Als erstes immer die Internetquellen konfigurieren, Informationen dazu finden Sie oberhalb. Beide Sync Arten finden im Hintergrund ohne Anwenderinteraktion statt.
Erste Möglichkeit: Verwenden Sie die App selber zum periodischen Synchronisieren
Dazu müssen Sie die automatische Synchronisation in den Optionseinstellungen aktivieren und eine automatische Synchronisationsperiode auswählen. Falls Sie eine Periode von einer Stunde auswählen, wird die App alle definierten und aktiven Internetquellen jede Stunde synchronisieren. Um diesen Modus nützen zu können muss nach der Aktivierung der Option das Gerät einmal neu gestartet werden.
Zweite Möglichkeit: Verwenden Sie eine externe App um die Synchronisation auszulösen
Dazu müssen Sie eine App wie "Tasker" installiert haben und erlauben Sie in den Optionen die "Externer auto sync" Option. Diese App kann nun CalendarSync so starten, dass Ihre definierten Internetquellen synchronisiert werden.
Laut einem Anwender von Tasker funktioniert die folgende Konfiguration: Hinzufügen eines "Sende Intent" (unter "Sonstige") mit:
Action = com.icalparse.autosync.ServiceAutoSync
Extra = com.icalparse.force:true
Target: Service


Auch die App Llama kann so verwendet werden. Hierzu erstellen Sie einen Eintrag mit Intentmodus:Starte Service, Packetname:com.icalparse, Klassenname:com.icalparse.autosync.ServiceAutoSync sowie einen Extra Eintrag mit dem Keynamen force (Typ bool) welcher auf true gesetzt wird.
Achtung: Für die Testversion der App muss ein anderer Packetname verwendet werden. Daher statt com.icalparse bitte com.icalparse.free verwenden, die restlichen Einstellungen bleiben gleich.
Sie können die beiden Möglichkeiten der automatischen Synchronisation auch kombinieren.

Synchronisationsintervall für den automatischen Abgleich festlegen:

Die App unterstützt zwei Arten von Synchronisationintervallen. Erstens das globale Synchronisationsintervall das in den App Einstellungen (Optionsgruppe: AutoSync) eingestellt werden kann. Dieses wird standardmäßig von jedem WebiCal verwendet. Zusätzlich kann diese globale Einstellung für jedes WebiCal individuell überschrieben werden falls z.B. die eine Kalenderdatenquelle jede Stunden und die andere jeden Tag abgeglichen werden soll. Hierzu die App Starten -> Menü Taste drücken -> Erstellte WebiCals anzeigen -> Lange auf das jeweilige WebiCal drücken (Listeneintrag) und Editieren wählen. Etwas runterscrollen und dort kann ein individueller Synchronisationsintervall gewählt werden oder entschieden werden wieder den globalen Intervall zu verwenden. Zusätzlich kann der WebiCals auch komplett ausgenommen werden, ein manueller Abgleich ist aber trotzdem möglich.

Was sind WebiCals:

WebiCals werden verwendet um Internetquellen für Ihre Kalenderinformationen zu definieren. Wenn Sie den "Verarbeite WebiCals" Button im Main Fenster drücken, werden alle aktiven WebiCals geladen und analysiert. Ebenso wird das Feature der automatischen Synchronisation alle aktiven WebiCals synchronisieren. Sie können WebiCal auch als inaktiv definieren, sodass es nicht automatisch geparst wird. Als Standardwert sind alle neu definierten WebiCal aktiv. Auf vergleichbare Weise funktioniert auch die Einstellung Primär innerhalb eines WebiCals. Diese kann dafür verwendet werden falls mehrere WebiCals mit dem gleichen Android Kalender synchronisiert werden sollen und definiert auf welchem Server ein neu zu diesem Kalender hinzugefügter Termin gespeichert werden soll. Um WebiCal auf inaktiv zu setzen verwenden Sie bitte den Zeige definierte WebiCals Menüeintrag und drücken sie lange auf das zu editierende WebiCal.Hier können Sie auch ein inaktives WebiCal aus der Liste wählen und mittels des Kontextmenüeintrages "Analysieren" die Verarbeitung starten.

Erklärung einiger häufiger Fragen zu WebiCals:

Primäres WebiCal - Nur sichtbar wenn das WebiCal editiert wird:

Es können mehrere WebiCals so konfiguriert sein dass die Termine im gleichen Kalender abgelegt werden. Wird jetzt ein neuer Termin angelegt landet dieser auf dem Server dessen WebiCal als Primär definiert ist.

Aktives WebiCal - Nur sichtbar wenn das WebiCal editiert wird:

Wenn diese Einstellung deaktiviert wird dann wird es beim manuellen Sync aller WebiCals (Verarbeite WebiCals am Haupbtbildschirm) und beim autoamtischen Sync nichtmehr berücksichtigt. In der WebiCal Übersicht kann die Synchronisation aber noch gezielt ausgelöst werden.

Zwei Wege Sync:

Der zwei Wege Sync ist standardmäüig ausgeschaltet, wenn er nicht aktiviert wird findet auch keine Zwei Wege Synchronisation statt. Bei WebiCals wo der Zwei Wege Sync nicht aktiv ist muss für einen manuellen Sync zuerst auf Verarbeite WebiCals gedrückt werden und danach auf den darunterliegenden Importieren Knopf (außer es ist der Autoimport eingeschalten). Bei der automatischen Synchronisation werden die so konfigurierten WebiCal natürlich mit berücksichtigt.

Verbindungsart lokale Datei:

Verwenden Sie diese Verbindungsart wenn Sie den WebiCal verwenden möchten um sich regelmäßig mit einer lokal am Gerät vorhandenen Kontaktdatei (.vcf) abzugleichen. Diese Datei kann dann z.B. auch über Dropbox oder anderen Cloud Apps synchronisiert werden. Den Pfad zu dieser Datei müssen Sie im URL Feld angeben. Die App startet hierbei bei der Suche nach dem Pfad immer in /mnt/sdcard/. Daher für eine Datei welche in folgendem Pfad zu finden ist /mnt/sdcard/testordner/test.vcf muss nur folgendes eingetragen werden /testordner/test.vcf. Für Dateien welche nicht unterhalb von /mnt/sdcard/ gespeichert sind kann der .. (.. geht einen Schritt in der Ordnerhierarchie zurück) Operator verwendet werden um den Standardstartpunkt zu adaptieren. Daher für folgenden Pfad /mnt/sdcardXX/testordner/test.ics müsste folgendes eingetragen werden /../sdcardXX/testordner/test.ics. Falls Sie nur ab und zu eine bestimmte Datei importieren wollen ist es einfacher wenn Sie diese in Ihrer bevorzugten Dateiverwaltungsapp öffnen. Dazu einfach zu der Datei navigieren und dort dann diese anklicken. Mein App wird dann vorgeschlagen oder startet sogar automatisch und beginnt danach mit der Analyse der Datei.

URL:

Hier muss bei WebDAV/HTTP und FTP der komplette Pfad zur Datei angegeben werden.
Beispiel einer solchen URL bei FTP:ftp(e)(s)://meinedomain.at/meinordner/meindedatei.ics
Wird bei einer FTP Verbingung ftps:// angegeben dann wird eine verschlüsselte Verbindung im implizieten Verschlüsselungsmodus aufgebaut. Wird ftpes:// angegeben dann wird eine Verbindung unter Verwendung des explizietem Verschlüsselungsmoduses aufgebaut.
Beispiel einer solchen URL bei WebDAV/HTTP:http(s)://meinedomain.at/meinordner/meindedatei.ics
Beispiel einer solchen URL bei einem Sync mit einer lokalen Datei:
Bei dem Verbindungstyp lokale Datei, siehe oben.
Für den Verbindungstyp CalDAV finden Sie unter dem Bereich CalDAV Anbieter Tipps für sehr viele Server.

CalDAV WebiCals zwei Wege Snychronisation:

Wenn Sie CalDAV WebiCals definiert haben und möchten dass Änderungen vom Server auf das Gerät und Änderungen vom Gerät auf den Server übertragen werden mÜssen Sie in den Optionen folgende Einstellungen aktivieren. Beim Erstellen des WebiCals muss ein Hacken bei "Zwei Wege Sync" gesetzt werden. Wenn Sie dann den Verarbeite WebiCals Schritt starten werden von allen aktiven und entsprechend konfigurierten CalDAV WebiCals die Änderungen auf das GerÄt und danach die Änderungen vom Gerät auf die Server übertragen. Da alle Arbeit in diesem Schritt geschieht ist der Import Schritt danach nichtmehr notwendig.

FTP WebiCals zwei Wege Synchronisation:

Wenn Sie FTP WebiCals definiert haben und möchten dass Änderungen vom Server auf das Gerät und Änderungen vom Gerät auf den Server übertragen werden müssen Sie in den Optionen folgende Einstellungen aktivieren. Beim Erstellen des WebiCals muss ein Hacken bei "Zwei Wege Sync" gesetzt werden. Wenn Sie dann den Verarbeite WebiCals Schritt starten werden von allen aktiven und entsprechend konfigurierten FTP WebiCals die Änderungen auf das Gerät und danach die Änderungen vom Gerät auf die Server übertragen. Da alle Arbeit in diesem Schritt geschieht ist der Import Schritt danach nichtmehr notwendig. Die Kalenderdatei mit welcher synchronisiert werden soll muss bereits auf dem Server existieren!
Der Pfad zur Datei muss im vollen Umfang angegeben werden. Beispiel einer solche URL:ftp(s)://meinedomain.at/meinordner/meindedatei.ics
Bitte beachten Sie, dass FTP nicht dafür gedacht ist verschiedene geleichzeitige/parralele Änderungen an Dateien zu unterstüzten. Hierdurch kann es dazu kommen dass eine Synchronisation nicht vollständig durchgeführt werden kann wenn von verschiedenen Anwendern/Geräte gleichzeitig ein zwei Wege Sync ausgeführt wird. Falls Sie also mehreren unterschiedlichen Benutzern die Synchronisation auf einen Kalender erlauben möchten empfehle ich die Verwendung eines CalDAV Servers.
Problematisch ist auch wenn Sie in Ihren Terminen von Android nicht unterstützte Eigenschaften nützen (z.B. das Speichern binärer Dateien in den Terminen) diese Informationen können verloren gehen.

HTTP/WEBDAV WebiCals zwei Wege Synchronisation:

Wenn Sie HTTP/WEBDAV WebiCals definiert haben und möchten dass Änderungen vom Server auf das Gerät und Änderungen vom Gerät auf den Server übertragen werden müssen Sie in den Optionen folgende Einstellungen aktivieren. Beim Erstellen des WebiCals muss ein Hacken bei "Zwei Wege Sync" gesetzt werden. Wenn Sie dann den Verarbeite WebiCals Schritt starten werden von allen aktiven und entsprechend konfigurierten HTTP/WEBDAV WebiCals die Änderungen auf das Gerät und danach die Änderungen vom Gerät auf die Server übertragen. Da alle Arbeit im Analyse Schritt geschieht ist der Import Schritt danach nichtmehr notwendig. Die Kalenderdatei mit welcher synchronisiert werden soll muss bereits auf dem Server existieren!
Der Pfad zur Datei muss im vollen Umfang angegeben werden. Beispiel einer solche URL:http(s)://meinedomain.at/meinordner/meindedatei.ics
Bitte beachten Sie, dass WebDAV nicht dafür gedacht ist verschiedene geleichzeitige/parralele Änderungen an Dateien zu unterstüzten. Hierdurch kann es dazu kommen dass eine Synchronisation nicht vollständig durchgeführt werden kann wenn von verschiedenen Anwendern/Geräte gleichzeitig ein zwei Wege Sync ausgeführt wird. Falls Sie also mehreren unterschiedlichen Benutzern die Synchronisation auf einen Kalender erlauben möchten empfehle ich die Verwendung eines CalDAV Servers.
Problematisch ist auch wenn Sie in Ihren Terminen von Android nicht unterstützte Eigenschaften nützen (z.B. das Speichern binärer Dateien in den Terminen) diese Informationen können verloren gehen.

Wie kann ein Google oder Exchange Kalender mit ihren eigenen Kalenderdatenquellen synchronisiert werden:

Sie können CalendarSync, unter anderem, benützen um z.B. eine bliebige Kalenderdatenquelle (alle angebotenen Verbindungsarten werden unterstützt z.B. ihr eigener private Kalenderserver oder eine Kalenderservice von Dritten) mit z.B: einem Google oder Exchange Kalender abzugleichen.

Hierzu wird der in Android eingebaute Google/Exchange Sync Adapter mit CalendarSync kombiniert sodass eine Synchronisation wie folgt abläuft:
Google/Exchange Calendar <- Google/Exchange Sync Adapter von Android -> Android Calendar <- Calendar -> Ihre beliebige Kalenderdatenquelle

Um dies umzusetzten müssen Sie zuerst Ihre eigene Kalenderdatenquelle in CalendarSync konfigurieren. Hierzu CalendarSync starten -> Menü Taste drücken -> Neues WebiCal erstellen wählen. Ich empfehle die Verwendung der geführten Konfiguration für Kalenderdatenquellen die über CalDAV erreicht werden können. Für alle anderen unterstützten Synchronisationarten (FTP, HTTP, WebDAV, WebCal, FTP, Cloudspeicher, lokale Dateien am Gerät,...) kann der professionelle Konfigurationsmodus verwendet werden. Danach konfigurieren Sie bitte ihren Google oder Exchange Kalender mit den in Android eingebauten Synchronisationsadaptern.

Es befinden sich nun zwei Kalender am Gerät. Einmal der Google/Exchange Kalender der über die in Android eingebauten Bordmittel abgeglichen wird und einmal ihre beliebige Kalenderdatenquelle die CalendarSync abgeglichen wird. Es gilt nun diese beide zu verbinden.

Bitte beachten Sie: Wenn vor der ersten Synchronisation beide Kalenderquellen Google/Exchange und ihre eigene Quelle die gleichen Termine beinhalten dann kann es zu verdoppelungen kommen da die Daten jeder Quelle eins zu eins zur anderen Quelle übertragen werden. DIes betrifft nur die erste Synchronisation da danach CalendarSync weiß wie die Termine zusammenhängen! Es ist daher empfehlenswert z.B: mit einem neuen leeren Kalender in einer der Quellen zu starten.

Um die Datenquellen zu verbinden ist wie folgt vorzugehen:
Starte CalenarSync -> Drücke Menü Taste -> Wähle Erstellte WebiCals anzeigen

Es wird nun das gerade konfigurierte WebiCal für Ihre Kalenderdatenquelle angezeigt. Drücken Sie lange auf diesen Eintrag und wählen Sie "Klonen". Dies kopiert die Einstellungen des WebiCals und öffnet diese. Scrollen Sie etwas nach unten bis zur Kombobox in welcher Sie den Android Kalender auswählen können in welchem das WebiCals seine Termine ablegt bzw. ausliest. Wählen Sie hier ihren Google/Exchange Kalender aus, scrollen Sie ganz nach unten und Speichern Sie das WebiCal. Nun sind die Kalenderdatenquellen Verbunden und CalendarSync sorgt dafür dass bei kommenden Synchronisationen die beiden nun verbundenen Quellen synchron gehalten werden.

Achtung: Google/Exchange sendet Einladungen an alle Terminteilnehmer von Terminen welche in einem Google/Exchange Kalender gespeichert werden. Dies kann verhindert werden indem in CalendarSync eingestellt wird dass keine Teilnehmer synchronisiert werden sollen. Zu den Einstellungen gelangt man durch: CalendarSync starten -> Menü Taste drücken -> Einstellungen. Für die Richtung ihrer eigenen Kalenderdatenquelle zu Google/Exchange ist dies wie folgt möglich: Einstellungsgruppe "Import" -> Teilnehmer nicht importieren aktivieren Für die Richtung Google/Exchange zu ihrer eigenen Kalednerdatenquelle ist dies wie folgt möglich: Einstellungsgruppe "Abhilfen" -> Aktivieren: "Teilnehmer nicht exportieren"

Für die Synchronisation mit Outlook gibt es vier Möglichkeiten im Zusammenspiel mit der App mit Android:

1)Outlook kann Kalender als .ics Datei (Datei -> Kalender speichern) oder Kontakte in eine .vcf Datei exportieren und importieren. Daher man exportiert die Termine/Kontakte in einer der beiden Programme (meine App oder Outlook), kopiert die Datei aufs jeweils andere Gerät und importiert diese dann dort mit dem geweilig anderen Programm. Damit ist ein zwei Wege sync möglich.
2)Einsatz von z.B. CalDAV (für Termin) oder CardDAV (für Kontakte). Hier ist dann über eine Netzwerk ein zwei Wege Sync möglich. Da Outlook das allerdings nicht von sich aus kann bedarf es dafür zusätzliche Plugins wie CFOs. Meine App bringt bereits alles notwendige von sich aus mit um das Android Gerät in diese Lösung einzubinden. Zwei Wege Sync ist damit möglich. Man kann entweder selbst einen server betreiben oder auf kostenlose Anbieter zurückgreifen wie web.de.
3)Einsatz von WebDAV (für Termin). Hier ist dann über eine Netzwerk ein zwei Wege Sync möglich. Da Outlook das allerdings nicht von sich aus kann bedarf es dafür zusätzliche Plugins wie iCal4OL. Meine App bringt bereits alles notwendige von sich aus mit um das Android Gerät in diese Lösung einzubinden. Im Vergleich zu Möglichkeit 3 ist hier kein aufwendiger Kalenderserver notwendig, auch kostenlose Webspeicher den es von vielen Anbietern gibt reichen aus.
4)Publishen der Kalender auf einen WebDAV Server ohne zusätzliches Plugin erlaubt lesenden Zugriff auf den Outlook Kalender und wird von Haus aus von Outlook unterstützt. Kostenlose WebDAV Speicher wie die von GMX sind dabei möglich oder auch selbst betriebene Lösungen.

Automatisches auffinden der Kalender (CalDAV):

Die App kann automatisch alle Kalender auf Ihrem Server auffinden und konfigurieren. Dazu starten Sie die App -> Drücken den Menü Knopf -> Wählen neues WebiCal erstellen. Starten Sie mir der geführten Konfiguration für CalDAV Server. Tragen Sie ihren Benutzernamen, Passwort und die URL des Servers ein. Testen Sie nun die Verbindung zum Server. Die App informiert Sie darüber ob der Server gefunden wurde, die Lodingdaten korrekt waren, etc. Ist alles in Ordnung können Sie mit dem Suchen der Kalender fortfahren. Wählen Sie nun die Kalender aus welche Sie konfigurieren möchten und drücken Sie auf WebiCal erstellen. Die App erstellt die passende Konfiguration und Android Kalender zum ablegen der Termine. Sie können nun Ihren ersten manuellen Abgleich starten oder einen automatischen Abgleich konfigurieren.

Einstellungen sichern und wiederherstellen

Es können bestehende WebiCals (konfigurierte Server) exportiert und später wieder importiert werden. Hierzu die App Starten -> die Menü Taste drücken -> Erstellte WebiCals anzeigen wählen. Dann die Menü Taste erneut drücken und Backup aller WebiCals erzeugen auswählen. Man kann sich nun noch entscheiden ob die Login Passwörter ebenfalls mit exportiert werden sollen. Das Backup wird im Hauptordner der App (standardmäßig namens CalendarSync, konfigurierbar in den Einstellungen) abgelegt. Von dort kann es dann z.B. kopiert und auf ein neues Gerät importiert werden. Wählt man die Option WebiCal Backup wiederherstellen dann werden alle Backups die im Hauptordner abgelegt wurden aufgelistet und es kann gewählt werden welche wiederhergestellt werden sollen. Bei einer Wiederherstellung erzeugt die App die passenden WebiCals und legt die dazugehörigen Android Kalender an. Die wiederhergestellten Konfiguration kann sofort zur Synchronisation verwendet werden. Falls das Backup ohne die Login Passwörter erstellt wurde müssen Sie die wiederhergestellten WebiCals bearbeiten und dieses eintragen sodass CalendarSync auf den Server zugreifen kann.

Einstellungen von der Test- zur Vollversion übertragen

Es können bestehende WebiCals (konfigurierte Server) und zugehörige Metadaten aus der Testversion exportiert und später wieder in die Vollversion importiert/übertragen werden. Hierzu die App Starten -> die Menü Taste drücken -> Erstellte WebiCals anzeigen wählen. Dann die Menü Taste erneut drücken und WebiCals zur Pro Version übertragen auswählen. Das Backup wird im Hauptordner der App (standardmäßig namens CalendarSync, konfigurierbar in den Einstellungen) abgelegt. Wählt man die Option WebiCal Backup wiederherstellen (in der WebiCal Übersicht der Vollversion) dann werden alle Backups die im Hauptordner abgelegt wurden aufgelistet und es kann gewählt werden welche wiederhergestellt werden sollen. Bei einer Wiederherstellung erzeugt die App die passenden WebiCals und übernimmt die bestehenden Kalender und Termine. Die wiederhergestellten Konfiguration kann sofort zur Synchronisation verwendet werden.

Menü:

Analysierte Daten:

Wenn Sie bereits ein WebiCal oder eine iCalendar Datei analysiert haben, besitzen Sie hier die Möglichkeit einen Überblick über die analysierten Informationen zu erlangen. Wenn Sie lange auf einen Listeneintrag drücken, bekommen Sie ein Kontextmenü mit dem Button namens Details. Wenn Sie diesen Button drücken, haben Sie die Möglichkeit detailliertere Informationen über den Termin/Eintrag zu erhalten.

Neues WebiCal erstellen:

Hier können Sie ein neues WebiCal erstellen. Sie können eine URL definieren (wo die Kalenderinformationen zu finden sind) und falls es notwendig ist eine Username/Passwort Kombination festlegen, welche für den Zugang zu den Informationen verwendet wird. Sie müssen auch einen Quellentyp definieren z.B. ob die iCalendar Informationen auf einen Webserver (HTTP bzw. WebDAV), einem FTP Server oder einem CalDAV Server gespeichert werden. Für webcal/webcals Kalender Feeds verwenden Sie bitte HTTP/HTTPS als Quelltyp. Wenn Sie CalDAV als Quelltyp auswählen, können Sie einen CalDAV Provider auswählen. Meistens reicht der allgemeine Provider nur ab und zu wird ein spezieller Provider benötigt z.B. wenn die Server Software bestimmte bekannte Fehler hat. In diesem Fall braucht der Server eine spezielle Behandlung. Vergleichbar dazu ist es auch möglich einen WebDAV Provider zu wählen wenn Sie als Verbindugnsart HTTP gewählt haben. Unter "Wähle Kalender" kann ein Kalender des Gerätes definiert werden welchen das WebiCal verwenden soll um sich zu synchronisieren. Wir kein Kalender gewählt oder wird der gewählt Kalender gelöscht wird automatisch der allgemeine Kalender genützt welcher in den Optionen definiert wurde. Falls auch in den Optionen kein Kalender gewählt wurde versucht die App selbstständig einen Kalender zu bestimmen. Sie können Ihre WebiCals unter Zuhilfenahme des Kontextmenüs auf dem Display WebiCal Fenster editieren.

Erstellte WebiCals anzeigen:

Hier können Sie eine Übersicht über ihre bisher erstellen WebiCals bekommen. Wenn Sie lange auf einen Listeneintrag drücken erhalten Sie folgende Optionen:

Löschen:

Löscht das WebiCal. Wenn sie eine WebiCal löschen werden auch die zugehörigen Termine entfernt (vom Gerät nicht vom Server!).

Analysieren:

Lädt und verarbeitet dieses WebiCal.

Editieren:

Hier können Sie das WebiCal editieren z.B. ändern des Passworts oder das WebiCal deaktivieren.

Bereinigen:

Entfernt alle Termine welche zuvor über dieses WebiCal auf das Gerät gelangt sind vom Gerät (nicht vom Server!). Das WebiCal selbst wird nicht gelöscht.

Manual:

Zeigt die Anleitung an.

Kalendermanagement:

Hier sind eher selten genützte Funktionen gebündelt. Zum Beispiel das Erstellen oder Löschen eines Gerätekalenders. Wenn sie einen Kalender löschen werden auch alle entsprechenden Termine entfernt.

Optionen:

Hier können Sie die Applikation konfigurieren.

Was kann in den Optionen eingestellt werden:

Entferne vor Import:

Falls aktiviert, werden Termine welche mit dieser App zuvor importiert wurden gelöscht bevor ein neuer Termin importiert wird.

Alte Informationen nicht löschen:

Falls aktiviert, werden Termine welche mit dieser App importiert wurde, wird NICHT gelöscht wenn ein neuer Termin importiert wird. Termine die bereits auf dem Gerät sind werden upgedatet. Falls Sie Termine von einem WebiCal ohne aktivierten zwei Wege Sync importieren wird das entfernen trotzdem ausgeführt allerdings nicht wie bei der obigen Option für alle Termine sondern nur für diejenigen welche wirklich innerhalb der Serverdaten nicht mehr vorhanden sind.

Fall Sie beide Optionen deaktivieren, ist kein Import möglich. Diese beiden Einstellungen haben keine Auswirkung auf WebiCals welche den zwei Wege Sync aktiviert haben da hier die entsprechenden Operationen direkt aus den Änderungen in den Kalenderdaten abgeleitet werden können.

Kalender für den Import:

Wählen Sie, welcher Kalender für den Import verwendet werden soll. Es werden alle Kalender die auf ihrem Gerät verfügbar sind angezeigt. Falls der Name des Kalenders nicht gelesen werden kann wird NA angezeigt.

Beschränkter Teilnehmer import:

Fall diese Einstellung aktiviert wird wird die Anzahl der Teilnehmer welche pro Termin importiert wird beschränkt. Dies ist sinnvoll wenn Sie Termine mit vielen (hunderten) Teilnehmern haben. Ein Beispiel hierzu wären Termine an denen alle bzw. viele Angestellte einer Firma teilnehmen. Wie viele Teilnehmer importiert werden sollen kann in der unteren Option "Maximale Teilnehmeranzahl" eingestellt werden.

Maximale Teilnehmeranzahl:

Definierte maximale Teilnehmeranzahl welche importiert werden sollen. Um diese Option zu nützen muss die darüberliegene Einstellung "Beschränkter Teilnehmer import" aktiv sein.

Ignoriere Teilnehmer:

Wenn die Option aktiviert wird werden die in den verarbeiteten Kalenderdaten enthaltenen Teilnehmer nicht importiert/synchronisiert.

Ignoriere Alarme:

Wenn die Option aktiviert wird werden die in den verarbeiteten Kalenderdaten enthaltenen Alarme nicht importiert/synchronisiert.

Abgleich von Kalenderdateien mit WebiCals:

Termine welche aus lokalen Kalenderdateien z.B. .ics Dateien (z.B: aus E-Mails, etc. daher Termine welche NICHT mittels eines WebiCals übertragen wurden) stammen werden mit zwei Wege Sync WebiCals synchronisiert. Hierdurch können z.B. Termine von .ics Dateien auf einen CalDAV Server übertragen werden.

Prüfen ob neue Version verfügbar ist:

Fall aktiviert, wird die App während des Starts der Applikation überprüfen, ob ein Update verfügbar ist und informiert Sie bei bedarf darüber.

Auto Import:

Falls aktiviert, wird jede iCalendar Information (egal ob von einem WebiCal oder einer Datei) die Sie analysieren automatisch importiert.

Benachrichtigungen:

Falls aktiviert, werden wichtige Informationen immer dann angezeigt, wenn die App während dem Analysieren/Importieren nicht sichtbar ist. Das ist nützlich wenn Sie das Analysieren/Importieren von Kalenderinformationen starten und dann die App in den Hintergrund legen.

Deaktiviere alle Benachrichtigungen:

Wenn die Option aktiviert wird werden keine Benachrichtungen über den momentanten Appstatus mehr erzeugt.

Verhindere den Schlafmodus:

Falls aktiviert, wird die App den Schlafmodus des Geräts während manueller Aktionen verhindern. z.B. während Kalenderinformationen importiert/geparst werden. Während der automatischen Synchronisation wird der Schlafmodus automatisch verhindert. Das ist hilfreich wenn Sie riesige/komplexe Kalenderinformationen analysieren/importieren wollen und Ihr Gerät so programmiert ist, dass es nach einigen z.B. Minuten in den Stromsparmodus wechselt. Wenn Sie diese Option der App aktivieren, kann diese den Vorgang in so einer Situation fortsetzen.

Verschiebe Termin Start/Ende um Tage

Verschiebt den Start/Ende von Terminen beim Import um einen Tag. Dies ist nur bei manchen Geräten notwendig.

Verschiebe Termin Start/Ende um Stunden

Verschiebt den Start/Ende von Terminen beim Import um Stunden. Dies ist nützlich wenn man Kalenderdaten aus anderen Ländern erhält welche keine Zeitzoneninformation beinhalten.

Selbsterstelle Kalenderbesitzer E-Mail

Wenn Sie mit meiner App einen neuen Kalender erstellen wird mit diesem eine E-Mail Adresse verknüpft. Diese kann hier definiert werden. Bei neu erstellten Terminen wird diese Adresse als Besitzer angegeben. Falls sie keinen oder keinen gültigen Besitzer definieren wird folgender verwendet:"sync.account@dummy.at"

Hinweise

Die App zeigt verschiedene Hinweise an z.B. beim ersten Start. Diese werden normalerweise nur einmalig angezeigt. Hier kann eingestellt werden ob ein Hinweis nochmals angezeigt werden soll.

Abhilfen

Die App implementiert Lösungen für Fehler in verschiedenen (auch herstellerabhängigen) Android Versionen. Manche davon können hier abgeschaltet/aktiviert werden.

Sie benötigen eine gültige Lizenz um die folgenden Optionen zu aktivieren:

Kalender für den Export:

Wählen Sie, welcher Kalender für den Export in eine lokale Datei (Export Schaltknopf) verwendet werden soll. Es werden alle Kalender die auf ihrem Gerät verfügbar sind angezeigt.

Benutzerdefinierter Import/Export Ordernpfad:

Benutzerdefinierter Pfad für den Ordner in welchem exportierte Kalender, Logdateien, etc. gespeichert werden. Der Pfad muss mit einem / beginnen und enden. Alle Ordner welche in diesem Pfad angegeben werden müssen bereits existieren. Falls der Pfad nicht korrekt ist oder ein Ordner nicht existiert wird der Standardpfad (/CalendarSync/) verwendet. Standardmäßig beginnt die Suche nach dem angegeben Pfad in /mnt/sdcard. Daher der definierte Pfad /CalendarSync/ wird auf /mnt/sdcard/CalendarSync/ umgelegt. Falls Sie nicht in /mnt/sdcard/ verwenden möchten sondern z.B. /mnt/sdcard2/CalendarSync müssen Sie folgenden Pfad angeben /../sdcard2/CalendarSync/. Das /../ wird hierbei verwende um vom Beginn des Standardpfades /mnt/sdcard/ einen Schritt zurück zu gehen in /mnt/.

Verwende Autosync:

Die App synchronisiert periodisch alle aktiven WebiCals in einer Hintergrundoperation. Die Intervalle zwischen den Syncs lassen sich mit den folgenden Optionen steuern.

Synchronisation in der Arbeitszeit:

Falls aktiviert wird der Autosync nur durchgeführt wenn dieser in die Zeit zwischen 6 bis 18 Uhr fällt.

Autosync Zeitraum:

Einstellung wie oft die App mit den konfigurierten aktiven WebiCals synchronisieren soll.

Speichere Autosync Log:

Wenn die Option aktiviert wird speichert die App automatisch Logs des automatischen Synchronisationsvorgangs.

Erlaube externen Autosync:

Falls aktiviert, die App erlaubt externen Apps wie Tasker eine automatische Synchronisation auszulösen unter Verwendung von CalendarSync. Weiter oben habe ich beschrieben wie z.B. Tasker konfiguriert werden kann.

Autosync nur bei WIFI/WLAN Verbindung:

Falls aktiviert, die App startet nur eine automatische oder extern ausgelöste Synchronisation wenn eine WIFI/WLAN Verbindung verfügbar ist.

Filter Kalenderdaten:

Falls aktiviert, werden iCalender Informationen während diese analysiert werden gefiltert. Nur Termine die den Filter passen, sind dann zum Importieren verfügbar. Fürs Filtern können Sie eine Zeitperiode definieren und die App wird nur Werte importieren, welche während einer spezifizierten Zeitspanne auftreten, diese können Sie definieren, beginnend von einem bestimmten Monat/Jahr bis zu einem bestimmten Monat/Jahr. Auch Termine mit komplexen Wiederholungsregeln werden korrekt behandelt.

Zeige Statistik:

Wenn aktiviert wird die App statistische Informationen über die zuletzt durchgeführte zwei Wege Synchronisationen von WebiCals anzeigen (z.B. wie viele Termine am Server als gelöscht erkannt wurden).

Konfiguration des Zeitraumfilters:

Verwenden Sie diese Option um die oben definierte Option einzustellen. Falls Ihre Filtereinstellung nichts korrekt sind z.B. Startzeitpunkt ist nach dem Endzeitpunkt, wird der Filter nicht angewendet.

Zusätzliche Einstellungen:

Geräteidentifikation:

Ihre einzigartige Geräteidentifikationsnummer.

App Version:

Die aktuelle Version der App.

Von Google unabhängige Lizenz:

Hier können Sie Ihren Lizenzcode einfügen. Dies ist nur notwendig wenn die App nicht im Google Market/Play Store gekauft wurde!