Magnolia CMS 5.0 - JCR 2.0 and Content API

4,495 views

Published on

What JCR 2.0 means for Magnolia CMS. Aline the Content API with JCR. Better performance.

0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,495
On SlideShare
0
From Embeds
0
Number of Embeds
794
Actions
Shares
0
Downloads
66
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide







































  • Magnolia CMS 5.0 - JCR 2.0 and Content API

    1. 1. Roby Ferrari/Pesce fossile/Flickr © Copyright 2009 by Magnolia International Ltd. Magnolia Roadmap 1
    2. 2. Roby Ferrari/Pesce fossile/Flickr © Copyright 2009 by Magnolia International Ltd. Magnolia Roadmap 1
    3. 3. Persistence Roby Ferrari/Pesce fossile/Flickr © Copyright 2009 by Magnolia International Ltd. Magnolia Roadmap 1
    4. 4. Persistence 2 Magnolia is a registered trademark used by permission Version 1.0
    5. 5. JCR 2.0 Persistence 2 Magnolia is a registered trademark used by permission Version 1.0
    6. 6. What is new? JCR 2.0 Persistence 2 Magnolia is a registered trademark used by permission Version 1.0
    7. 7. What is new? JCR 2.0 Benefit Persistence 2 Magnolia is a registered trademark used by permission Version 1.0
    8. 8. What is new? JCR 2.0 Benefit Persistence Content API 2 Magnolia is a registered trademark used by permission Version 1.0
    9. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 30. Persistence 20 Magnolia is a registered trademark used by permission Version 1.0
    31. 31. JCR 2.0 Persistence 20 Magnolia is a registered trademark used by permission Version 1.0
    32. 32. ACLs JCR 2.0 Persistence 20 Magnolia is a registered trademark used by permission Version 1.0
    33. 33. ACLs Journaling JCR 2.0 Persistence 20 Magnolia is a registered trademark used by permission Version 1.0
    34. 34. ACLs Journaling JCR 2.0 Lifecycle Persistence 20 Magnolia is a registered trademark used by permission Version 1.0
    35. 35. ACLs Journaling JCR 2.0 Lifecycle Persistence Content API 20 Magnolia is a registered trademark used by permission Version 1.0
    36. 36. ACLs Journaling JCR 2.0 Lifecycle Persistence Content API JCR 20 Magnolia is a registered trademark used by permission Version 1.0
    37. 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. 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. 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. 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. 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. 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

    ×