Hi Adrien,

On Sep 3, 2013, at 1:40 PM, Adrien Malgoyre <malgoyre@pytheas.univ-amu.fr> wrote:

- Agendav allow users to share their own calendar(s) directly to other users present in the davical server database.
We like this feature because the davical admin frontend is too complex for basic users.

I really don't know how this "sharing" works ... do you have any technical documentation or hints about this feature? If it is supported directly by DAViCal we can add it, but if it is "hardcoded" into Agendav database, then there is no way to add it (our client is pure JavaScript).


I just checked this code : https://github.com/adobo/agendav

To display the principals list, an XML search is done using the davical server.

After that, the Agendav PHP code use the following function : caldav->setacl to share a resource.

The XML request is describe in web/application/libraries/Caldav.php

I'm not a dev expert, you might take a look !

I checked AgenDAV source code but it looks mysteriously, in the source code I found:

CREATE TABLE shared (
  sid int NOT NULL DEFAULT nextval('shared_sid_seq'),
  user_from varchar(255) NOT NULL,
  calendar varchar(255) NOT NULL,
  user_which varchar(255) NOT NULL,
  options text NOT NULL DEFAULT '',
  write_access boolean NOT NULL DEFAULT '0',
  PRIMARY KEY (sid)
);

but AgenDAV is also able to alter server privileges (there are some ACL and PROPPATCH related 
functions) - so I am not sure how exactly the sharing works.

What we can do is to add support for ACL manipulation using DAV requests (we will very probably add it in future).


JM