Introducing JCR 2.0What’s new in JSR-283
aug-2009David Nuescheler
Agenda
A Content Repository?
JCR History, Adoption
Top 10 New Features
Future Plans
JCR.
“The API should be a standard, implementation independent, way to access content bi-directionally on a granular level to a content repository.”
A Content Repository!?
RDBMSFEATURES OF AN
FILESYSTEMFEATURES OF A
YOU ALWAYS WANTED
GOOD STUFFALL THE OTHER+
Transactions, Query, Structure, Integrity Binaries, Hierarchy, Locking, Access Control
Unstructured, Versioning, Full-text, Multi-Value, Sort-Order, Observation
CONTENT REPOSITORY
5
When to use?
JCRpermissions
versions
binaries
unstructuredread-mostsearch
Introducing JCR Catalyst
JCRapachesling
WEBAPP
7
Industry Standards
170
283
8
Tracking success
Known Compliant Repositories(* partially using 3rd party connectors)
Apache Jackrabbit Oracle XML DBExo
ECMS PlatformMicrosoft
Sharepoint OpenText Livelink
Day CRX IBM FileNet P8 Xythos Repository Alfresco ECM Vignette V7
Interwoven Repository IBM CM / Domino EMC Documentum
+hundreds of TCKsregisteredSaperionArchive
Sourcemix Sourcemix
Percussion Rhythmix Lutece
Portal
QuickWCM WCMS
Jahia Framework
Hippo CMS
InfoQ Online CommunityNuxeo ECM
Sakai E-learning
TYPO3 v5.0 WCMGX WebManager
Exo ECMS Platform
Liferay Enterprise Portal
Artifactory Maven Proxy
IBM FileNet WebSiteManagerApache James
medic-2-medic mapofmedicine
Day Communiqué WCMS
Apache Tapestry
Day Communique Collab
QSLabs ComplianceApache
Cocoon
Alfresco ECMSApache Sling
Mindquarry Collaboration
Day Communique DAMmagnolia WCMS
JBoss Portal
Some known JCR Applications
Sun OpenPortal Interface 21
Spring Framework
Fast Enterprise SearchOracle WebCenterBEA Portal
Current Status
Backwards Compatible.
100%NEW & IMPROVEDBACKWARDS COMPATIBLE
Binary CompatibleJSR-170 (JCR v1.0) Applications do not require modificationMixed environment supported (1.0 & 2.0 Apps)
Reorganized.
100%NEW & IMPROVEDBACKWARDS COMPATIBLE
MODEL & BINDINGNEW & IMPROVED
Completely re-organized and clarifiedSpecificationSeparate Content Repository model sectionRemoved a lot of the Java Language specification
Bundled.
100%NEW & IMPROVEDBACKWARDS COMPATIBLE
MODEL & BINDINGNEW & IMPROVED
OSGI BUNDLENEW & IMPROVED
Shipped jcr-2.0.jar is an OSGI BundleReady to deploy in an OSGI Container
Favorites.
10
Query extensions
2.0NEW & IMPROVED#1 QUERY
AQMJQOM
SQLAbstract Query ModelJava Query Object Model (Java Binding)SQL Bindings
Query extensions
2.0NEW & IMPROVED#1 QUERY
+JOINRevamped Result-Set to allow for multiple nodesNew and Improved query capabilities
Query extensions
2.0NEW & IMPROVED#1 QUERY
-XPATH**well, still available but deprecated
Not enough support from the EGJQOM allows for many implementationsJackrabbit / CRX will support XPATH
Access Control Management
2.0NEW & IMPROVED
#2 ACL
+ACL+POLICY
Allows to set ACL and Access Control Policies
Retention Policy & Hold
2.0NEW & IMPROVED#3 RM
+RETENTION+LEGAL HOLD
Support for interaction with RM systemsAllows setting and introspection of Retention Policies and Holds
Simple versioning
2.0NEW & IMPROVED
#4 SIMPLE VERSIONING
+LINEAR VERSIONING
Simplified Versioning Model to allowfor ease of adoption.
Lifecycle Management
2.0NEW & IMPROVED
#5 LIFECYCLE
+BPMAllows to express and introspect Lifecycle statusand transitions.
Nodetype Registration
2.0NEW & IMPROVED#6 NODETYPE MANAGEMENT
+REGISTERNODETYPES
Standardized way of registering new and modifyregistered Nodetypes
New property & nodetypes
2.0NEW & IMPROVED
#7 NEW PROPERTY& NODETYPES
+URL+WEAK REFERENCE
+DECIMAL
+mix:title
+mix:lastModified+mix:created
+mix:language+mix:etag+nt:address
Things we missed in JCR 1.0 applications
Workspace Management
2.0NEW & IMPROVED
#8 WORKSPACEMANAGEMENT
+CREATE & REMOVE WS
Standardized way of create and removeworkspaces
Shareable nodes
2.0NEW & IMPROVED
#9 SHAREABLE NODES
+GRAPHMulti-filing. Nodes can have multiple parents.
Journalling Observation
2.0NEW & IMPROVED#10 JOURNALLINGOBSERVATION
+DELTA SINCE?what changed since I last checked?
What’s next?
CMIS Proposers
DMS
Protocol Bindings
for JCR subse
t
CMIS
About CMIS:
Least common denominator document management interoperability specification.
OASIS Technical Committee.
CMIS @ Day
Great for our DM connectors
Layered easily on top of JCR (since it is a functional subset)
Apache Chemistry
JCR 2.1
Submission
Planned2009
Scripting, Ease of Use.