Introducing JCR 2.0
What’s new in JSR-283




sep-2009
David Nuescheler
Agenda

 A Content Repository?
 JCR History, Adoption
 Top 10 New Features
 Beyond the Spec (Demo)
 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!?

                     CONTENT REPOSITORY

           FEATURES OF AN                                        FEATURES OF A



          RDBMS                                        FILESYSTEM
   Transactions, Query, Structure, Integrity         Binaries, Hierarchy, Locking, Access Control




                +
                                               ALL THE OTHER



                                  GOOD STUFF
                                      YOU ALWAYS WANTED

                              Unstructured, Versioning, Full-text,
                              Multi-Value, Sort-Order, Observation
When to use?



permissions    binaries
   search JCR   read-most
   versions    unstructured
                              5
Industry Standards


  170

  283

                     6
Tracking success




                   7
Known Compliant Repositories
(* partially using 3rd party connectors)




                                           Exo               Microsoft
 Apache Jackrabbit    Oracle XML DB    ECMS Platform        Sharepoint    OpenText Livelink




     Day CRX          IBM FileNet P8   Xythos Repository   Alfresco ECM     Vignette V7




    Interwoven                                               Saperion     +hund
                                                                               reds o
    Repository       IBM CM / Domino EMC Documentum          Archive         registe f TCKs
                                                                                    red
Some known JCR Applications


                                                                                 Fast
  BEA Portal        Sun                         Oracle WebCenter          Enterprise Search
                               JBoss Portal                        Interface 21
               OpenPortal
                                             Day Communique Spring Framework
  magnolia WCMS                                    DAM
                          Apache Sling                                   Day Communique
               Alfresco ECMS                 Mindquarry                        Collab
                                           Collaboration         Apache Tapestry
                    QSLabs
  Apache          Compliance        Day Communiqué
  Cocoon                                 WCMS                                  IBM FileNet
                                 Artifactory             medic-2-medic      WebSiteManager
          Apache James         Maven Proxy              mapofmedicine
                           Exo
                      ECMS Platform               TYPO3
 GX WebManager                                  v5.0 WCM
                                  InfoQ                 Hippo                      Liferay
             Nuxeo ECM Online Community                 CMS                   Enterprise Portal
                                              Jahia                   Sakai
     Percussion                            Framework               E-learning
     Rhythmix             QuickWCM                                          Sourcemix
                            WCMS                     Lutece                 Sourcemix
                                                     Portal
Current Status
Backwards Compatible.


           NEW




              100%
                  & IMP
     BACKWA             ROVE
                             D
     COMPAT RDS
           IBLE




                        Binary Compatible
                        JSR-170 (JCR v1.0) Applications
                        do not require modification
                        Mixed environment supported (1.0 & 2.0 Apps)
Reorganized.


           NEW




              100DEL & BINDING
                  & IMP
     BACKWA             ROVE
                             D                 D



                   %
     COMPAT RDS                       IMP ROVE
                                  &
           IBLE             NEW



                MO


                          Completely re-organized and clarified
                          Specification
                          Separate Content Repository model section
                          Removed a lot of the Java Language specification
Bundled.


           NEW




              100DEL & BINDING
                  & IMP
     BACKWA             ROVE
                             D                 D



                   %
     COMPAT RDS                       IMP ROVE
                                  &
           IBLE             NEW



                MO NEW & IMPROVED



          OSGI BUNDLE


                          Shipped jcr-2.0.jar is an OSGI Bundle
                          Ready to deploy in an OSGI Container
Favorites.




 10
Query extensions




                      AQM
                        JQOM
  NEW


#1 QUER
        & IMP
              ROVE                SQL
              2.0
                  D

       Y              Abstract Query Model
                      Java Query Object Model (Java Binding)
                      SQL Bindings
Query extensions




                      +JOIN
  NEW
        & IMP

#1 QUER
              ROVE



              2.0
                  D     Revamped Result-Set to allow for multiple nodes
       Y                New and Improved query capabilities
Query extensions




                  -XPATH                                  *
                      *well, still available but deprecated



  NEW
        & IMP
                                       Not enough support from the EG
#1 QUER
              ROVE



              2.0
                  D
                                       JQOM allows for many implementations
       Y                               Jackrabbit / CRX will support XPATH
Access Control Management




                   +ACL
                  +POLICY
 NEW & IM
         PROVED

#2 ACL
           2.0       Allows to set ACL and Access Control Policies
Retention Policy & Hold




        +RETENTION
        +LEGAL HOLD
 NEW
       & IMP
             ROVE

#3 RM
             2.0
                 D
                     Support for interaction with RM systems
                     Allows setting and introspection of Retention
                     Policies and Holds
Simple versioning




              +LINEAR
             VERSIONING
             2.0
               ED
  NEW & IMPROV

#4 SIMPLE           Simplified Versioning Model to allow
VERSIONING          for ease of adoption.
Lifecycle Management




                     +BPM
                       Allows to express and introspect Lifecycle status
    NEW & IM           and transitions.
            PROVED

#5 LIFECYCLE
               2.0
Nodetype Registration




            +REGISTER
            NODETYPES
    NEW
          & IMP
                ROVE
#6 NODE

                2.0
                     D
MANAGE TYPE
      MENT               Standardized way of registering new and modify
                         registered Nodetypes
New property & nodetypes


                              +mix:title
              +URL            +mix:created
                              +mix:lastModified
   +WEAK REFERENCE            +mix:language
          +DECIMAL            +mix:etag
                              +nt:address


    NEW & IMPROVED

#7 NEW PROPERTY
  & NODETYPES
                  2.0   Things we missed in JCR 1.0 applications
Workspace Management




          +CREATE &
          REMOVE WS
               2.0
           PROVED
  NEW & IM

#8 WORKSPACE         Standardized way of create and remove
 MANAGEMENT          workspaces
Shareable nodes




                   +GRAPH
                     Multi-filing. Nodes can have multiple parents.



               2.0
  NEW & IMPROVED

#9 SHAREABLE
    NODES
Journalling Observation




      +DELTA SINCE?
    NEW
          & IMP         what changed since I last checked?
#10 JOU
                ROVE



                  2.0
                    D
       RNALLIN
 OBSERVA      G
         TION
Beyond the Spec?
Beyond the Spec.


            NEW
                  & IMP
     APACHE             ROVE

     NEW & PJACKRABBIT
                         2.0
                             D

            ROVEN ;)




                         Robust Code base
                         Fully JCR 2.0 Compliant ;)
                         More tooling than ever
                         Established eco-system
Beyond the Spec.


            NEW
                  & IMP
     APACHE             ROVE

     NEW & PJACKRABBIT
                         2.0
                             D

            ROVEN ;)                   YST
                                   ATAL


                              ING!
                                 C
                             JCR




                     APACHE SL


                          Restful Web Framework
                          Running on top of JCR
                          Never build a JCR WebApp without it. Seriously!
What’s next?
JCR 2.1




                      sion
                  misned
               Sublan
                 P 009
                   2


          Scripting, Ease of Use.
Introducing JSR-283

Introducing JSR-283

  • 1.
    Introducing JCR 2.0 What’snew in JSR-283 sep-2009 David Nuescheler
  • 2.
    Agenda  A ContentRepository?  JCR History, Adoption  Top 10 New Features  Beyond the Spec (Demo)  Future Plans
  • 3.
    JCR. “TheAPI should be a standard, implementation independent, way to access content bi- directionally on a granular level to a content repository.”
  • 4.
    A Content Repository!? CONTENT REPOSITORY FEATURES OF AN FEATURES OF A RDBMS FILESYSTEM Transactions, Query, Structure, Integrity Binaries, Hierarchy, Locking, Access Control + ALL THE OTHER GOOD STUFF YOU ALWAYS WANTED Unstructured, Versioning, Full-text, Multi-Value, Sort-Order, Observation
  • 5.
    When to use? permissions binaries search JCR read-most versions unstructured 5
  • 6.
  • 7.
  • 8.
    Known Compliant Repositories (*partially using 3rd party connectors) Exo Microsoft Apache Jackrabbit Oracle XML DB ECMS Platform Sharepoint OpenText Livelink Day CRX IBM FileNet P8 Xythos Repository Alfresco ECM Vignette V7 Interwoven Saperion +hund reds o Repository IBM CM / Domino EMC Documentum Archive registe f TCKs red
  • 9.
    Some known JCRApplications Fast BEA Portal Sun Oracle WebCenter Enterprise Search JBoss Portal Interface 21 OpenPortal Day Communique Spring Framework magnolia WCMS DAM Apache Sling Day Communique Alfresco ECMS Mindquarry Collab Collaboration Apache Tapestry QSLabs Apache Compliance Day Communiqué Cocoon WCMS IBM FileNet Artifactory medic-2-medic WebSiteManager Apache James Maven Proxy mapofmedicine Exo ECMS Platform TYPO3 GX WebManager v5.0 WCM InfoQ Hippo Liferay Nuxeo ECM Online Community CMS Enterprise Portal Jahia Sakai Percussion Framework E-learning Rhythmix QuickWCM Sourcemix WCMS Lutece Sourcemix Portal
  • 10.
  • 11.
    Backwards Compatible. NEW 100% & IMP BACKWA ROVE D COMPAT RDS IBLE Binary Compatible JSR-170 (JCR v1.0) Applications do not require modification Mixed environment supported (1.0 & 2.0 Apps)
  • 12.
    Reorganized. NEW 100DEL & BINDING & IMP BACKWA ROVE D D % COMPAT RDS IMP ROVE & IBLE NEW MO Completely re-organized and clarified Specification Separate Content Repository model section Removed a lot of the Java Language specification
  • 13.
    Bundled. NEW 100DEL & BINDING & IMP BACKWA ROVE D D % COMPAT RDS IMP ROVE & IBLE NEW MO NEW & IMPROVED OSGI BUNDLE Shipped jcr-2.0.jar is an OSGI Bundle Ready to deploy in an OSGI Container
  • 14.
  • 15.
    Query extensions AQM JQOM NEW #1 QUER & IMP ROVE SQL 2.0 D Y Abstract Query Model Java Query Object Model (Java Binding) SQL Bindings
  • 16.
    Query extensions +JOIN NEW & IMP #1 QUER ROVE 2.0 D Revamped Result-Set to allow for multiple nodes Y New and Improved query capabilities
  • 17.
    Query extensions -XPATH * *well, still available but deprecated NEW & IMP Not enough support from the EG #1 QUER ROVE 2.0 D JQOM allows for many implementations Y Jackrabbit / CRX will support XPATH
  • 18.
    Access Control Management +ACL +POLICY NEW & IM PROVED #2 ACL 2.0 Allows to set ACL and Access Control Policies
  • 19.
    Retention Policy &Hold +RETENTION +LEGAL HOLD NEW & IMP ROVE #3 RM 2.0 D Support for interaction with RM systems Allows setting and introspection of Retention Policies and Holds
  • 20.
    Simple versioning +LINEAR VERSIONING 2.0 ED NEW & IMPROV #4 SIMPLE Simplified Versioning Model to allow VERSIONING for ease of adoption.
  • 21.
    Lifecycle Management +BPM Allows to express and introspect Lifecycle status NEW & IM and transitions. PROVED #5 LIFECYCLE 2.0
  • 22.
    Nodetype Registration +REGISTER NODETYPES NEW & IMP ROVE #6 NODE 2.0 D MANAGE TYPE MENT Standardized way of registering new and modify registered Nodetypes
  • 23.
    New property &nodetypes +mix:title +URL +mix:created +mix:lastModified +WEAK REFERENCE +mix:language +DECIMAL +mix:etag +nt:address NEW & IMPROVED #7 NEW PROPERTY & NODETYPES 2.0 Things we missed in JCR 1.0 applications
  • 24.
    Workspace Management +CREATE & REMOVE WS 2.0 PROVED NEW & IM #8 WORKSPACE Standardized way of create and remove MANAGEMENT workspaces
  • 25.
    Shareable nodes +GRAPH Multi-filing. Nodes can have multiple parents. 2.0 NEW & IMPROVED #9 SHAREABLE NODES
  • 26.
    Journalling Observation +DELTA SINCE? NEW & IMP what changed since I last checked? #10 JOU ROVE 2.0 D RNALLIN OBSERVA G TION
  • 27.
  • 28.
    Beyond the Spec. NEW & IMP APACHE ROVE NEW & PJACKRABBIT 2.0 D ROVEN ;) Robust Code base Fully JCR 2.0 Compliant ;) More tooling than ever Established eco-system
  • 29.
    Beyond the Spec. NEW & IMP APACHE ROVE NEW & PJACKRABBIT 2.0 D ROVEN ;) YST ATAL ING! C JCR APACHE SL Restful Web Framework Running on top of JCR Never build a JCR WebApp without it. Seriously!
  • 30.
  • 31.
    JCR 2.1 sion misned Sublan P 009 2 Scripting, Ease of Use.