Z-Push Public Folders
Z-Push bietet den Komfort der Synchronisation des persönlichen Zarafa-Postfachs auf sein Smartphone über das Active-Sync-Protokoll. Seit Z-Push Version 2 können auch öffentliche Ordner auf bestimmte Smartphones synchronisiert werden. In diesem Abschnitt erfahren Sie, wie Z-Push grundsätzlich konfiguriert und wie einfach die Synchronisation der öffentlichen Ordner implementiert wird.
Es gibt vom Hersteller eine ausführliche und frequent aktualisierte Kompatibilitätsliste, auf welcher die gängigsten Smartphones gelistet sind, die mit z-Push funktionieren. Bitte überprüfen Sie die sogenannte
z-Push Compatibility List, um zu prüfen, ob Ihr gewünschtes Gerät unterstützt wird.
Um öffentliche Ordner auf das Smartphone zu synchronisieren gibt es folgende, wichtige Punkte zu beachten:
- Bisher funktioniert lediglich iOS (Stand 31.10.2012), Android 4 unterstützt dies (noch) nicht
- Die Konfiguration findet zentral via z-Push statt, die Clients bekommen die öffentlichen Ordner automatisch gepusht - Es muss kein Smartphone angefasst werden
- Die Zugriffsberechtigung wird via Ordnerberechtigungen geregelt (z.B. via Webaccess)
- Multiple öffentliche Ordner zu synchronisieren ist möglich, auch gemischt (z.B. zwei öffentliche Kalender und ein öffentliches Adressbuch)
- Es wird nichts auf dem Client überschrieben. Es wird ein zweiter Kalender angelegt und/oder eine weitere Adressbuchgruppe.
Die Zugriffsberechtigung eines Smartphones auf einen öffentlichen Ordner wird nicht auf dem Smartphone oder z-Push geregelt - es greifen die Zugriffsberechtigungen, die via Zarafa festgelegt sind. Die korrekte Berechtigungsstruktur einzurichten sollte der erste Schritt sein, bevor weitere Konfigurationsschritte unternommen werden. Damit ein Benutzer von seinem Smartphone einen Eintrag in den öffentlichen Ordner tätigen kann, benötigt dieser natürlich Schreibberechtigungen. Zarafa empfiehlt, das Berechtigungsprofil auf "Sekretär/in" zu stellen. Bitte passen Sie Ihre entsprechenden Berechtigungswünsche auf die Ordner an.
Hinweis! Wenn Sie einem Benutzer die Berechtigung später wieder entfernen, werden lediglich keine neuen Elemente synchronisiert, die alten Elemente verbleiben vorerst auf dem Smartphone. Falls Sie das nicht wünschen, sollten Sie zusätzlich noch einen Remote-Wipe via z-push-admin.php in Erwägung ziehen.
Die Datei, über die die Konfiguration angepasst wird befindet sich im z-Push Verzeichnis und lautet config.php. Öffnen Sie diese Datei zum editieren:
joe /var/www/z-push/config.php
Im untersten Teil der Datei befindet sich der Konfigurationsabschnitt für die öffentlichen Ordner. Dort gibt es ein komplett vorbereitetes (noch auskommentiertes) Gerüst, welches nur noch befüllt werden muss. Die Variable $additionalFolders enthält ein PHP-Array mit folgenden Eigenschaften:
'store' => "SYSTEM", 'folderid' => "", 'name' => "Public Folder", 'type' => SYNC_FOLDER_TYPE_USER_CONTACT,
Eine kurze Erläuterung zu den einzelnen Punkten:
- store: Bezeichnet die Ressource. Bei öffentlichen Ordnern muss dieser Eintrag "SYSTEM" lauten.
- folderid: Die ID des zu synchronisierenden Ordners. Wie man an die ID kommt wird weiter unten erläutert.
- name: Der Name darf individuell vergeben werden. Dieser Name wird auf dem Smartphone angezeigt. Empfohlen ist aber die tatsächliche Bezeichnung des Ordners.
- type: Hier wird der Typ des zu synchronisierenden Ordners angegeben. Unterstützte Typen sind:
SYNC_FOLDER_TYPE_USER_CONTACT SYNC_FOLDER_TYPE_USER_APPOINTMENT SYNC_FOLDER_TYPE_USER_TASK SYNC_FOLDER_TYPE_USER_MAIL
Die Unterschiede sollten selbsterklärend sein. Es kann sich um diese vier Typen handeln: Kontakte, Kalender, Aufgaben, E-Mail.
Da Sie alles bis auf die Folder ID recht einfach eintragen können, benötigen Sie einen Weg, an diese zu kommen. Dazu gibt es bereits ein vorbereitetes Skript listfolders.php, welches sich im z-Push-Ordner unter ./backen/zarafa befindet. Führen Sie dieses Skript mit dem Parameter -l und SYSTEM aus, um öffentliche Ordner zu listen:
/var/www/z-push/backend/zarafa/listfolders.php -l SYSTEM
Als Ergebnis sollte in etwa so etwas herauskommen:
Available folders in store 'SYSTEM': -------------------------------------------------- Folder name: Urlaub Folder ID: 464b81aa3b374af8a1c831203afa14803a8a03000000 Type: SYNC_FOLDER_TYPE_USER_APPOINTMENT Folder name: Kontakte Folder ID: 464b81aa3b374af8a1c831203afa1480508903000000 Type: SYNC_FOLDER_TYPE_USER_CONTACT
Sie können nun die 21-stellige Folder ID aus diesem Output kopieren und in die config.php entsprechend eintragen.
Wenn Sie mit Ihrer Konfiguration fertig sind, benötigt es nur noch dem Entfernen der Kommentarzeichen ober- und unterhalb der array-Definition in der config.php. Bei der nächsten Clientanfrage werden die öffentlichen Ordner auf den Client synchronisiert. Es wird nichts auf dem Client überschrieben. Es wird ein zweiter Kalender angelegt und/oder eine weitere Adressbuchgruppe. Sie können nebenher das Log unter /var/log/z-push/ prüfen, ob eine Sync-Anfrage bearbeitet wird. Prüfen Sie natürlich auch den Client, ob dieser bereits korrekt synchronisiert wird.
Damit ist die Konfiguration öffentlicher Ordner abgeschlossen.
Um mehrere öffentliche Kalender auf ein Smartphone zu synchronisieren, bedarf es lediglich dem Kopieren des array-Blockes in der config.php. Das kann z.B. so aussehen:
$additionalFolders = array( // demo entry for the synchronization of contacts from the public folder. // uncomment (remove '/*' '*/') and fill in the folderid array( 'store' => "SYSTEM", 'folderid' => "464b81aa3b374af8a1c831203afa148020c201000000", 'name' => "Terminakalender PMP", 'type' => SYNC_FOLDER_TYPE_USER_APPOINTMENT, ), array( 'store' => "SYSTEM", 'folderid' => "464b81aa3b374af8a1c831203afa14802da901000000", 'name' => "Kontakte PMP", 'type' => SYNC_FOLDER_TYPE_USER_CONTACT, ),
Wieder werden bei der nächsten Synchronisations-Anfrage des Clients die zusätzlichen Ordner auf das Smartphone synchronisiert.
In der Datei /var/www/z-push/config.php
stehen am Ende noch weitere interessante Informationen bzgl. öffentlichen Ordnern und z-Push. Lesen Sie sich diesen Abschnitt also noch sorgfältig durch.