[Tickets #3472] Kronolith acting as WebDav client

bugs@bugs.horde.org bugs at bugs.horde.org
Tue May 16 09:41:52 PDT 2006


Ticket URL: http://bugs.horde.org/ticket/?id=3472
 Ticket             | 3472
 Updated By         | Jan Schneider <jan at horde.org>
 Summary            | Kronolith acting as WebDav client
 Queue              | Kronolith
 Version            | HEAD
 State              | Feedback
 Priority           | 1. Low
 Type               | Enhancement
 Owners             | 

Jan Schneider <jan at horde.org> (2006-05-16 09:41) wrote:

> webdav.php (last attachment) extends sql.php. All database operations 
> are done in sql.php.

If you extend a class, there is no need to implement all the methods again,
only to call the parent class' methods. Only implement those methods that
really need to do something different than the parent class. The same is
true for properties.

> All operations that change the data in the local database are 
> executed in the following order:
> 1) call saveUpdatesFromWebDAV to recieve a fresh update from webdav
> 2) do the local database operation (update, new, change, delete, etc)
> 3) call saveUpdateToWebDAV to save the update back to the webdav server

What happens if the object has been changed on the webdav server after the
user changed the event but before it is saved? Is there the any way to make
sure such conflicts don't happen?

> Note1: I have prepared, so that it should be easy to lock the webdav 
> resource in 1) and release the lock in 3) to aviod inconsistent 
> updates at the webdav server, but it's not done yet.

That would be a good idea, at some point.

> Note2: The saveUpdatesFromWebdav maybe doesn't have to be updated 
> each time the calendar is listed. Maybe a refresh-button somewhere?

I'm not sure. Did you take a look at how often/when we update iCal remote
calendars currently?

Some general notes:
- Your expected webdav folder structure looks pretty strict, is it possible
to make this more flexible? Which webdav server did you use, i.e. which is
providing this structure?
- Please take another look at the coding standards. Your indenting is pretty
off, as are some curly braces in if-clauses.

More information about the bugs mailing list