...
Sakai Entity and Content Models
http://bugs.sakaiproject.org/confluence/display/MJN/Sakai+Entity+Model
Every Sakai Entity has the following features/capabilities:
- URL: A URL that can be used to access this entity.
- Reference: An internal reference.
- Id: A globally unique (UUID) identifier.
- Properties: A set of resource properties associated with the entity.
- XML Form: The entity in serialized XML form.
http://bugs.sakaiproject.org/confluence/display/MJN/Sakai+Content+Model
ContentResource object:
...
Here is a decent document backgrounder the reasons behind th Sakai move to JCR as its Content Hosting Service http://bugs.sakaiproject.org/confluence/display/CHS/JCR+rationale+and+implications
Fedora Object Model
http://www.fedora-commons.org/confluence/display/FCR30/Fedora+Digital+Object+Model
- PID: A persistent, unique identifier for the object.
- Object Properties: A set of system-defined descriptive properties that are necessary to manage and track the object in the repository.
- Datastream(s): The element in a Fedora digital object that represents a content item.
...
The entire node type hierarchy can be found in section 6.7.22.1 of the JSR-170 specification.
An older api overview http://www.theserverside.com/tt/articles/article.tss?l=JCRPract
...
Fedora Relationships (RELS-EXT)
http://www.fedora-commons.org/confluence/display/FCR30/Digital+Object+Relationships
RELS-EXT gives an opportunity to express relationships between fedora objects in RDF/XML, it looks something like:
...
A Google+Summer+of+Code project in 2007 has implemented a versioning prototype, for DSpace Items, DSpace Items have two identifiers, on permanent, the other is a version lineage id. The Lineage is comprised of Items, each with unique metadata and bundles, Bitstreams within the Items will be either linked from the previous version or added anew.
http://wiki.dspace.org/index.php/Google+Summer+of+Code+2007_Versioning
JCR
JCR Appears to Version Nodes, its unclear ATM if this results in new node ids I assume it does not, There is an explicit VersionHistory API available that gives one thability to navigate the Versions (the VersionHistory of the Node). Versions are Nodes as well.
http://day.com/maven/jsr170/javadocs/jcr-1.0/javax/jcr/version/package-summary.html
Fedora
Fedora Versions Datastreams and not whole Digital Objects, this eliminates the need to generate/maintain new Object identifiers...
See for more detail http://www.fedora-commons.org/confluence/display/FCR30/Versioning
Sakai CHS
Now based on JCR so is similarly versioned
...
The Fedora API support change notification as a JMS message provider. This works via Topics or Queues.
http://www.fedora-commons.org/documentation/3.0/userdocs/server/messaging/index.html
JCR
There is an explicit Change Notification API for JCR. I did uncover a recent thread exploring the topic here:
http://www.theserverside.com/news/thread.tss?thread_id=46303
http://day.com/maven/jsr170/javadocs/jcr-1.0/javax/jcr/observation/Event.htmlhttp://day.com/maven/jsr170/javadocs/jcr-1.0/javax/jcr/observation/EventListener.html
DSpace
In 1.5 the Event Mechanism was provided as a subsystem capable of issuing events to consumers. Originally, there was a JMS consumer solution, but it was not brought into 1.5 implementation because of tractability and complexity issues with the API.
...