====== webdavclient Plugin ====== ---- plugin ---- description: Subscribe the remote Calendar/Contact DAV resources author : Andreas Böhler email : dev@aboehler.at type : Action Plugin lastupdate : 2020-04-20 compatible : Detritus, Hrun, Elenor of Tsort, Frusterick Manners, Greebo depends : sqlite conflicts : similar : tags : webdav, caldav, carddav, dav, synchronisation, !discontinued downloadurl: https://gitlab.aboehler.at/dokuwiki/webdavclient/-/archive/main/webdavclient-main.tar.gz bugtracker : https://gitlab.aboehler.at/dokuwiki/webdavclient/-/issues sourcerepo : https://gitlab.aboehler.at/dokuwiki/webdavclient donationurl: screenshot_img : ---- :!: **This plugin is no longer maintained.** ===== webdavclient ===== WebDAVClient is a content-providing PlugIn that allows other PlugIns to interact with WebDAV-enabled calendars and contacts as well as ICS Feeds. A full two-way synchronisation is performed (WebDAV only). It features an Admin component where an Administrator can add WebDAV connections to Calendars and Address books. The data is then synchronized in the background to a local SQLite cache. Every configured connection has a unique ID that can be used by other PlugIns (currently, [[plugin:davcal|davcal]]) to enable support for remote connections. **There is no user functionality, this PlugIn relies on other PlugIns to represent and work with the data** ===== Requirements ===== * You need the [[sqlite]] PlugIn * You need at least PHP 5.4 (required by the underlying DAV library), including the PHP XML module (php-xml((openSUSE users add the packages php5-dom, php5-xmlwriter, php5-xmlreader and php5-mbstring))) ===== Installation ===== Make sure that the sqlite PlugIn is installed. Search and install the plugin using the [[plugin:extension|Extension Manager]]. Refer to [[:Plugins]] on how to install plugins manually. ===== Examples/Usage ===== Only an admin can configure WebDAV connections. Go the Admin -> WebDAV Connection Setup and add a new connection. You can try auto-discovery first by providing only the minimal information set in the lower left corner (WebDAV only). If it is successful, you get a list with all discovered calendars/addressbooks and can select the ones you would like to add. If auto-discovery fails, you can manually add a new connection in the lower right corner. This is required for ICS feeds. After adding a connection, it is **disabled by default**. This is due to the possibility of a large initial sync. Keep the connection disabled and click on "Force Sync". If it went successful, you can enable the connection (Dropdown to "active" and then click on "Modify Connection"). Currently, it is not possible to change the username and password. **Attention** Most of the buttons do not ask for confirmation! If you click on "Delete", the connection is deleted! The button "Empty" deletes all entries **from the server**. The button "Resync" first deletes all local entries and performs a synchronisation afterwards. When you want to use one of the connections in, e.g., caldav, simply note the ID in the first column and configure a new calendar with the ID ''%%webdav://7%%'' to connect to the WebDAV connection with ID 7. ===== Permissions ===== If you add the path to a wiki page (i.e. namespace:page) to the column "Page for Permissions", this webdavclient inherits the permissions of the page specified here. Thus, you can use the ACL manager of DokuWiki to change the permissions of the given page to influence who is able to use the WebDAV connection. You need at least davcal 2019-01-21 for this to work properly. Older versions do not honor this setting. ===== CRON Job ===== By default, webdavclient hooks into DokuWiki's Indexer event to synchronise connections when needed. You can, however, change this to CRON if you would like your calendars to keep perfectly in sync. To do this, enable the configuration option "use_cron" and set up your CRON daemon to hit ''%%lib/plugins/webdavclient/cron.php%%''.