Giter VIP home page Giter VIP logo

cdav's Introduction

CDav module for Dolibarr

What is it ?

This module for Dolibarr 3.7/3.8/3.9 add CardDAV / CalDAV and ICS synchronisation. It uses included Sabre/DAV library.

You can :

  • Read and Edit calendars through CalDAV
  • Read and Edit addressBooks through CardDAV
  • Read calendars through ICS Full version or only Free/Busy (hide details)
  • Access Dolibarr documents through WebDAV (if admin)

Each user can access his/her contacts address book (public and own private contacts), his/her own calendar and other users calendars according to his/her rights.

Dolibarr contact informations fill personnal informations in client software cards.

Society informations (to which contact is attached) fill professional informations in client software cards.

Cards updated in client software fill only Dolibarr contacts (not Society).

Calendar records with "Status / Percentage" set to "Not applicable" are converted to events in CalDAV (VEVENT), others are converted to tasks (VTODO).

Help improvements

If you find the module is useful and want to finance improvements, consider to pay it on Dolistore

How to install

Like all Dolibarr modules, git clone this repository and install cdav directory in dolibarr/htdocs/

Enable CDav module in Interfaces Modules list.

It would add a link in Agenda left menu and in Contacts left menu to access DAV / ICS URLs.

Use these URLs in your CardDAV or CalDAV client software.

How to upgrade

  • Disable CDav module in Interfaces Modules list.
  • Unzip last version or git pull in dolibarr/htdocs/cdav
  • Enable CDav module in Interfaces Modules list.

DAV URLs

Thunderbird

Thunderbird (with Lightning and SoGo Connector addons) needs a precise URL for each address book and calendar :

https://server.example.com/dolibarr/htdocs/cdav/server.php/calendars/<connected-user-login>/<calendar-user-id>-cal-<calendar-user-login>

https://server.example.com/dolibarr/htdocs/cdav/server.php/addressbooks/<connected-user-login>/default/

DAVDroid

DAVDroid can detect automatically address book and all existing calendars (if an event exists) with generic DAV URL :

https://server.example.com/dolibarr/htdocs/cdav/

You can use a tasks application to manage Dolibarr tasks (VTODO) on Android. DAVDroid is compatible with OpenTasks.

Be carefull, if you use https, DAVDroid needs a valid SSL certificate, excluding auto-signed certificates.

iOS

iOS uses principals url to grab list of CalDAV or CardDAV resources :

https://server.example.com/dolibarr/htdocs/cdav/server.php/principals/<connected-user-login>

WebDAV

Admin users can also access Dolibarr documents through WebDAV with WebDAV URL :

https://server.example.com/dolibarr/htdocs/cdav/server.php/documents/

Troubleshooting

To test cdav module, you can use DAVDroid url https://server.example.com/dolibarr/htdocs/cdav/ in a web browser. Error messages are clearer.

Apache web server

Apache rewrite module is necessary if you use fcgi or php-fpm mode. In this case, .htacess file in cdav module has to be read by Apache or reported in your Apache configuration.

<IfModule mod_fastcgi.c>
	<IfModule mod_rewrite.c>
		RewriteEngine on
		RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
	</IfModule>
</IfModule>

It is recommanded to disable these Apache modules : dav / dav_fs / dav_lock

nginx web server

To solve authentication loop, add these directives to your nginx "location" rubrique :

fastcgi_param PHP_AUTH_USER $remote_user;
fastcgi_param PHP_AUTH_PW $http_authorization;

or

fastcgi_pass_header Authorization;

nginx reverse proxy

To solve authentication loop, add this directive to your nginx "location" rubrique :

proxy_pass_header Authorization;

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.