[Cosmo-dev] Atom Publishing

Elliot Lee osafoundation at intelliot.com
Tue Jun 13 14:11:00 PDT 2006

== Introduction ==

This is my Google Summer of Code project to work on Atom support in
Cosmo. Please let me know of any comments.

It's now common practice for people to share and process data between
web applications. Allowing these web applications to access Cosmo
information using Atom would allow the sharing server to be used in
new and useful ways. For web appliations and web services, Atom is a
fast alternative to CalDAV, and can provide for complete calendar
access. Similar to blog feeds with feed readers, it would allow users
to publish and subscribe to calendars, whether they use other calendar
apps, feed readers, or custom web scripts.

I've noticed that Cosmo can already output a collection to an Atom 1.0
feed. To expand on this, I need to research atompub, the format and
protocol for publishing, and learn how to use Java to connect with
Atom feeds on the web.

== Project Goals ==

Atom (and associated formats) support for input and output of Calendar info.

== New Features ==

Export in GData format
Import Atom 1.0 and GData feeds

== Design and Implementation ==

I need help with figuring out how this would be designed and
implemented. Atom and GData feeds should be a natural option for
working with calendar data. Client programs talking to Cosmo over the
network might POST a request for Cosmo to update from a remote
calendar or POST the data directly via atompub.

== Implementation Details ==

It would be similar to the existing CalDAV, and iCal formats,
processing data from the Atom feeds and exporting it with appropriate
access permissions.

== Conclusion ==

Atom is an exciting format for Web 2.0-style calendar sharing. With
this feature, Cosmo would be able to accept events and other types of
content via atompub, and export content in a similar manner.

== Citations ==

Proposal on wiki

GData guide

AdSense calendars published by Google (example in formats to support)

CalAtom, Atom-based alternative to CalDAV


More information about the cosmo-dev mailing list