Alarms, CalDav, RFCs, Automation, Oh My!

Two weeks ago, Philipp (Fallen) and I went to the CalConnect RoundTable 10. (yeah, this post is a little overdue). The interoperability testing segment of the conference gave us a chance to pit Lightning and Sunbird against several CalDav servers. We tested it against Oracle Calendar Server, Apple’s Leopard iCal Server, Bedework Calendar, Chandler Hub (Cosmo), and Kerio Calendar Server. We had a few glitches here and there, but we came out looking OK. The most obvious items we are missing are CalDav scheduling and Free Busy support.

Since iCalendar (RFC 2445) is now in its final draft, we also tested some of the differences in the latest version of the specification with our software, to ensure we interpret it properly. Not surprisingly, we had a few issues here with specialized iTIP responses that no longer need to have either a DTSTART or DTEND property. There is also bug 393414, but that had been reported some time ago. Happily, Lightning and Sunbird supported most of these new features, but it demonstrated to me a huge hole in our testing — more on that in a moment.

At the actual roundtable part of the conference, we discussed VALARMs (among other things). RFC 2445 doesn’t give a clear picture of how these should be handled, so we (us and several other members) are drafting an extension to the specification which will give some guidance on how VALARM objects should be used.

There are lots of questions that need to be addressed:

  • How do you annotate a snoozed alarm? What happens if you move the snoozed alarm? Is it remind me in 5 mintues, or remind me 5 minutes before the event?
  • How do you handle alarms on shared calendars? On remote calendars?
  • How to determine when an alarm was acknowledged? There was some agreement that we should standardize our X-MOZ-LASTACK property to carry this information.

I’d like to give you a chance to give us your feedback on how our alarms can be improved (both in ICS and in the UI). Please append your thoughts to this page that Chiller2 started for us.

More than anything, this conference demonstrated to me our dire lack of test automation. This is incredibly important as many changes are now occurring to the iTIP RFC (RFC 2446) which is going to be a crucial feature in 0.8.

Unfortunately, all the calendar team members are doing everything they can to continue making forward progress. We really need help in order to do any kind of meaningful automation. So, we have decided to host an Automated Test Summit some time after we ship 0.7.

In keeping with calendar tradition, we intend to make this event open and accessible to everyone. We (and hopefully many of you) will teach people the basic skills they need to write simple, Javascript-based automated tests.

In order to get this Summit off the ground, we desperately need you. I mean we need everyone. We need people who don’t know Javascript. They will be our first editors. We need people who know how to teach and present. They will find the perfect style of online presentation for this. We need javascript programmers. They will craft the details of the training materials. We need writers. They will make those materials easy to follow and entertaining. If you’ve ever wanted to get involved and didn’t know how, here is your opportunity.

We started the Calendar-QA team with a “Testcase Writing Day” that many said was doomed to fail. It didn’t fail. It succeeded because so many of you made it happen. Once again, we have the opportunity to do what no one has done before. We can hold an online Automated Test Summit and set another standard of excellence for this project by breaking new ground in the online world.

Are you with us? If you want to get involved, ping either mschroeder or me (ctalbert) on IRC (#calendar, #calendar-qa), leave a comment on this blog, send me an email. Let us know. We’ll post more details here as our plans take shape.

And…Don’t forget about the 0.7 Release Candidate Test Day on Tuesday, October 9!!!!


  1. added “Alarms On Shared Calendars / Referring To X-MOZ-LASTACK Discussion” to Chiller2’s page.

  2. Have you see the Lightning Enhancer Plugin? It adds freebusy support via the addressbook.

  3. I would be interested in the Automated Test Summit. My Javascript skills are minimal, but this looks like a good place I can start to help a little.