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