SlideShare ist ein Scribd-Unternehmen logo
1 von 42
Roby Ferrari/Pesce fossile/Flickr


© Copyright 2009 by Magnolia International Ltd.                Magnolia Roadmap 1
Roby Ferrari/Pesce fossile/Flickr


© Copyright 2009 by Magnolia International Ltd.                Magnolia Roadmap 1
Persistence

                                                  Roby Ferrari/Pesce fossile/Flickr


© Copyright 2009 by Magnolia International Ltd.                Magnolia Roadmap 1
Persistence



2
               Magnolia is a registered trademark used by permission
Version 1.0
JCR 2.0


              Persistence



2
               Magnolia is a registered trademark used by permission
Version 1.0
What is new?


    JCR 2.0


               Persistence



2
                     Magnolia is a registered trademark used by permission
Version 1.0
What is new?


    JCR 2.0
         Benefit




                   Persistence



2
                         Magnolia is a registered trademark used by permission
Version 1.0
What is new?


    JCR 2.0
         Benefit




                   Persistence
                                                                    Content API


2
                         Magnolia is a registered trademark used by permission
Version 1.0
What is new?


    JCR 2.0
         Benefit




                   Persistence
                                                                                 Changes


                                                                    Content API


2
                         Magnolia is a registered trademark used by permission
Version 1.0
What is new?


    JCR 2.0
         Benefit




                   Persistence
                                                                                  Changes


                                                                    Content API
                                                                                 Cleanup




2
                         Magnolia is a registered trademark used by permission
Version 1.0
What is new?


    JCR 2.0
         Benefit




                   Persistence
                                                                                  Changes


Content Structure                                                   Content API
                                                                                 Cleanup




2
                         Magnolia is a registered trademark used by permission
Version 1.0
What is new?


    JCR 2.0
         Benefit




                         Persistence
                                                                                        Changes


Content Structure                                                         Content API
                  Optimize                                                             Cleanup




2
                               Magnolia is a registered trademark used by permission
Version 1.0
JCR 2.0: Graphs
• Nodes can have multiple parents
• Same article in various sections
• Redirects or virtual URI-mappings




3
                    Magnolia is a registered trademark used by permission
Version 1.0
JCR 2.0: ACL’s + Policies
• Can move Security aspects from Content-API in JCR layer
  • Better performance due to less queries will be required
•




4
                     Magnolia is a registered trademark used by permission
Version 1.0
JCR 2.0: Journaling
•     observation feature
•     events since
•     audit
•     primitive diff view
•     synchronization




5
                            Magnolia is a registered trademark used by permission
Version 1.0
JCR 2.0: New Property & Nodetypes
•     mix:title
•     mix:created
•     mix:language
•     mix:lastModified
•     mix:etag
•     nt:address




6
                         Magnolia is a registered trademark used by permission
Version 1.0
JCR 2.0: Soft references
• Replace String UUID’s with soft references




7
                     Magnolia is a registered trademark used by permission
Version 1.0
JCR 2.0: Retention and Hold
• synchronization
• legal hold
• restrict usages of assets




8
                     Magnolia is a registered trademark used by permission
Version 1.0
JCR 2.0: Lifecycle Management
•     Transitions
•     specification is very vague
•     used together with the workflow engine?
•     marked for deletion?
•     ...




9
                         Magnolia is a registered trademark used by permission
Version 1.0
Content API: History
• JCR was not yet final
• pages and paragraphs
• not much experience




10
                   Magnolia is a registered trademark used by permission
Version 1.0
Content API: Improvements
• use Iterators
• align with the JCR API
• binaries are nodes




11
                    Magnolia is a registered trademark used by permission
Version 1.0
Content API: Session handling
• keep session
  • some use cases require that
• handle InvalidItemStateException
• re-apply changes, best effort




12
                    Magnolia is a registered trademark used by permission
Version 1.0
Content API: Naming
•     workspace vs. repository
•     session vs. hierarchy manager
•     content vs. node
•     nodedata vs. property




13
                         Magnolia is a registered trademark used by permission
Version 1.0
Content API: Security
• move content security to the JCR layer
• JCR 2.0 defines the API for that
• better performance, esp. for queries




14
                    Magnolia is a registered trademark used by permission
Version 1.0
Content API: JCR API
• new code should use the JCR API
• profit from other JCR frameworks and libraries
  • example Vaadin JCR Container
• keep the Content API alive
  • maintain a wrapper




15
                     Magnolia is a registered trademark used by permission
Version 1.0
Content Structure: mix:metaData
•     no sub nodes
•     faster queries
•     order by creation or modification date
•     little changes in the Content API




16
                        Magnolia is a registered trademark used by permission
Version 1.0
Content Structure: Versions
• use node type definition - on parent version
• introduce a node for content/paragraphs
  • export of a page
• get rid of the special version workspace
  • avoid copying content




17
                     Magnolia is a registered trademark used by permission
Version 1.0
Content Structure: Use Node Types
• more node types
  • not only content and contentNode
• paragraph and page type = node type
  • to find pages like news, articles
• should all be easier with JCR 2.0




18
                   Magnolia is a registered trademark used by permission
Version 1.0
Content Structure: Links
• use soft references
• split rich text content
  • use references for the links
• easier structure navigation




19
                     Magnolia is a registered trademark used by permission
Version 1.0
Persistence



20
               Magnolia is a registered trademark used by permission
Version 1.0
JCR 2.0


               Persistence



20
                Magnolia is a registered trademark used by permission
Version 1.0
ACLs


      JCR 2.0


                Persistence



 20
                 Magnolia is a registered trademark used by permission
 Version 1.0
ACLs           Journaling


      JCR 2.0


                Persistence



 20
                       Magnolia is a registered trademark used by permission
 Version 1.0
ACLs                  Journaling


      JCR 2.0
          Lifecycle




                       Persistence



 20
                              Magnolia is a registered trademark used by permission
 Version 1.0
ACLs                  Journaling


      JCR 2.0
          Lifecycle




                       Persistence

                                                                                Content API


 20
                              Magnolia is a registered trademark used by permission
 Version 1.0
ACLs                  Journaling


      JCR 2.0
          Lifecycle




                       Persistence

                                                                                Content API
                                                                                      JCR




 20
                              Magnolia is a registered trademark used by permission
 Version 1.0
ACLs                  Journaling


      JCR 2.0
          Lifecycle




                       Persistence

                                                                                Content API
                                                                         Iterators    JCR




 20
                              Magnolia is a registered trademark used by permission
 Version 1.0
ACLs                  Journaling


      JCR 2.0
          Lifecycle




                       Persistence
                                                                                      Naming


                                                                                Content API
                                                                         Iterators             JCR




 20
                              Magnolia is a registered trademark used by permission
 Version 1.0
ACLs                  Journaling


      JCR 2.0
          Lifecycle




                       Persistence
                                                                                      Naming

  Content Structure                                                             Content API
                                                                         Iterators             JCR




 20
                              Magnolia is a registered trademark used by permission
 Version 1.0
ACLs                  Journaling


      JCR 2.0
          Lifecycle




                       Persistence
      mix:metaData
                                                                                      Naming

  Content Structure                                                             Content API
                                                                         Iterators             JCR




 20
                              Magnolia is a registered trademark used by permission
 Version 1.0
ACLs                     Journaling


      JCR 2.0
          Lifecycle




                          Persistence
      mix:metaData
                                                                                          Naming

  Content Structure                                                                 Content API
               Version friendly                                              Iterators             JCR




 20
                                  Magnolia is a registered trademark used by permission
 Version 1.0
ACLs                     Journaling


      JCR 2.0
          Lifecycle




                          Persistence
      mix:metaData
                              Soft references                                             Naming

  Content Structure                                                                 Content API
               Version friendly                                              Iterators             JCR




 20
                                  Magnolia is a registered trademark used by permission
 Version 1.0

Weitere ähnliche Inhalte

Mehr von Philipp Bärfuss

Magnolia 5 - Under the Hood
Magnolia 5 - Under the HoodMagnolia 5 - Under the Hood
Magnolia 5 - Under the HoodPhilipp Bärfuss
 
Magnolia CMS 5.0 - Architecture
Magnolia CMS 5.0 - ArchitectureMagnolia CMS 5.0 - Architecture
Magnolia CMS 5.0 - ArchitecturePhilipp Bärfuss
 
Magnolia CMS 5.0 - Overview
Magnolia CMS 5.0 - OverviewMagnolia CMS 5.0 - Overview
Magnolia CMS 5.0 - OverviewPhilipp Bärfuss
 
Magnolia CMS Roadmap - Beyond 5.0
Magnolia CMS Roadmap - Beyond 5.0Magnolia CMS Roadmap - Beyond 5.0
Magnolia CMS Roadmap - Beyond 5.0Philipp Bärfuss
 
Magnolia CMS 5.0 - Three perspectives
Magnolia CMS 5.0   - Three perspectivesMagnolia CMS 5.0   - Three perspectives
Magnolia CMS 5.0 - Three perspectivesPhilipp Bärfuss
 

Mehr von Philipp Bärfuss (6)

Magnolia 5 - Under the Hood
Magnolia 5 - Under the HoodMagnolia 5 - Under the Hood
Magnolia 5 - Under the Hood
 
Magnolia CMS 5.0 - Architecture
Magnolia CMS 5.0 - ArchitectureMagnolia CMS 5.0 - Architecture
Magnolia CMS 5.0 - Architecture
 
Magnolia CMS 5.0 - Overview
Magnolia CMS 5.0 - OverviewMagnolia CMS 5.0 - Overview
Magnolia CMS 5.0 - Overview
 
Magnolia CMS Roadmap - Beyond 5.0
Magnolia CMS Roadmap - Beyond 5.0Magnolia CMS Roadmap - Beyond 5.0
Magnolia CMS Roadmap - Beyond 5.0
 
Magnolia CMS 5.0 - Three perspectives
Magnolia CMS 5.0   - Three perspectivesMagnolia CMS 5.0   - Three perspectives
Magnolia CMS 5.0 - Three perspectives
 
Magnolia 5.0 'GenUIne'
Magnolia 5.0 'GenUIne'Magnolia 5.0 'GenUIne'
Magnolia 5.0 'GenUIne'
 

Magnolia CMS 5.0 - JCR 2.0 and Content API

  • 1. Roby Ferrari/Pesce fossile/Flickr © Copyright 2009 by Magnolia International Ltd. Magnolia Roadmap 1
  • 2. Roby Ferrari/Pesce fossile/Flickr © Copyright 2009 by Magnolia International Ltd. Magnolia Roadmap 1
  • 3. Persistence Roby Ferrari/Pesce fossile/Flickr © Copyright 2009 by Magnolia International Ltd. Magnolia Roadmap 1
  • 4. Persistence 2 Magnolia is a registered trademark used by permission Version 1.0
  • 5. JCR 2.0 Persistence 2 Magnolia is a registered trademark used by permission Version 1.0
  • 6. What is new? JCR 2.0 Persistence 2 Magnolia is a registered trademark used by permission Version 1.0
  • 7. What is new? JCR 2.0 Benefit Persistence 2 Magnolia is a registered trademark used by permission Version 1.0
  • 8. What is new? JCR 2.0 Benefit Persistence Content API 2 Magnolia is a registered trademark used by permission Version 1.0
  • 9. What is new? JCR 2.0 Benefit Persistence Changes Content API 2 Magnolia is a registered trademark used by permission Version 1.0
  • 10. What is new? JCR 2.0 Benefit Persistence Changes Content API Cleanup 2 Magnolia is a registered trademark used by permission Version 1.0
  • 11. What is new? JCR 2.0 Benefit Persistence Changes Content Structure Content API Cleanup 2 Magnolia is a registered trademark used by permission Version 1.0
  • 12. What is new? JCR 2.0 Benefit Persistence Changes Content Structure Content API Optimize Cleanup 2 Magnolia is a registered trademark used by permission Version 1.0
  • 13. JCR 2.0: Graphs • Nodes can have multiple parents • Same article in various sections • Redirects or virtual URI-mappings 3 Magnolia is a registered trademark used by permission Version 1.0
  • 14. JCR 2.0: ACL’s + Policies • Can move Security aspects from Content-API in JCR layer • Better performance due to less queries will be required • 4 Magnolia is a registered trademark used by permission Version 1.0
  • 15. JCR 2.0: Journaling • observation feature • events since • audit • primitive diff view • synchronization 5 Magnolia is a registered trademark used by permission Version 1.0
  • 16. JCR 2.0: New Property & Nodetypes • mix:title • mix:created • mix:language • mix:lastModified • mix:etag • nt:address 6 Magnolia is a registered trademark used by permission Version 1.0
  • 17. JCR 2.0: Soft references • Replace String UUID’s with soft references 7 Magnolia is a registered trademark used by permission Version 1.0
  • 18. JCR 2.0: Retention and Hold • synchronization • legal hold • restrict usages of assets 8 Magnolia is a registered trademark used by permission Version 1.0
  • 19. JCR 2.0: Lifecycle Management • Transitions • specification is very vague • used together with the workflow engine? • marked for deletion? • ... 9 Magnolia is a registered trademark used by permission Version 1.0
  • 20. Content API: History • JCR was not yet final • pages and paragraphs • not much experience 10 Magnolia is a registered trademark used by permission Version 1.0
  • 21. Content API: Improvements • use Iterators • align with the JCR API • binaries are nodes 11 Magnolia is a registered trademark used by permission Version 1.0
  • 22. Content API: Session handling • keep session • some use cases require that • handle InvalidItemStateException • re-apply changes, best effort 12 Magnolia is a registered trademark used by permission Version 1.0
  • 23. Content API: Naming • workspace vs. repository • session vs. hierarchy manager • content vs. node • nodedata vs. property 13 Magnolia is a registered trademark used by permission Version 1.0
  • 24. Content API: Security • move content security to the JCR layer • JCR 2.0 defines the API for that • better performance, esp. for queries 14 Magnolia is a registered trademark used by permission Version 1.0
  • 25. Content API: JCR API • new code should use the JCR API • profit from other JCR frameworks and libraries • example Vaadin JCR Container • keep the Content API alive • maintain a wrapper 15 Magnolia is a registered trademark used by permission Version 1.0
  • 26. Content Structure: mix:metaData • no sub nodes • faster queries • order by creation or modification date • little changes in the Content API 16 Magnolia is a registered trademark used by permission Version 1.0
  • 27. Content Structure: Versions • use node type definition - on parent version • introduce a node for content/paragraphs • export of a page • get rid of the special version workspace • avoid copying content 17 Magnolia is a registered trademark used by permission Version 1.0
  • 28. Content Structure: Use Node Types • more node types • not only content and contentNode • paragraph and page type = node type • to find pages like news, articles • should all be easier with JCR 2.0 18 Magnolia is a registered trademark used by permission Version 1.0
  • 29. Content Structure: Links • use soft references • split rich text content • use references for the links • easier structure navigation 19 Magnolia is a registered trademark used by permission Version 1.0
  • 30. Persistence 20 Magnolia is a registered trademark used by permission Version 1.0
  • 31. JCR 2.0 Persistence 20 Magnolia is a registered trademark used by permission Version 1.0
  • 32. ACLs JCR 2.0 Persistence 20 Magnolia is a registered trademark used by permission Version 1.0
  • 33. ACLs Journaling JCR 2.0 Persistence 20 Magnolia is a registered trademark used by permission Version 1.0
  • 34. ACLs Journaling JCR 2.0 Lifecycle Persistence 20 Magnolia is a registered trademark used by permission Version 1.0
  • 35. ACLs Journaling JCR 2.0 Lifecycle Persistence Content API 20 Magnolia is a registered trademark used by permission Version 1.0
  • 36. ACLs Journaling JCR 2.0 Lifecycle Persistence Content API JCR 20 Magnolia is a registered trademark used by permission Version 1.0
  • 37. ACLs Journaling JCR 2.0 Lifecycle Persistence Content API Iterators JCR 20 Magnolia is a registered trademark used by permission Version 1.0
  • 38. ACLs Journaling JCR 2.0 Lifecycle Persistence Naming Content API Iterators JCR 20 Magnolia is a registered trademark used by permission Version 1.0
  • 39. ACLs Journaling JCR 2.0 Lifecycle Persistence Naming Content Structure Content API Iterators JCR 20 Magnolia is a registered trademark used by permission Version 1.0
  • 40. ACLs Journaling JCR 2.0 Lifecycle Persistence mix:metaData Naming Content Structure Content API Iterators JCR 20 Magnolia is a registered trademark used by permission Version 1.0
  • 41. ACLs Journaling JCR 2.0 Lifecycle Persistence mix:metaData Naming Content Structure Content API Version friendly Iterators JCR 20 Magnolia is a registered trademark used by permission Version 1.0
  • 42. ACLs Journaling JCR 2.0 Lifecycle Persistence mix:metaData Soft references Naming Content Structure Content API Version friendly Iterators JCR 20 Magnolia is a registered trademark used by permission Version 1.0

Hinweis der Redaktion