GSD WebDAV Installation


The DAV Web Service is available to download from a gsd-webdav folder.

Requirements


Services

  • Remote Access Server (GSD Fernzugriff-Server)
  • Processing server (GSD Verarbeitungs-Server)

DOCUframe

At first, please find option for loading new menu:

Screenshot

To be able to manage user settings associated with Dav, the first thing we need to do is load the xDav_Configuration menu:

Screenshot

To go to the window with address books, go to the menu shown in the screenshot below.

Screenshot

In this window it is possible to manage addresses located in address book. However, to be able to manage it, a user or group of users must have the rights (read, write, create, remove) granted for "address books" class.

Screenshot

To select addresses or calendars which we want to synchronize, we need to go to the user settings.

Screenshot

Then in the window editing mode, we need to load an additional page.

Screenshot

Page which name is xDavAssignmentPage.

Screenshot

After performing this procedure, we can manage items which we want to synchronize.

Screenshot

Last point is to give all users permissions to read/write to GSD-Dav classes: Addressbook and Calendar, in advanced user settings.

DOCUframe event macros

Warning

Below there is a list of DOCUframe CreateInit, PreStore, PostStore and PreDelete event macros used by GSD-Dav module:

  • DBPostStore_Adresse
  • DBPreDelete_Adresse
  • DBPreStore_Adresse
  • DBPreDelete_Adressliste
  • DBPreStore_Adressliste
  • DBCreateInit_Termin
  • DBPreStore_Termin
  • DBPreDelete_Termin
  • DBPostStore_Terminserie
  • DBPostStore_User
  • DBPreDelete_User
  • DBPreStore_User
  • DBPreDelete_xDavAddressbook
  • DBPreStore_xDavAddressbook
  • DBPreStore_xDavConfig
  • DBPostStore_xDavVCard
  • DBPreDelete_xDavVCard

If you have custom implementation of above event macro in your database (written as end user level) please make sure that event macro from GSD-DAV module will be executed by adding EventExe function execution to your macro:

EventExe( "event_macro_name", UL_GSD, "GSD-Dav", Object, Class );

User rights

From version 0.0.0.65 GSD-Dav module can use GSD-RightsControl to secure it's configuration and possibility to edit other's address books. From version 0.0.0.72 GSD-Dav module can use GSD-RightsControl to secure deletion of the addresses. In order to grant user rights to these functionalities it is needed to load GSD-RightsControl menu.

Screenshot

From displayed list select GSD-RightsControl menu

Screenshot

Note

When GSD-RightsControl is not present in the database, all functionalities are available to everyone. On the other hand, when GSD-RightsControl is imported but not yet configured, rules are active by default, but none user have granted access so functionalities will be unavailable.

Warning

GSD-RighstControl is a part of Basismodule, and should never be imported alone

Once menu is loaded, please open GSD-RightsControl management console, under following menu entry.

Screenshot

In opened window three rules can be found:

  • GSD-Dav.AddressbookAdmin - edit of other's address books
  • GSD-Dav.EventMacrosConfig - configuration of GSD-Dav module
  • GSD-Dav.AddressDeletion - the way of deleting addresses. When user does not have an access to this, deleted addresses from the device will be just removed from the synchronization. When the user does have rights, address will be deleted permanently.

Double click on either rule opens it's dialog window, where the rule can be edited.

Screenshot

To activate the rule, just simply select "Active" checkbox. To grant user (group) rights to access given functionality just add it to the "User's groups/Users" list.

Addresses synchronization settings

From version 0.0.0.67 GSD-Dav module can use GSD-RightsControl to secure certain members of synchronized addresses. From version 0.0.0.72 GSD-Dav module has a possibility to configure the GSD-RightsControl rules for every Address class separately. In order to configure that, one need to open permissions dialog, under:

Screenshot

In opened dialog, one can configure read rights to specific class, member and user.

Screenshot

Note that many members can be selected at the same time, just be aware that when it is done this way, on the right side only common users (groups) will be visible.

Important

Inheritance is used here, so when there are no specific rights for class Kunde configured but there are for AdresseNr they will be taken to consideration!

Sync configuration

From version 0.0.0.73 GSD-Dav module can map some members to specific field of VCard. One can configure it under:

Screenshot

In opened dialog one can see default configuration. From now on it is possible to create new rule and select a class and map specific member to a VCard field, or edit already existing rule and select VCard field of one's choice.

Screenshot

Possible mappings are:

  • Telefon (0-4)
    • Custom
    • Work
    • Home
    • Main
    • Pager
    • Other
  • EMailAdresse (0-3)
    • Custom
    • Home
    • Work
    • Other
    • Mobile
  • Fax(0-2)
    • Home
    • Work
    • Other

Note that only one object for specific class and member can be created. One VCard field can be assigned to one member at a time, except Custom field. Custom option can be selected many types, it is just important to fill the Label field.

Note

Unfortunately it's not possible to set mapping for mobile phones numbers due to iOS conflicts.

Sync status

From version 0.0.0.82 GSD-Dav module delivers a functionality of sync status. This clearly shows the status of synchronization of specific user. One can see how many contacts are synced and how many appointments of a specific calendar are synced.

Screenshot

It is important to make sure to turn on data exchange (Datenaustausch) macro xDavUpdateTimeFrame. This will allow synchronization to respect time frames, set in configuration. We recommend it to set it daily, at midnight.

There is also possibility to reset the synchronization of addresses or calendars. This results in deleting given addressbook or calendar from device and recreating it

DokumentTermin sync

Also from version 0.0.0.82 GSD-Dav module allows to stop synchronization of DokumentTermin class (reminders). To set this one need to open GSD-Dav module configuration.

Screenshot

In opened dialog one can turn on/off DokumentTermin class synchronization with a checkbox.

Screenshot

Asynchronicity

From version 0.0.0.82 GSD-Dav module is asynchronous. This means that more demanding operations will be queued and executed by GSD Verarbeitungs-Server later on. That is why it is necessary to configure GSD-Verarbeitungs-Server for that database, and turn on data exchange (Datenaustausch) macro, called xELEventCacheLoop. Without that GSD-Dav won't work at all!

xMA configuration


xMA sync

Warning

It is not possible to synchronize calendars and addresses using WebDAV and WebDAV + xMA functionalities simultaneously. You can choose only one option - either WebDAV or WebDAV + xMA.

There is also a possibility to install dav module together with xMA module. The xMA module introduces its own Cal/CardDav addons that can work together with dav addons or can work alone. To integrate CalDav and CardDav synchronization with DOCUframe and xMA it is necessary to import Dav and Dav-Standard-Impl modules to your DOCUframe database together with xMA module. After this procedure, you should connect your device to xMA web service to obtain your deviceId. After successful connection your deviceId can be found there:

Screenshot
To synchronize contacts and calendars make sure that you have GSDProc service running for your DOCUframe database. Next you should be able to synchronize your addresses and calendars in DOCUframe database.
Screenshot
First click Check data button, then click Synchronize calendar and Synchronize addresses in order to sync calendar and addresses. After successfully synchronization, number of synchronized appointments and addresses can be found in grid:
Screenshot

xMA Sync-Status

Sync status in GSD-MobileAccess works in a way that when one will add address list or calendar to synchronization it will count all objects, even deleted, as pending to be synchronized.

For example:

  • add calendar with 100 appointments
  • delete 90 of them
  • there are still 100 objects to synchronize
  • upon synchronization only 10 appointments will be displayed on the device

This example shows that when there are some objects missing it doesn't necessarily means that it doesn't work.

Objects are marked as synchronized when they are being serialized and sent to the device. The device itself is not sending any acknowledgement response, so we are not able to determine how many of them has been actually synchronized.

Also note that when the vCard or ICS are malformed (due to wrong input data, e.g. new line character in telephone) the device may not display given contact or appointment.

Taking all this in the consideration be aware that the amount of objects that sync status displays is not always the same as the amount of objects that are actually on the device.

Furthermore sync status in GSD-MobileAccess is meant for GSD-MobileAccess, that is why it may have some issues when working together with GSD-Dav module!

xMA addons configuration

As mentioned above, xMA module introduces its own Cal/CardDav addons. To indicate which addons should be used load xDav_Configuration menu:

Screenshot

Then click menu button:

Screenshot

A dialog window should appear. In combobox you can find list of modules to work with GSD-DAV. Default will be GSD-DAV, to use addons from GSD-MobileAccess module, simply select GSD-MobileAccess from the list.

Screenshot