Hi all,
 I am a developer of PHProjekt.
We want to add the ezc Webdav component to the version 6.

The development also include the Caldav support and since the
ezcWebdavServer do not provides it, we think improve the module for that.

The caldav needs only a few requests and properties more than the webdav,
for example:

1. The transport must support also the REPORT request method.

2. The properties missed are:
        - calendar-data
        - getctag
        - supported-calendar-component-set

3. The 'resourcetype' property can be only "collection" or null, and the
caldav needs "calendar" or null.

4. A ezcWebdavRequest and ezcWebdavResponse for report is needed too for
get/set all the nodes to return, and to get the date range.

5. And since the data of the event/todo are in Ical format, the module
needs also a class that transform "object data to iCal format" and "ical
format to object data".
THIS CAN BE PART OF THE MODULE OR A NEW MODULE, so other modules can use
it too.

I think is better to "improve" the current webdav, adding the needed
classes and changing some current functions, so with the same
functionality, the user can make a webdav and caldav server.

The other option is make a NEW MODULE ezcCaldavServer(extends
ezcWebdavServer), the user will have 2 type of servers, and must
download the 2 modules for work with caldav only.
Also many functions will be re-written just for add a "case option", and
is more hard to maintain.

About the iCal class, the format is usefull for export events/todos to
other programs. Add it into the caldav/webdav or as a new separated
module is up to you.

For sure, we can use the parseUnknownRequest and
serializeUnknownLiveProperty hooks to use our own classes and make a
caldav server, but will be nice to have a caldav ezc component.

If we will change the current ezc webdav i suggest also to change the
processGetCollectionResponse function for return a HTML list of files,
so you can see the files and folders in a browser and for sure download
them (Or add a hook there so the developer can do it without extend the
ezcWebdavTransport)

What do you think?

Greetings,
Gustavo Solt

Reply via email to