Re: [Kolab-devel] caldav backend to calender plugin
Thomas Brüderli <[email protected]>
| Newsgroups | gmane.comp.kde.devel.kolab |
|---|---|
| Message-ID | <53300B9C.4030007__39879.6294387013$1395657646$gmane$org@kolabsys.com> |
Hello Daniel I finally found some time to have a look at your work for the Kolab calendar plugin to add CalDAV and iCal capabilities. First of all, many thanks for your work and for sharing it with us! Although I had some troubles getting it to work initially, the multi-driver setup looks quite nice. So here are some remarks and questions I have after the first quick look: * The idea of extending the database_driver for synchronizing CalDAV and iCal sources seems quite obvious. Here I'd suggest two things: 1. Use dedicated tables for calendars and events and override $db_calendars and $db_events properties in the caldav_driver class. 2. Store the additional properties (url, etag, etc.) right in these tables to avoid additional queries. * Question: what's the reason why driver names have the appendix "_driver"? * You use an additional library and an extra config option to encrypt the caldav/ical passwords. Why not using the already existing methods from Roundcube core (rcube::encrypt and rcube::decrypt)? My PHP doesn't have the Mycrpt extension and thus failed with fatal errors. * For CalDAV synchronizing, I had to change REPORT <c:calendar-query> with a PROPFIND request because SabreDAV driven CalDAV servers don't support queries with no query criteria. Some minor problems I found so far: * Attachments to events don't get synchronized to the CalDAV server * Moving an event from one driver to another fails * Input fields for calendar URLs are a bit too small * Stored passwords should not be populated the calendar edit form * Auto-discovery kicks in even if I supply a full URL to a calendar resource. But finally, your changes integrate nicely and add good value to the calendar codebase. KUDOS! We're certainly interested in adopting the multi-driver changes and the iCal driver at first. For CalDAV I'd be interested in seeing the implementation of Chris Moules for comparison. I'm not yet sure about the integration path for your commits into our upstream repository. The new multi-driver changes are quite significant and have the potential to break the calendar in a major way. Currently some refactoring of the entire iTip handling is going on in git master. Once that's done, we'll likely start with branching off git master and then adding your changes to it. I'll keep the mailing list updated with the progress on this. So again, many thanks for your work and stay tuned. Kind regards, Thomas Daniel Morlock wrote: > 2. Use the latest development sources: > > $ git clone https://gitlab.awesome-it.de/kolab/roundcube-plugins.git > $ cd roundcube-plugins > $ git checkout feature_caldav > > This can contain yet untested code and you might experience things like > the parentheses error. Should be rare, but it could happen.