abdera-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "David Nuescheler" <da...@day.com>
Subject [RT] More generic datamodel for JcrCollectionProvider & JCR v2.0
Date Wed, 30 Jan 2008 14:44:00 GMT
Hi Guys,

this is probably mostly a question for Dan.

Currently the JcrCollectionProvider uses an Abdera namespace
and an Abdera specific nodetype. Which basically means that
Abdera uses JCR to persist its content, but would not
expose existing arbitrary "content" to Atom. As far as I can tell,
this has never been a design goal of the JcrCollectionProvider, so
there is absolutely nothing wrong with that...

When looking at the information set of Atom and comparing it to
some of the additional "mixin types" specified in the public review
document of JSR-283 [1] where we specify the following... mix:title
[mix:title] mixin
  - jcr:title (string)
  - jcr:description (string) mix:created
[mix:created] mixin
  - jcr:created (date)
  - jcr:createdBy (string) mix:lastModified
[mix:lastModified] mixin
  - jcr:lastModified (date)
  - jcr:lastModifiedBy (string)

...there are similarities that lead me to believe that we
could use either these mixin nodetypes or at least just the same
property names.

In turn this would mean that we don't really need an Abdera specific nodetype
or an Abdera specific namespace at least for these properties, but abdera
could read from any node that exposes the above mixins.

I think this would allow to map a simple Atom feed just off of arbitrary content
living in a JSR-283 compliant repository. In my mind I could see something
like the following "Atom Element" to "JCR Property" mapping:

atom:title -> jcr:title
atom:updated -> jcr:lastModified
atom:author -> jcr:createdBy
atom:id -> jcr:uuid

Does that make sense?

In my mind this would allow content repository applications that are not
specifically Abdera aware (like our blog: http://dev.day.com) to
simply expose an Atom interface by just running Abdera on the
same existing workspace.

Maybe this is beyond the purpose of the current implementation...
Of course JSR-283 is not final yet, but I just wanted to check
if anybody else thought that this more generic approach could
make sense.


[1] http://jcp.org/aboutJava/communityprocess/pr/jsr283/

View raw message