Cosmo Development
The current release is
1.1.0. See
the project page for details.
Overview
Cosmo is a Java-based content/calendar sharing server with a built-in rich web application client. Cosmo is built on top of Tomcat, Hibernate, the Spring Framework, Acegi Security for Spring, iCal4J, Dojo, Abdera, Jackrabbit, Woodstox, and other best of breed technologies. Cosmo is available under the terms of the
Apache Software License, Version 2.0.
Getting Started
Client developers and others who do not need to work with the Cosmo source code itself can
download and install the pre-built package.
Those who want to build the development version of Cosmo from source should
check the source code out of Subversion and build it yourself.
If you are interested in fixing a bug in Cosmo, read the
patch submission guidelines.
Server Basics
Client Development References
- User Service Document - Client entry point resource, listing protocol and UI URIs for a user
- Feed Service - AtomPub-based content protocol
- WebDAV-based content protocols: WebDAV, WebDAV tickets, CalDAV, CardDAV
- Webcal - HTTP-based protocol for accessing iCalendar representations of collections
- Morse Code - a custom HTTP-based protocol for synchronizing shared content between Chandler and Cosmo
- CMP - a custom HTTP-based protocol for server management tasks
Testing
Cosmo includes hundreds of lightweight Java and JavaScript unit tests designed to be run frequently (before every checkin) located in
/src/test/unit. The Java tests are built with JUnit and run with the
mvn test goal.
How are JS tests built and run?
Cosmo can also be accessed by
other applications.
Other Resources
The build is monitored with
Tinderbox.
Issues are tracked with
Bugzilla using the
Cosmo product. Please read the
bug reporting guidelines if this is your first time reporting a Cosmo issue.
Questions and problem reports go to
cosmo-dev@osafoundation.org.
Also:
Find answers to your questions about development with and for Cosmo at
FAQ.