[Cosmo] Re: Acegi/Spring + Slide

Brian Moseley bcm at osafoundation.org
Sun Feb 12 05:55:45 PST 2006

On 2/10/06, Mark Slater <lists at humanesoftware.com> wrote:
> So essentially Cosmo is adding additional DAV protocols on top of the
> "simple" jcr-server implementation? As in a MKCALENDAR message to
> Cosmo gets translated to MKCOL and sent to the jcr-server?

yes to the first question, not quite to the second. cosmo handles
MKCALENDAR by creating a corresponding node of a specific type
(calendar:calendar i believe) in the jcr repository and setting some
caldav-specific properties on that node. jcr-server handles MKCOL
similarly but with a different node type.

> I'm actually wondering if my project might be better served by
> directly using the "simple" jcr-server, as you did, and supporting
> the transition of that code into a full-fledged WebDAV server. The
> way we've conceived the digital library aspect of the project means
> the users don't get to directly control filenames, or resource
> locations within the repository. So as long as my web-app has full
> access to the repository (using whatever interface is most
> efficient), what I really need is a WebDAV server that supports GET
> (and maybe PROPFIND) and defers user authentication to Whisper's back
> end (Acegi). Do you have any thoughts on the relative difficulty of
> this using Cosmo vs. Jackrabbit directly?

using jcr-server directly, you'd have the same issues discussed
earlier in the thread re integration with your user database and
implementing acl support, but you'd also have the additional burden of
integrating acegi security yourself.

on the other hand, cosmo has acegi security built in, has (i think) a
pretty simple extension point for integrating with your user db, and
is waiting for somebody to have the time and interest to add acl
support. cosmo also represents a lot of time spent understanding the
nuances of jcr-server which you'd have to put in yourself to get your
app working with it. and of course, should you want to add support for
calendaring (and eventually scheduling, tasks, contacts, etc) to your
project, you'd get all that for free.

i hope that we do eventually build up some momentum for an asf
"full-stack" jcr-backed dav server. since i think cosmo is proceeding
further in this direction than any other project, we're probably going
to be the ones that jumpstart any such effort at apache by donating
code to them. so should you choose to use cosmo and put some work into
an acl backend, that work would be likely to end up in jackrabbit or
somewhere else in the asf eventually anyway. if that's any motivation
for you :)

More information about the Cosmo mailing list