DAViCal 0.9.7 released
Several weeks ago I was browsing around CalConnect wondering, as you do, if the timing will ever be right and the backing available for me to visit one of their meetings. It seems that the planets may actually finally be in alignment and I am really hoping that I can get to CalConnect XVI from 5th to 9th of October - though I will have to save my pennies.
In passing I noticed that the FREEBUSY Technical Committee has just published a Proposal for Freebusy Read URL, defining a bunch of optional parameters that can be used in queries against a freebusy URL. As calendar servers increase in power and scope it seems natural that these things will become more useful even if you might have thought time had passed them by, replacing them with more advanced CalDAV scheduling extensions.
Since DAViCal has always had Freebusy URLs, and in fact accepted a couple of simple parameters in them already it turned out to be a simple matter to provide these standardised ones as well. This change was included in DAViCal 0.9.7 which I released quietly into the wild a few days ago.
Another change in DAViCal 0.9.7 are the use of significantly enhanced algorithms for selecting events to appear in time-range queries. In the past these were selected in an inexact manner, erring in the direction of "well, the clients will only display the events you really want to see, so it's OK to give them a few extra ones". That works fine for the standard clients everyone uses: though it added a smidgin more bandwidth from time to time, it was a little less work for the server. For non-standard clients, however, it was much less desirable and some users desired a more exact set of results. So in 0.9.7 I finally switched over to the use of the in-database RRULE parsing functions that I have been working on for some time. These functions improve the exactness, and it turns out they also generally operate faster than the earlier logic as well.
The other important change for 0.9.7 is that it will work with the iPhone OS 3 Calendar App. In fact this would have been much harder for me without the support of the nice folk at Truhearing (suppliers of discounted hearing aids) who are so keen on DAViCal that they bought me an iPhone just so that I had no excuse! And indeed having the iPhone certainly does make a difference to the way I use DAViCal myself - not just for the fact that it has enabled me to work around a few iPhone issues, and to fix some DAViCal issues, and the two are now playing nicely together. I still see a few iPhone issues (appointment end times sometimes show up with +12 hours on the iPhone if created elsewhere... and I'm in UTC+12... coincidence? Also there is no way to move appointments between calendars, and no easy way to set the timezone just for one appointment) but no doubt the more critical of these will be resolved in future releases.
Interest in running the code to support the iPhone has meant that a wider cross-section of DAViCal users have been running the updates prior to release, as a result this is probably one of the best tested releases ever, and the community has been really helpful in making it so.
For now, the new version is hosted on my server. Tomorrow I'll upload it to Sourceforge and publicise the release more widely.