DAViCal 0.9.7.2 released
I released a new 0.9.7.2 version of DAViCal yesterday. This reflects quite a lot of stability and small fixes for some subtle problems, and quite a lot of work with the iPhone, adding the possibility of a simpler configuration experience for iPhone users.
One long-standing, but less obvious problem (well, less obvious to me) was the handling of usernames with odd characters in them. In the round-trip these needed to be urlencoded, and that wasn't happening correctly in all places, but it hopefully is now. People who want to use e-mail addresses in usernames, or spaces in calendar names, or both, etc., should all work now.
One newer problem I've been seeing the effects of a little recently is that PHP 5.3 deprecates call-time pass by reference, which I had used in a few places. That's fixed now, so it should be OK to upgrade to PHP 5.3 without breaking DAViCal or having to explicitly turn those warnings off.
The iPhone is a curious beast. Lots of people love them, and it is about the only mobile device that supports CalDAV (though I'm hoping the Nokia N900 also will), so it's important to support it as transparently as possible regardless of my personal loathing for it's horribly locked down state. It was pointed out to me that it is possible for it to be configured by entering three pieces of data (domain name, username, password) so I decided to make DAViCal support that process. In order for it to work for you you will need to have DAViCal running on an SSL server on port 8443, which isn't too big a deal. You can also plain http on 8008 which it will also attempt after prompting when the SSL connection fails. You'll also have to enable mod_rewrite and use some rewriting rules like the example on the wiki.
For myself, I use the free SSL certificates from CACert.Org so I had to browse to their root certificate page and load the class 1 and class 3 certs into the iPhone before it would talk happily to my DAViCal server.
I'm hoping to continue with reasonably frequent incremental releases of DAViCal for the rest of the year, hopefully with 0.9.7.4 sometime in late October. What will be included there might also depend on how productive my visit to CalConnect XVI is in three weeks too, and I'm looking forward to that.
Updated Note
A few Debian users have perhaps noted that my repository signing key has changed. My new key has the fingerprint "F6E0 FA5C F030 7507 BB23 A512 EAFC FEBF 8FEB 8EBF"
You can download and install it if you (as root) do:
apt-key advanced --keyserver subkeys.pgp.net --recv-keys 8feb8ebf
You should be able to see that it is signed by my old key too:
apt-key advanced --list-sigs 8feb8ebf
Or even:
apt-key advanced --list-options show-photos --list-key 8feb8ebf
for a suitably ominous-looking person :-)
Flattr
What about Android based smart phones?
Hi Andrew,
Have you, or somebody else, tried an Android based smart phone?
Android-based Smart Phones
I haven't been able to spend enough time with one yet. Though I've tried to get hold of one for a longer period of time I'm hesitant to spend that much money on a phone that I don't actually need at present. Of course if I knew it did support CalDAV the answer might be different :-)
I might try and install Android onto my OpenMoko and see what CalDAV support there is on it although I suspect that the answer is 'none', especially since this 'CalDAV for Android' bug has no comments from any developers, despite appearing in the top 20. There are some suggestions that Google Calendar sync on Android might be using CalDAV under the covers, but I just quickly reviewed the code and from what I saw I would say that is highly unlikely for v1.0, at least.
I'm also curious about CalDAV on the Nokia N900 which I believe uses evolution-data-server as it's underlying mail and calendaring layer, so perhaps there will be support. Maybe someone friendly at Nokia will read this can confirm it and send me one so I can make sure it works well with DAViCal. Nah, that only happens in the movies, but possibly I can get the Maemo 5 software running on one of these old 770's that I have. Slow would be OK for the purposes of ensuring it could sync - so long as it wasn't glacial.
Hi Andrew, I am most certain
Hi Andrew,
I am most certain that I will buy one of these the comming month:
http://www.htc.com/www/product/tattoo/overview.html
They are retailed at approximately 500$ in EU.
If I do buy one I plan to make extensive testing. If the test fails short I might even considering creating a Java client on my own:-)
Writing a java client
Well if you do decide to write a java client, take a look at the 'caldav4j' libraries - Roberto Polli tested them against DAViCal, and they seem to work well.
The Tattoo looks good, though I'd hoped the next HTC model would have an 800MHz processor and maybe 512M RAM - I'm always wanting more! On the other hand I guess it's battery is probably better with less of both of those :-)
Cheers,
Andrew.
I have a G1 and am
I have a G1 and am desperately waiting for Android to support CalDav. Read: At the moment there is absolutely no CalDav support whatsoever. The built in calendar uses Googles Gdata API. And no 3rd party software available.
Even though the device itself has no caldav support, as far as I know you can add external calendars to Googles Web Calendar and they show up on Android too. But I wouldn't count that as Android supporting Caldav ;)
I'm still hoping Android 2.0 will support it, but the current feature overviews do not suggest it an the bug you mentioned is still open.
iPhone 3.1...
Andrew,
Editing for DAViCal events on the iPhone is back! Thank you!
Dan
iPhone 3.1 - editing events...
Hi Dan,
i am trying to get iphone os 3.1 on a friends phone to work with an updated davical server (0.9.7.2) like you - but i had no luck to get editable events on the iphone so far.
after upgrading davical - did you reconfigure the CalDAV-account in your iphone-preferences some way, or did it just work with the latest server?
Simon
Yes, recreate the calendar account
Hi Simon,
yes, I have gotten the iPhone 3.1 to work with davial and editing events only after deleting and recreating the account.
As another poster mentioned, don't forget to run the database update scripts on the server!
Shared read/write
Have gotten DAViCAL up and running on a RedHat server for a client with a small team. Thank you for your work.
Now the team are saying they all want to be able to add events into each others calendars.
Initially I thought - okay - set the permissions on the server and the client software (iCal/Leopard) will pick up from there.
Strangely I can't seem to get this going and it is not clear why. Does DAViCAL support this yet? Is this on the route map?
Thanks
A
Accessing other user's calendars with iPhone / iCal
DAViCal certainly does support users accessing each other's calendars (with permission) but I believe iCal / iPhone makes this difficult to access. In fact when I had a few weeks to play with OS 10.3 a couple of years ago I couldn't actually manage to access another person's calendar with it.
I do know that some people have done it, because they have mentioned having done so on IRC, and I believe it involves creating multiple accounts, one for each user whose calendar you will be accessing, but using the same username/password for each account.
Regards,
Andrew McMillan.
i can confirm that - at least
i can confirm that - at least with iphone 3.0. i created a caldav-user (eg. user3) with calendars that can be administrated by two other users. on their ihpones they add an account for http://calendars.example.com:80/user3/sharedcalendar - but use their own username/password.
for editing all of each others home-calendars it should works as andrew said - not the smartest workflow though ;-)
Simon
Shared read/write
Hi again,
Thank you both for taking a little time. Still not gotten there - so a couple more questions.
1) How does shared RW work with the "PUBLISH & SUBSCRIBE" paradigm?
Or has it subtly shifted to a "SYNC & SUBSCRIBE" paradigm?
In other words should I be configuring each person (in iCal) as a publisher for each others diaries?
2) In granting permissions on the DAViCAL server; I have used "is Assistant To" to grant read permission. Should I be using "Administrator"?
The team are trusting of each other; however, this server is on the internet so
I am generally happy to limit permissions where possible.
Apologies if these questions seem basic; I am new to this CAL stuff. For the most part I am documenting as I go, and will happily contribute back in due course.
Thanks again!
A few answers
1) At present DAViCal does not support XMPP publish/subscribe for calendaring. There is no finalised spec for this, though Apple have published something which is what they do, and someone is currently working on an implementation of that in DAViCal. With any luck there will be something in the next release.
I'm not sure what you mean by 'configuring each person in iCal' as I don't have a Mac, however without publishing from the client side you can still all see each other's calendars from the server, so I suspect the answer is 'no'.
2) The 'is Assistant To' is a read/write grant, and I've renamed it as such since the release of 0.9.7.2. If you want read-only you should be using the 'Can read from' grant.
Hope this helps,
Andrew.
Thanks and a question
Hello Andrew,
first of all thanks a lot for Davical. I got it up and running on Ubuntu, and, following all the twists and tweaks mentioned in your wiki, iCal 4.0 and my iPhone OS 3.0 now happily access the server, see multiple calendars in one account, add, edit, and delete events without a problem so far. Makes me very happy ;)
The question is, do you plan to implement CardDav functionality? It would be cool if I could keep contacts in sync via Davical, too. I have no idea about the complexities involved in developing all this, so just asking ;)
Best,
Robert
CardDAV Seems Likely
It's likely that I will add CardDAV, or that someone will send me a patch for it which I can accept. It's a good fit for additional functionality for a CalDAV server, and a large chunk of the work is already present.
However I expect that through the end of the year I will be concentrating on completing work on CalDAV extensions.
Cheers,
Andrew.
I'm looking forward too see
I'm looking forward too see carddav implemented! Especially since Android 2.0 now has plugable sync adapaters for contacts. So before long there hopefully will be one for carddav.
finally got iPhone syncing working!
If anyone is having issues syncing iPhone and iCal I've managed to get it working.. I was stuck on it for a few days and only just realized my database needed to be upgraded (silly me). I followed the guide on the wiki and everything is syncing beautifully now. Thanks Andrew
Ipod and Davical
Hi, pretty neat DavIcal! Thanks!
Although now, I ran from one problem into another. Having used Davical in a small buro setup, it worked well TB Lightning on different machines. But, here was my Ipod 3.0 which was able to read events from the server and show them in the Ipod calendar, but it could not write any... So I see the update of Davical, and run into a recursive set of updates (pgsql 8.1, libpg 8.1 blocking each other). But finally I could install all on my gentoo server and do update-database-davical, restore data etc.
It works well with TB Lightning, but now my ipod calendar can only write, it will not read anymore. Tried to reinstall accounts on the ipod to no avail. Reinstalled to database on the server, no effect. Any ideas??
Thanks a great deal, Jeroen
And you're definitely using the latest version?
Apple introduced a change in 3.1 which needs a version 0.9.7.2 or later (preferably 0.9.7.5 at this point) installed. Also the newest versions need a newer libawl (0.38 currently).
After upgrade a disable / enable account should be sufficient for it to reconfirm settings and see that it is writable.
Cheers,
Andrew.
a more complicate question
Hello Andrew,
first of all, thank you for your magnificent work. Excuse my bad english, I'm not a native speaker, I'm from Germany.
Well, how do I start? I'm using Version 0.9.5.2, on a iMac(PPC)running debian with a Postgresql DB. I had to install manually, since the deb wouldn't work due to the ppc architecture. As I had the system up and running, tried one update, which left the database corrupt and I had to install everything again. Therefore, and for not experencing any problems, I stayed with that version. Right now I have about 50 Users with single and group calenders, working fine and smoothly.
Then, the ipod/iphone problem occured.
My question is now: Do I really have to update my whole system, since it is a working environment in an university, or, more simple for me, just one file or code-part to update?
I'm definetly not a linux guru, and failed once with an update with the db update script, so I am a little afraid of doing so. (The Backup which I made before failed to import, due to a db which was halfway updated. Don't know exactly what happened.)
The only other possibility would be, get a new server, start from scratch, use a current release, and figure out how a way to get all the old data into the new database. (and where to get a new server...)
Well, I hope you see my problem. I would like to update, yet have to do it manually, with the risk of leaving everything useless. (And a bunch of people angry...)
Therefore my question for a "shortcut". Do you have any ideas?
Best Regards,
Sascha
Problems with upgrade
Did you run the update database script when you ugraded previously? I had not heard of any database corruption problems that have occurred on upgrade in the past, and if I don't hear of them I can't fix them :-)
http://wiki.davical.org/w/update-davical-database
Leaving comments on my blog is really *not* the best place for resolving questions like this! You should sign on for the mailing list and ask there, or you should join the #davical channel on irc.oftc.net and ask there.
You should also be able to run the database upgrade script against a copy of the database, to see if it runs through without problems.
Regards,
Andrew McMillan.