a jcr view of the world
play

A JCR view of the world a-jcr-folder a-subfolder a-jcr-node - PDF document

A JCR view of the world 1 A JCR view of the world a-jcr-folder a-subfolder a-jcr-node propertyA : Nodes have 0..N properties anotherProperty : Another value Everything is content, everything is a tree Bertrand Delacretaz, Senior Developer,


  1. A JCR view of the world 1 A JCR view of the world a-jcr-folder a-subfolder a-jcr-node propertyA : Nodes have 0..N properties anotherProperty : Another value Everything is content, everything is a tree Bertrand Delacretaz, Senior Developer, Adobe CQ5 team. Apache Software Foundation member and (current) director @bdelacretaz - http://grep.codeconsult.ch Berlin Buzzwords 2012 Powered by Apache Sling (content and rendering) and deck.js (presentation) http://localhost:4502/content/bb12.html 1 juin 2012 14:18:09

  2. A JCR view of the world 2 JCR? Java API for content repositories (JSR 283) A big tree of nodes and properties. Rich infrastructure for content-based applications. http://localhost:4502/content/bb12.html 1 juin 2012 14:18:09

  3. A JCR view of the world 3 JCR Explorer Java API for content repositories (JSR 283) A big tree of nodes and properties. Rich infrastructure for content-based applications. http://localhost:4502/content/bb12.html 1 juin 2012 14:18:09

  4. A JCR view of the world 4 A basic website page my-page jcr:content jcr:text : This is the text of the page. jcr:title : Title of my page images image_1.jpg image_2.jpg The jcr:content subnode will later act as a container for more complex content structures. http://localhost:4502/content/bb12.html 1 juin 2012 14:18:09

  5. A JCR view of the world 5 A more realistic page /content/my-site/my-page jcr:content jcr:title : Title of my page content-blocks block_1 block_2 images first-image.jpg original.jpg renditions first-image-212x43.jpg first-image-512x83.jpg Uses JCR observation to generate renditions when original image is uploaded. The first-image node is a folder, not just a file. A "micro-tree" of content. http://localhost:4502/content/bb12.html 1 juin 2012 14:18:09

  6. A JCR view of the world 6 A print queue print-queue-example incoming printjob_20120524 _1502 printers canonMP640 done printjob_20120524 _1458 Laserjet5M rejected printjob_20120524 _1458 Jobs arrive under "incoming" and move under a printer's node while they are executed. Remember unix spooling? The "rejected" folder holds jobs that could not be executed. http://localhost:4502/content/bb12.html 1 juin 2012 14:18:09

  7. A JCR view of the world 7 Defining virtual hosts /etc/map/http www_geometrixx_de sling:internalRedirect : /content/geometrixx/de sling:match : www.geometrixx.de/$ www_geometrixx_fr sling:internalRedirect : /content/geometrixx/fr sling:match : www.geometrixx.fr/$ Obvious, transparent...no explanation needed http://localhost:4502/content/bb12.html 1 juin 2012 14:18:09

  8. A JCR view of the world 8 Adobe CQ5's content structure content geometrixx_en libs wcm/mobile config install apps wcm/mobile install etc virtual-hosts var compiled-scripts Looks familiar? http://localhost:4502/content/bb12.html 1 juin 2012 14:18:09

  9. A JCR view of the world 9 Code and configurations /apps/my-app install a-bundle.jar sling.get.servlet.jar config o.a.sling.GET.config config.dev o.a.sling.logging.config Sling's JCR installer detects and installs bundles, configs and other resources. Scary? Extremely useful - with access controls of course. http://localhost:4502/content/bb12.html 1 juin 2012 14:18:09

  10. A JCR view of the world 10 A workflow model /etc/workflow/models/my-model jcr:description : Please approve... jcr:title : Content Approval states state_1 preconditions transitions state_2 preconditions transitions Useful JCR features: versioning, access control, observation, ... Semi-generic editor is relatively easy to implement. http://localhost:4502/content/bb12.html 1 juin 2012 14:18:09

  11. A JCR view of the world 11 Workflow instances /var/workflow/instances year2012 month03 day24 wf_45f23c modelPath : /etc/models/approve_content wf_45f23d day25 wf_6534ef year2011 Under /var for distinct access control and lifecycle. Purge old workflows? Delete year2011 folder. http://localhost:4502/content/bb12.html 1 juin 2012 14:18:09

  12. A JCR view of the world 12 Ingesting assets /var/public/incoming some_image.jpg invalid.pdf /var/assets/to-validate image-to-check.jpg /content/assets year2012 month04 validated_image.jpg /var/readonly/rejected other_invalid.pdf Watch the incoming folder using JCR observation Validate , accept and route assets based on content, filenames, etc. Only incoming folder needs to be writable by users. http://localhost:4502/content/bb12.html 1 juin 2012 14:18:09

  13. A JCR view of the world 13 Slingbucks sample: ordering coffee /content/slingbucks private confirmed-orders order_b45627 order_f32136 public order_c325421 coffeeType : espresso cupSize : tall Access control requirements for the private/public folders is obvious. Orders move from public to private, as if passed over the counter (using JCR observation). http://localhost:4502/content/bb12.html 1 juin 2012 14:18:09

  14. A JCR view of the world 14 Slingbucks sample: coffee options /content/slingbucks coffee-type capuccino espresso cup-type small medium price_factor : 1.4 name_fr : Moyenne name_en : Medium Options are defined in content, updates are dynamically applied. Access control defines who can modify options. http://localhost:4502/content/bb12.html 1 juin 2012 14:18:09

  15. A JCR view of the world 15 Thanks for your attention - I'm @bdelacretaz http://localhost:4502/content/bb12.html 1 juin 2012 14:18:09

  16. A JCR view of the world 16 http://localhost:4502/content/bb12.html 1 juin 2012 14:18:09

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend