introduction to cq5

25
Introduction to CQ5 Michele Mostarda [email protected] www.michelemostarda.com

Upload: michele-mostarda

Post on 14-Dec-2014

32.566 views

Category:

Education


0 download

DESCRIPTION

A brief introduction to CQ5.

TRANSCRIPT

Page 2: Introduction to CQ5

Outline

•CQ5 Overall Architecture•JCR•Jackrabbit•Sling•Felix•CQ5 Functional Aspects•CRX•CQ5 Authoring•CQDE•Package Manager•FileVault•References

Page 3: Introduction to CQ5

CQ5

CQ5

Sling

Jackrabbit

OSGi

Page 4: Introduction to CQ5

Java Content Repository (1)

• Content Repository API for Java Technology Specification

• Java Content Repository 1.0 (JSR-170)

• Java Content Repository 2.0 (JSR-283)

Page 5: Introduction to CQ5

Java Content Repository (2)

JCR : CAS = JDBC : DB

Page 6: Introduction to CQ5

Java Content Repository (3)

• Repository: is composed of one or more persistent workspaces.

• Workspace: directed acyclic graph of items where the edges represent the parent-child relation.

• Item: either a node or a property.

• Node: a node can have zero or more child items.

• Property: can contain zero or more values.

• Value: the content is stored in the values of the properties.

Page 7: Introduction to CQ5

Java Content Repository (4)

• Path: identifies the location of an item.

• Identifier: every node has also an identifier.

• Property types: a property can be a primitive type or a pointer to a node.

• Node Types: a node type defines a certain structure.

• User: the user accessing the repository.

• Session: the session associated to the user, defining also authorizations.

Page 8: Introduction to CQ5

Java Content Repository (5)

Page 9: Introduction to CQ5

Java Content Repository (6)

Abstract Query Model

Language Bindings

JCR-SQL2 Query ::= 'SELECT' columns 'FROM' Source ['WHERE' Constraint] ['ORDER BY' orderings]

AQM type Query ::= Source source, Constraint? constraint, Ordering* orderings, Column* columns

Page 10: Introduction to CQ5

Jackrabbit

Page 11: Introduction to CQ5

Sling (1)

• REST based web framework.

• Content-driven, using a JCR content repository.

• Powered by OSGi.

• Scripting inside, multiple languages (JSP, server-side javascript, Scala, etc.).

Page 12: Introduction to CQ5

Sling (2)

• Wiki

• Digital Asset Management

• Web Content Management

Page 13: Introduction to CQ5

Sling (3)

Page 14: Introduction to CQ5

Sling (4)

Page 15: Introduction to CQ5

Dynamic Request Processing

▪ .esp, .ecma: ECMAScript (JavaScript) Pages (server-side execution) ▪ .jsp: Java Server Pages (server-side execution) ▪ .java: Java Servlet Compiler (server-side execution) ▪ .jst: JavaScript templates (client-side execution) ▪ .js: ECMAScript / JavaScript (client-side execution)

Page 16: Introduction to CQ5

Felixhttp://localhost:4502/system/console/bundles

Page 17: Introduction to CQ5

CQ5 - Functional AspectsAuthoring with CQ

Managing pagesPublishing and restoring

pages

Working with Workflows Digital Assets

Tagging

Administering CQ

Users and Groups Social Collaboration

Personalization Analytics

Reporting

Developing with CQ

Components Templates

OSGi Bundles AAA

Workflows

Page 18: Introduction to CQ5

CRX - Repository Browsinghttp://localhost:4502/crx/index.jsp

Page 20: Introduction to CQ5

CQ5 Authoring (2)

Page 21: Introduction to CQ5

CQDE

Page 22: Introduction to CQ5

Package Manager

Page 24: Introduction to CQ5

ReferencesOfficial Documentation: http://dev.day.com/docs/en/cq/current.html

Day on Google Groups: http://groups.google.com/group/day-communique

Day on Yahoo Groups: http://tech.groups.yahoo.com/group/Day-Communique/

Page 25: Introduction to CQ5

EOF