What is the difference between a caldav and a HTTP 1.1 connection?
In an ideal world, the protocols I have used whilst developing jCaldav to obtain remote calendar ics files would be consistent. Unfortunately this is not the case, although I hasten to add that this is totally transparent to the end-user, and only minimally inconvenient for a Joomla website administrator.
The problem is Google don't make life easy for a developer to interface with their calendaring system. They have published a PHP API which on the face of it should provide the ideal mechanism for me. BUT the API requires the installation of the Zend MVC to work - which means an additional dependency for anyone installing my component. Secondly, I haven't tested Zend with Joomla and don't know if the Zend MVC would co-exist with the Joomla MVC.
The alternative would be to develop my own Google API. This itself isn't easy due the complex authentication code I would need to write just for Google connectivity. Developing, testing and maintaining this code quite frankly isn't worth the effort considering there are other ways of skinning this cat. Google allow calendar files to be downloaded using a straight HTTP 1.1 GET request. Thankfully this is extremely easy to implement and as such is the process my code uses.
The downsides to this approach are minimal. The Google Calendar needs to be marked as a 'public' calendar - which as you will be publishing the calendar's contents on your site, is no hardship, and whilst configuring the collection in Joomla you need to click the radio button marked 'Google Calendars'. And that's it! Oh, also check out the FAQ entry for obtaining your Google Calendar URL.
