SlideShare a Scribd company logo
CRX and Sling Best Practices for Web Apps
        Tools, Resources & Scripts




  © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential.   2011-Mar-30



Wednesday, 30 March 2011
Outline
   CRX Overview
   Resource Addressing
   Components / Modularization
   Component Inheritance
   Side track: GFX Rendering
   Using File Vault Command Line Tool
   Updating Content
   Q&A

  © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential.   2


Wednesday, 30 March 2011
CRX Terminology
       § CRX Platform
       § CRX JCR Repository

       § CRX Quickstart

       § CRX Welcome Screen

       § CRX Admin Console (legacy)

       § CRX Explorer

       § CRX Package Manager & Package Share

       § OSGi Console (Apache Felix)

       § CQSE Admin (Communique Servlet Engine)

       § CRXDE Lite (vs CRXDE Eclipse)




  © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential.   3


Wednesday, 30 March 2011
CRX Open Core Architecture

                                                                               Application Runtime
                      Web Framework: Apache Sling                                          Web/Eclipse IDE     Repository Admin

                         OSGi Runtime: Apache Felix                                        Vault & SVN Tools


                                                                                 JCR Repository
                              JCR: Apache Jackrabbit                                       Search Extensions   Virtual Repository

                                            Search: Lucene                                  GFX Rendering      CIFS/SMB Access

                                       Content Extraction:                                    TAR-based         Shared-nothing
                                        POI, Tika, PDFBox                                     Node-store            Cluster



                    CRX Platform
                                                                                       4
  © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential.



Wednesday, 30 March 2011
CRX Open Core Architecture

                                                                               Application Runtime
                      Web Framework: Apache Sling                                          Web/Eclipse IDE     Repository Admin

                         OSGi Runtime: Apache Felix                                        Vault & SVN Tools


                                                                                 JCR Repository
                              JCR: Apache Jackrabbit                                       Search Extensions   Virtual Repository

                                            Search: Lucene                                  GFX Rendering      CIFS/SMB Access

                                       Content Extraction:                                    TAR-based         Shared-nothing
                                        POI, Tika, PDFBox                                     Node-store            Cluster


                                                                                                          ...CRX is the
                    CRX Platform                                                                          commercial
                                                                                                            version of
                                                                                                       Jackrabbit + Sling
                                                                                       4
  © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential.



Wednesday, 30 March 2011
Coding - Let’s Begin
       § Reuse  old OOP example: Shapes
       § Content goes here: /content

       § Scripts go here: /apps/shapes/components




  © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential.   5


Wednesday, 30 March 2011
Resource Addressing
   Old School Static HTML
       § h           p://xyz.com/products/12345.html


               e Script Hype (jsp, .net, cgi-bin, ...)
       § h  p://xyz.com/products.jsp?id=12345
       § Script centric



   RESTful / Sling
       § h p://xyz.com/products/12345.html
       § Resource centric


  © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential.   6


Wednesday, 30 March 2011
Resources & Resource Types
       § Resource   hierarchy
       § Each resource has a type

       § Scripts (and Servlets) are resources, too

       § URLs are mapped to resources




  © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential.   7


Wednesday, 30 March 2011
URL Decomposition
                                                                               selector               suffix

   GET /content/shape.head.html/markup?simple=true HTTP/1.1
                                           path                                       extension              query parameters



   1. Content resolution: “/content/shape”
   2. Resource type: “sling:resourceType = /apps/shapes/shape”
   3. Script resolution look in /apps/shapes/shape:
      1. “head.html.jsp” or “head.jsp”
      2. “html.jsp” or “shape.jsp”
      3. “GET.jsp”

   for more info google: “sling script resolution”
  © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential.                      8


Wednesday, 30 March 2011
Coding - Modularize
       § Identifysemantical / reusable blocks
       § use the <sling:include/> tag




  © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential.   9


Wednesday, 30 March 2011
Script Resource Inheritance
       § sling:resourceSuperType

       § Scriptresolution traverses the inheritance chain
       § Components = Script resources

       § CQ Components = Script resources++

       § Fallback: DefaultGetServlet / SlingPostServlet




  © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential.   10


Wednesday, 30 March 2011
Coding - Create sub types
       § Create new types for rectangle and triangle shapes
       § Only “implement” scripts that differ




  © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential.   11


Wednesday, 30 March 2011
Script Like Java Servlets (Java Scriptlets?)
       § Normal   Java classes extend H pServlet
       § Naming follows normal script resolution rules
          e.g: “text.java”, “png.java”, etc.
       § Compiled on demand

       § Example: GFX Rendering




  © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential.   12


Wednesday, 30 March 2011
Coding - Let’s add Images
   Graphic Rendering
       § day-commons-gfx    bundle (CQ, but not in CRX 2.2, yet)
       § Simple tools to generate png, jpeg and gif images

       § Multiple layers with alpha blending support

       § Text rendering with in-repository font support




  © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential.   13


Wednesday, 30 March 2011
Coding - Let’s use a real IDE
   Using the File Vault command line tool
       § Source                       control like synchronization with JCR repository
            §   check-out les
            §   view changes / differences
            §   check-in les
       § Same  format as CRX Content Packages
       § Setup your IDE to use offline content + libs
            §   Code completion and be er syntax highlighting
       § Hybrid  variant allows tight integration with SCM and
            automated build systems.




  © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential.   14


Wednesday, 30 March 2011
Updating Content
   Sling Post Servlet
       § POST  requests to the resources
       § AJAX friendly responses

       § Mapping for CREATE / DELETE / MOVE operations

       § h p://sling.apache.org/site/manipulating-content-the-
          slingpostservlet-servletspost.html




  © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential.   15


Wednesday, 30 March 2011
More Information
   Official Sites
       § h p://sling.apache.org/
       § h p://felix.apache.org/

       § h p://dev.day.com/docs/en/crx/current.html

       § h p://jackrabbit.apache.org/



   CRX / Jackrabbit Source Code
       § h p://svn.day.com/repos/crx/branches/2.2/
       § h p://svn.apache.org/repos/asf/jackrabbit/branches/2.2/




  © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential.   16


Wednesday, 30 March 2011
More Information
   Visit this sessions wiki page
       § h   ps://zerowing.corp.adobe.com/display/~tripod/
            CRXBestPractices

       § Slidesand recording available
       § Feedback welcome!

       § Vote for future topics




  © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential.   17


Wednesday, 30 March 2011
ank you.




  © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential.     18


Wednesday, 30 March 2011

More Related Content

What's hot

Building Killer RESTful APIs with NodeJs
Building Killer RESTful APIs with NodeJsBuilding Killer RESTful APIs with NodeJs
Building Killer RESTful APIs with NodeJs
Srdjan Strbanovic
 
Building Server-Side Eclipse based web applications 2010
Building Server-Side Eclipse based web applications 2010Building Server-Side Eclipse based web applications 2010
Building Server-Side Eclipse based web applications 2010
Gunnar Wagenknecht
 
HTML5 Intoduction for Web Developers
HTML5 Intoduction for Web DevelopersHTML5 Intoduction for Web Developers
HTML5 Intoduction for Web Developers
Sascha Corti
 
Enterprise OSGi at eBay
Enterprise OSGi at eBayEnterprise OSGi at eBay
Enterprise OSGi at eBayTony Ng
 
Cloud Foundry, Spring and Vaadin
Cloud Foundry, Spring and VaadinCloud Foundry, Spring and Vaadin
Cloud Foundry, Spring and Vaadin
Joshua Long
 
Extending Build to the Client: A Maven User's Guide to Grunt.js
Extending Build to the Client: A Maven User's Guide to Grunt.jsExtending Build to the Client: A Maven User's Guide to Grunt.js
Extending Build to the Client: A Maven User's Guide to Grunt.js
Petr Jiricka
 
Jug Poitou Charentes - Apache, OSGi and Karaf
Jug Poitou Charentes -  Apache, OSGi and KarafJug Poitou Charentes -  Apache, OSGi and Karaf
Jug Poitou Charentes - Apache, OSGi and Karaf
Guillaume Nodet
 
Open Innovation means Open Source
Open Innovation means Open SourceOpen Innovation means Open Source
Open Innovation means Open Source
Bertrand Delacretaz
 
The CakePHP Media Plugin
The CakePHP Media PluginThe CakePHP Media Plugin
The CakePHP Media Plugin
Pierre MARTIN
 
Building Server-Side Eclipse based web applications
Building Server-Side Eclipse based web applicationsBuilding Server-Side Eclipse based web applications
Building Server-Side Eclipse based web applications
Gunnar Wagenknecht
 
RESTful Services and Distributed OSGi - 04/2009
RESTful Services and Distributed OSGi - 04/2009RESTful Services and Distributed OSGi - 04/2009
RESTful Services and Distributed OSGi - 04/2009
Roland Tritsch
 
State of the art: Server-Side JavaScript - WebWorkersCamp IV - Open World For...
State of the art: Server-Side JavaScript - WebWorkersCamp IV - Open World For...State of the art: Server-Side JavaScript - WebWorkersCamp IV - Open World For...
State of the art: Server-Side JavaScript - WebWorkersCamp IV - Open World For...
Alexandre Morgaut
 
Monoliths are so 2001 – What you need is Modularity
Monoliths are so 2001 – What you need is ModularityMonoliths are so 2001 – What you need is Modularity
Monoliths are so 2001 – What you need is Modularity
Graham Charters
 
CouchDB, PHPillow & PHP
CouchDB, PHPillow & PHPCouchDB, PHPillow & PHP
CouchDB, PHPillow & PHP
Greg Knapp
 
Symfony HTTP Kernel for refactoring legacy apps: the eZ Publish case study - ...
Symfony HTTP Kernel for refactoring legacy apps: the eZ Publish case study - ...Symfony HTTP Kernel for refactoring legacy apps: the eZ Publish case study - ...
Symfony HTTP Kernel for refactoring legacy apps: the eZ Publish case study - ...Gaetano Giunta
 
CamelOne 2013 Karaf A-MQ Camel CXF Security
CamelOne 2013 Karaf A-MQ Camel CXF SecurityCamelOne 2013 Karaf A-MQ Camel CXF Security
CamelOne 2013 Karaf A-MQ Camel CXF Security
Kenneth Peeples
 
OpenNTF Domino API (ODA): Super-Charging Domino Development
OpenNTF Domino API (ODA): Super-Charging Domino DevelopmentOpenNTF Domino API (ODA): Super-Charging Domino Development
OpenNTF Domino API (ODA): Super-Charging Domino Development
Paul Withers
 
Normalizing x pages web development
Normalizing x pages web development Normalizing x pages web development
Normalizing x pages web development
Shean McManus
 
Concierge - Bringing OSGi (back) to Embedded Devices
Concierge - Bringing OSGi (back) to Embedded DevicesConcierge - Bringing OSGi (back) to Embedded Devices
Concierge - Bringing OSGi (back) to Embedded Devices
Jan S. Rellermeyer
 

What's hot (20)

Building Killer RESTful APIs with NodeJs
Building Killer RESTful APIs with NodeJsBuilding Killer RESTful APIs with NodeJs
Building Killer RESTful APIs with NodeJs
 
Building Server-Side Eclipse based web applications 2010
Building Server-Side Eclipse based web applications 2010Building Server-Side Eclipse based web applications 2010
Building Server-Side Eclipse based web applications 2010
 
HTML5 Intoduction for Web Developers
HTML5 Intoduction for Web DevelopersHTML5 Intoduction for Web Developers
HTML5 Intoduction for Web Developers
 
Enterprise OSGi at eBay
Enterprise OSGi at eBayEnterprise OSGi at eBay
Enterprise OSGi at eBay
 
Cloud Foundry, Spring and Vaadin
Cloud Foundry, Spring and VaadinCloud Foundry, Spring and Vaadin
Cloud Foundry, Spring and Vaadin
 
Extending Build to the Client: A Maven User's Guide to Grunt.js
Extending Build to the Client: A Maven User's Guide to Grunt.jsExtending Build to the Client: A Maven User's Guide to Grunt.js
Extending Build to the Client: A Maven User's Guide to Grunt.js
 
Jug Poitou Charentes - Apache, OSGi and Karaf
Jug Poitou Charentes -  Apache, OSGi and KarafJug Poitou Charentes -  Apache, OSGi and Karaf
Jug Poitou Charentes - Apache, OSGi and Karaf
 
Open Innovation means Open Source
Open Innovation means Open SourceOpen Innovation means Open Source
Open Innovation means Open Source
 
The CakePHP Media Plugin
The CakePHP Media PluginThe CakePHP Media Plugin
The CakePHP Media Plugin
 
Building Server-Side Eclipse based web applications
Building Server-Side Eclipse based web applicationsBuilding Server-Side Eclipse based web applications
Building Server-Side Eclipse based web applications
 
Word camp nextweb
Word camp nextwebWord camp nextweb
Word camp nextweb
 
RESTful Services and Distributed OSGi - 04/2009
RESTful Services and Distributed OSGi - 04/2009RESTful Services and Distributed OSGi - 04/2009
RESTful Services and Distributed OSGi - 04/2009
 
State of the art: Server-Side JavaScript - WebWorkersCamp IV - Open World For...
State of the art: Server-Side JavaScript - WebWorkersCamp IV - Open World For...State of the art: Server-Side JavaScript - WebWorkersCamp IV - Open World For...
State of the art: Server-Side JavaScript - WebWorkersCamp IV - Open World For...
 
Monoliths are so 2001 – What you need is Modularity
Monoliths are so 2001 – What you need is ModularityMonoliths are so 2001 – What you need is Modularity
Monoliths are so 2001 – What you need is Modularity
 
CouchDB, PHPillow & PHP
CouchDB, PHPillow & PHPCouchDB, PHPillow & PHP
CouchDB, PHPillow & PHP
 
Symfony HTTP Kernel for refactoring legacy apps: the eZ Publish case study - ...
Symfony HTTP Kernel for refactoring legacy apps: the eZ Publish case study - ...Symfony HTTP Kernel for refactoring legacy apps: the eZ Publish case study - ...
Symfony HTTP Kernel for refactoring legacy apps: the eZ Publish case study - ...
 
CamelOne 2013 Karaf A-MQ Camel CXF Security
CamelOne 2013 Karaf A-MQ Camel CXF SecurityCamelOne 2013 Karaf A-MQ Camel CXF Security
CamelOne 2013 Karaf A-MQ Camel CXF Security
 
OpenNTF Domino API (ODA): Super-Charging Domino Development
OpenNTF Domino API (ODA): Super-Charging Domino DevelopmentOpenNTF Domino API (ODA): Super-Charging Domino Development
OpenNTF Domino API (ODA): Super-Charging Domino Development
 
Normalizing x pages web development
Normalizing x pages web development Normalizing x pages web development
Normalizing x pages web development
 
Concierge - Bringing OSGi (back) to Embedded Devices
Concierge - Bringing OSGi (back) to Embedded DevicesConcierge - Bringing OSGi (back) to Embedded Devices
Concierge - Bringing OSGi (back) to Embedded Devices
 

Similar to CRX Best practices

Crx 2.2 Deep-Dive
Crx 2.2 Deep-DiveCrx 2.2 Deep-Dive
Crx 2.2 Deep-Dive
Gabriel Walt
 
Flex For Java Architects Ledroff Breizh Jug V Blog Cc
Flex For Java Architects Ledroff Breizh Jug V Blog CcFlex For Java Architects Ledroff Breizh Jug V Blog Cc
Flex For Java Architects Ledroff Breizh Jug V Blog Cc
François Le Droff
 
Building an MLOps Stack for Companies at Reasonable Scale
Building an MLOps Stack for Companies at Reasonable ScaleBuilding an MLOps Stack for Companies at Reasonable Scale
Building an MLOps Stack for Companies at Reasonable Scale
Merelda
 
Scaleable PHP Applications in Kubernetes
Scaleable PHP Applications in KubernetesScaleable PHP Applications in Kubernetes
Scaleable PHP Applications in Kubernetes
Robert Lemke
 
Web Apps atop a Content Repository
Web Apps atop a Content RepositoryWeb Apps atop a Content Repository
Web Apps atop a Content Repository
Gabriel Walt
 
Data processing at the speed of 100 Gbps@Apache Crail (Incubating)
Data processing at the speed of 100 Gbps@Apache Crail (Incubating)Data processing at the speed of 100 Gbps@Apache Crail (Incubating)
Data processing at the speed of 100 Gbps@Apache Crail (Incubating)
DataWorks Summit
 
CM WebClient for CA Plex
CM WebClient for CA PlexCM WebClient for CA Plex
CM WebClient for CA Plex
CM First Group
 
Developer’s intro to the alfresco platform
Developer’s intro to the alfresco platformDeveloper’s intro to the alfresco platform
Developer’s intro to the alfresco platform
Alfresco Software
 
CRX 2 Content Application Platform
CRX 2 Content Application PlatformCRX 2 Content Application Platform
CRX 2 Content Application Platform
Cédric Hüsler
 
Day of Cloud: Amazon EC2
Day of Cloud: Amazon EC2Day of Cloud: Amazon EC2
Day of Cloud: Amazon EC2
cmcavoy
 
Continuous Integration and Deployment Best Practices on AWS (ARC307) | AWS re...
Continuous Integration and Deployment Best Practices on AWS (ARC307) | AWS re...Continuous Integration and Deployment Best Practices on AWS (ARC307) | AWS re...
Continuous Integration and Deployment Best Practices on AWS (ARC307) | AWS re...
Amazon Web Services
 
Continuous Deployment @ AWS Re:Invent
Continuous Deployment @ AWS Re:InventContinuous Deployment @ AWS Re:Invent
Continuous Deployment @ AWS Re:Invent
John Schneider
 
Open Innovation means Open Source
Open Innovation means Open SourceOpen Innovation means Open Source
Open Innovation means Open Source
Bertrand Delacretaz
 
Hybrid Cloud, Kubeflow and Tensorflow Extended [TFX]
Hybrid Cloud, Kubeflow and Tensorflow Extended [TFX]Hybrid Cloud, Kubeflow and Tensorflow Extended [TFX]
Hybrid Cloud, Kubeflow and Tensorflow Extended [TFX]
Animesh Singh
 
Introduction To J Boss Seam
Introduction To J Boss SeamIntroduction To J Boss Seam
Introduction To J Boss Seam
ashishkulkarni
 
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Nicole Szigeti
 
Building an Apache Sling Rendering Farm
Building an Apache Sling Rendering FarmBuilding an Apache Sling Rendering Farm
Building an Apache Sling Rendering Farm
Bertrand Delacretaz
 
Switch to alfresco with wasaaiq [compatibility mode]
Switch to alfresco with wasaaiq [compatibility mode]Switch to alfresco with wasaaiq [compatibility mode]
Switch to alfresco with wasaaiq [compatibility mode]
Alfresco Software
 
ABD315_Serverless ETL with AWS Glue
ABD315_Serverless ETL with AWS GlueABD315_Serverless ETL with AWS Glue
ABD315_Serverless ETL with AWS Glue
Amazon Web Services
 
CQ5 and Sling overview
CQ5 and Sling overviewCQ5 and Sling overview
CQ5 and Sling overview
Bertrand Delacretaz
 

Similar to CRX Best practices (20)

Crx 2.2 Deep-Dive
Crx 2.2 Deep-DiveCrx 2.2 Deep-Dive
Crx 2.2 Deep-Dive
 
Flex For Java Architects Ledroff Breizh Jug V Blog Cc
Flex For Java Architects Ledroff Breizh Jug V Blog CcFlex For Java Architects Ledroff Breizh Jug V Blog Cc
Flex For Java Architects Ledroff Breizh Jug V Blog Cc
 
Building an MLOps Stack for Companies at Reasonable Scale
Building an MLOps Stack for Companies at Reasonable ScaleBuilding an MLOps Stack for Companies at Reasonable Scale
Building an MLOps Stack for Companies at Reasonable Scale
 
Scaleable PHP Applications in Kubernetes
Scaleable PHP Applications in KubernetesScaleable PHP Applications in Kubernetes
Scaleable PHP Applications in Kubernetes
 
Web Apps atop a Content Repository
Web Apps atop a Content RepositoryWeb Apps atop a Content Repository
Web Apps atop a Content Repository
 
Data processing at the speed of 100 Gbps@Apache Crail (Incubating)
Data processing at the speed of 100 Gbps@Apache Crail (Incubating)Data processing at the speed of 100 Gbps@Apache Crail (Incubating)
Data processing at the speed of 100 Gbps@Apache Crail (Incubating)
 
CM WebClient for CA Plex
CM WebClient for CA PlexCM WebClient for CA Plex
CM WebClient for CA Plex
 
Developer’s intro to the alfresco platform
Developer’s intro to the alfresco platformDeveloper’s intro to the alfresco platform
Developer’s intro to the alfresco platform
 
CRX 2 Content Application Platform
CRX 2 Content Application PlatformCRX 2 Content Application Platform
CRX 2 Content Application Platform
 
Day of Cloud: Amazon EC2
Day of Cloud: Amazon EC2Day of Cloud: Amazon EC2
Day of Cloud: Amazon EC2
 
Continuous Integration and Deployment Best Practices on AWS (ARC307) | AWS re...
Continuous Integration and Deployment Best Practices on AWS (ARC307) | AWS re...Continuous Integration and Deployment Best Practices on AWS (ARC307) | AWS re...
Continuous Integration and Deployment Best Practices on AWS (ARC307) | AWS re...
 
Continuous Deployment @ AWS Re:Invent
Continuous Deployment @ AWS Re:InventContinuous Deployment @ AWS Re:Invent
Continuous Deployment @ AWS Re:Invent
 
Open Innovation means Open Source
Open Innovation means Open SourceOpen Innovation means Open Source
Open Innovation means Open Source
 
Hybrid Cloud, Kubeflow and Tensorflow Extended [TFX]
Hybrid Cloud, Kubeflow and Tensorflow Extended [TFX]Hybrid Cloud, Kubeflow and Tensorflow Extended [TFX]
Hybrid Cloud, Kubeflow and Tensorflow Extended [TFX]
 
Introduction To J Boss Seam
Introduction To J Boss SeamIntroduction To J Boss Seam
Introduction To J Boss Seam
 
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
Alfresco Coding mit dem Alfresco SDK (auf Englisch) - Julien Bruinaud, Techni...
 
Building an Apache Sling Rendering Farm
Building an Apache Sling Rendering FarmBuilding an Apache Sling Rendering Farm
Building an Apache Sling Rendering Farm
 
Switch to alfresco with wasaaiq [compatibility mode]
Switch to alfresco with wasaaiq [compatibility mode]Switch to alfresco with wasaaiq [compatibility mode]
Switch to alfresco with wasaaiq [compatibility mode]
 
ABD315_Serverless ETL with AWS Glue
ABD315_Serverless ETL with AWS GlueABD315_Serverless ETL with AWS Glue
ABD315_Serverless ETL with AWS Glue
 
CQ5 and Sling overview
CQ5 and Sling overviewCQ5 and Sling overview
CQ5 and Sling overview
 

Recently uploaded

Best Digital Marketing Institute In NOIDA
Best Digital Marketing Institute In NOIDABest Digital Marketing Institute In NOIDA
Best Digital Marketing Institute In NOIDA
deeptiverma2406
 
2024.06.01 Introducing a competency framework for languag learning materials ...
2024.06.01 Introducing a competency framework for languag learning materials ...2024.06.01 Introducing a competency framework for languag learning materials ...
2024.06.01 Introducing a competency framework for languag learning materials ...
Sandy Millin
 
The Accursed House by Émile Gaboriau.pptx
The Accursed House by Émile Gaboriau.pptxThe Accursed House by Émile Gaboriau.pptx
The Accursed House by Émile Gaboriau.pptx
DhatriParmar
 
The Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official PublicationThe Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official Publication
Delapenabediema
 
Pride Month Slides 2024 David Douglas School District
Pride Month Slides 2024 David Douglas School DistrictPride Month Slides 2024 David Douglas School District
Pride Month Slides 2024 David Douglas School District
David Douglas School District
 
How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...
Jisc
 
Chapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptxChapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptx
Mohd Adib Abd Muin, Senior Lecturer at Universiti Utara Malaysia
 
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptxChapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Mohd Adib Abd Muin, Senior Lecturer at Universiti Utara Malaysia
 
Lapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdfLapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdf
Jean Carlos Nunes Paixão
 
Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.
Ashokrao Mane college of Pharmacy Peth-Vadgaon
 
Unit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdfUnit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdf
Thiyagu K
 
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
Nguyen Thanh Tu Collection
 
Natural birth techniques - Mrs.Akanksha Trivedi Rama University
Natural birth techniques - Mrs.Akanksha Trivedi Rama UniversityNatural birth techniques - Mrs.Akanksha Trivedi Rama University
Natural birth techniques - Mrs.Akanksha Trivedi Rama University
Akanksha trivedi rama nursing college kanpur.
 
special B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdfspecial B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdf
Special education needs
 
Francesca Gottschalk - How can education support child empowerment.pptx
Francesca Gottschalk - How can education support child empowerment.pptxFrancesca Gottschalk - How can education support child empowerment.pptx
Francesca Gottschalk - How can education support child empowerment.pptx
EduSkills OECD
 
1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx
JosvitaDsouza2
 
Normal Labour/ Stages of Labour/ Mechanism of Labour
Normal Labour/ Stages of Labour/ Mechanism of LabourNormal Labour/ Stages of Labour/ Mechanism of Labour
Normal Labour/ Stages of Labour/ Mechanism of Labour
Wasim Ak
 
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
EugeneSaldivar
 
Synthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptxSynthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptx
Pavel ( NSTU)
 
MASS MEDIA STUDIES-835-CLASS XI Resource Material.pdf
MASS MEDIA STUDIES-835-CLASS XI Resource Material.pdfMASS MEDIA STUDIES-835-CLASS XI Resource Material.pdf
MASS MEDIA STUDIES-835-CLASS XI Resource Material.pdf
goswamiyash170123
 

Recently uploaded (20)

Best Digital Marketing Institute In NOIDA
Best Digital Marketing Institute In NOIDABest Digital Marketing Institute In NOIDA
Best Digital Marketing Institute In NOIDA
 
2024.06.01 Introducing a competency framework for languag learning materials ...
2024.06.01 Introducing a competency framework for languag learning materials ...2024.06.01 Introducing a competency framework for languag learning materials ...
2024.06.01 Introducing a competency framework for languag learning materials ...
 
The Accursed House by Émile Gaboriau.pptx
The Accursed House by Émile Gaboriau.pptxThe Accursed House by Émile Gaboriau.pptx
The Accursed House by Émile Gaboriau.pptx
 
The Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official PublicationThe Challenger.pdf DNHS Official Publication
The Challenger.pdf DNHS Official Publication
 
Pride Month Slides 2024 David Douglas School District
Pride Month Slides 2024 David Douglas School DistrictPride Month Slides 2024 David Douglas School District
Pride Month Slides 2024 David Douglas School District
 
How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...How libraries can support authors with open access requirements for UKRI fund...
How libraries can support authors with open access requirements for UKRI fund...
 
Chapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptxChapter 3 - Islamic Banking Products and Services.pptx
Chapter 3 - Islamic Banking Products and Services.pptx
 
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptxChapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
 
Lapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdfLapbook sobre os Regimes Totalitários.pdf
Lapbook sobre os Regimes Totalitários.pdf
 
Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.Biological Screening of Herbal Drugs in detailed.
Biological Screening of Herbal Drugs in detailed.
 
Unit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdfUnit 8 - Information and Communication Technology (Paper I).pdf
Unit 8 - Information and Communication Technology (Paper I).pdf
 
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
BÀI TẬP BỔ TRỢ TIẾNG ANH GLOBAL SUCCESS LỚP 3 - CẢ NĂM (CÓ FILE NGHE VÀ ĐÁP Á...
 
Natural birth techniques - Mrs.Akanksha Trivedi Rama University
Natural birth techniques - Mrs.Akanksha Trivedi Rama UniversityNatural birth techniques - Mrs.Akanksha Trivedi Rama University
Natural birth techniques - Mrs.Akanksha Trivedi Rama University
 
special B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdfspecial B.ed 2nd year old paper_20240531.pdf
special B.ed 2nd year old paper_20240531.pdf
 
Francesca Gottschalk - How can education support child empowerment.pptx
Francesca Gottschalk - How can education support child empowerment.pptxFrancesca Gottschalk - How can education support child empowerment.pptx
Francesca Gottschalk - How can education support child empowerment.pptx
 
1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx1.4 modern child centered education - mahatma gandhi-2.pptx
1.4 modern child centered education - mahatma gandhi-2.pptx
 
Normal Labour/ Stages of Labour/ Mechanism of Labour
Normal Labour/ Stages of Labour/ Mechanism of LabourNormal Labour/ Stages of Labour/ Mechanism of Labour
Normal Labour/ Stages of Labour/ Mechanism of Labour
 
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...TESDA TM1 REVIEWER  FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
TESDA TM1 REVIEWER FOR NATIONAL ASSESSMENT WRITTEN AND ORAL QUESTIONS WITH A...
 
Synthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptxSynthetic Fiber Construction in lab .pptx
Synthetic Fiber Construction in lab .pptx
 
MASS MEDIA STUDIES-835-CLASS XI Resource Material.pdf
MASS MEDIA STUDIES-835-CLASS XI Resource Material.pdfMASS MEDIA STUDIES-835-CLASS XI Resource Material.pdf
MASS MEDIA STUDIES-835-CLASS XI Resource Material.pdf
 

CRX Best practices

  • 1. CRX and Sling Best Practices for Web Apps Tools, Resources & Scripts © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 2011-Mar-30 Wednesday, 30 March 2011
  • 2. Outline CRX Overview Resource Addressing Components / Modularization Component Inheritance Side track: GFX Rendering Using File Vault Command Line Tool Updating Content Q&A © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 2 Wednesday, 30 March 2011
  • 3. CRX Terminology § CRX Platform § CRX JCR Repository § CRX Quickstart § CRX Welcome Screen § CRX Admin Console (legacy) § CRX Explorer § CRX Package Manager & Package Share § OSGi Console (Apache Felix) § CQSE Admin (Communique Servlet Engine) § CRXDE Lite (vs CRXDE Eclipse) © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 3 Wednesday, 30 March 2011
  • 4. CRX Open Core Architecture Application Runtime Web Framework: Apache Sling Web/Eclipse IDE Repository Admin OSGi Runtime: Apache Felix Vault & SVN Tools JCR Repository JCR: Apache Jackrabbit Search Extensions Virtual Repository Search: Lucene GFX Rendering CIFS/SMB Access Content Extraction: TAR-based Shared-nothing POI, Tika, PDFBox Node-store Cluster CRX Platform 4 © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. Wednesday, 30 March 2011
  • 5. CRX Open Core Architecture Application Runtime Web Framework: Apache Sling Web/Eclipse IDE Repository Admin OSGi Runtime: Apache Felix Vault & SVN Tools JCR Repository JCR: Apache Jackrabbit Search Extensions Virtual Repository Search: Lucene GFX Rendering CIFS/SMB Access Content Extraction: TAR-based Shared-nothing POI, Tika, PDFBox Node-store Cluster ...CRX is the CRX Platform commercial version of Jackrabbit + Sling 4 © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. Wednesday, 30 March 2011
  • 6. Coding - Let’s Begin § Reuse old OOP example: Shapes § Content goes here: /content § Scripts go here: /apps/shapes/components © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 5 Wednesday, 30 March 2011
  • 7. Resource Addressing Old School Static HTML § h p://xyz.com/products/12345.html e Script Hype (jsp, .net, cgi-bin, ...) § h p://xyz.com/products.jsp?id=12345 § Script centric RESTful / Sling § h p://xyz.com/products/12345.html § Resource centric © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 6 Wednesday, 30 March 2011
  • 8. Resources & Resource Types § Resource hierarchy § Each resource has a type § Scripts (and Servlets) are resources, too § URLs are mapped to resources © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 7 Wednesday, 30 March 2011
  • 9. URL Decomposition selector suffix GET /content/shape.head.html/markup?simple=true HTTP/1.1 path extension query parameters 1. Content resolution: “/content/shape” 2. Resource type: “sling:resourceType = /apps/shapes/shape” 3. Script resolution look in /apps/shapes/shape: 1. “head.html.jsp” or “head.jsp” 2. “html.jsp” or “shape.jsp” 3. “GET.jsp” for more info google: “sling script resolution” © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 8 Wednesday, 30 March 2011
  • 10. Coding - Modularize § Identifysemantical / reusable blocks § use the <sling:include/> tag © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 9 Wednesday, 30 March 2011
  • 11. Script Resource Inheritance § sling:resourceSuperType § Scriptresolution traverses the inheritance chain § Components = Script resources § CQ Components = Script resources++ § Fallback: DefaultGetServlet / SlingPostServlet © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 10 Wednesday, 30 March 2011
  • 12. Coding - Create sub types § Create new types for rectangle and triangle shapes § Only “implement” scripts that differ © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 11 Wednesday, 30 March 2011
  • 13. Script Like Java Servlets (Java Scriptlets?) § Normal Java classes extend H pServlet § Naming follows normal script resolution rules e.g: “text.java”, “png.java”, etc. § Compiled on demand § Example: GFX Rendering © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 12 Wednesday, 30 March 2011
  • 14. Coding - Let’s add Images Graphic Rendering § day-commons-gfx bundle (CQ, but not in CRX 2.2, yet) § Simple tools to generate png, jpeg and gif images § Multiple layers with alpha blending support § Text rendering with in-repository font support © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 13 Wednesday, 30 March 2011
  • 15. Coding - Let’s use a real IDE Using the File Vault command line tool § Source control like synchronization with JCR repository § check-out les § view changes / differences § check-in les § Same format as CRX Content Packages § Setup your IDE to use offline content + libs § Code completion and be er syntax highlighting § Hybrid variant allows tight integration with SCM and automated build systems. © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 14 Wednesday, 30 March 2011
  • 16. Updating Content Sling Post Servlet § POST requests to the resources § AJAX friendly responses § Mapping for CREATE / DELETE / MOVE operations § h p://sling.apache.org/site/manipulating-content-the- slingpostservlet-servletspost.html © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 15 Wednesday, 30 March 2011
  • 17. More Information Official Sites § h p://sling.apache.org/ § h p://felix.apache.org/ § h p://dev.day.com/docs/en/crx/current.html § h p://jackrabbit.apache.org/ CRX / Jackrabbit Source Code § h p://svn.day.com/repos/crx/branches/2.2/ § h p://svn.apache.org/repos/asf/jackrabbit/branches/2.2/ © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 16 Wednesday, 30 March 2011
  • 18. More Information Visit this sessions wiki page § h ps://zerowing.corp.adobe.com/display/~tripod/ CRXBestPractices § Slidesand recording available § Feedback welcome! § Vote for future topics © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 17 Wednesday, 30 March 2011
  • 19. ank you. © 2011 Adobe Systems Incorporated. All Rights Reserved. Adobe Con dential. 18 Wednesday, 30 March 2011