What is Day CQ?
Day's CQ4 platform allows you to build compelling content-centric application that combine Web Content Management, Workflow Management, Digital Asset Management and Social Collaboration.
Prerequisites for Developing with CQ:
The following skills are recommended before starting with CQ:
1. Basic knowledge of web application techniques, including:
a. The request-response cycle
b. HTML
c. CSS
d. JavaScript
2. Working knowledge of CRX(Content Repository Extreme); including the content explorer
3. Basic knowledge of JSP (Java Server Pages), with the ability to understand and modify simple JSP example.
CRX (Content Repository Extreme):
CRX is a data storage system specifically designed for content-centric applications. CRX implements the Content Repository API for Java Technology (JCR).
Ref: http://dev.day.com/docs/v5_1/html-resources/cq5_guide_architect/cq5_guide_architect.pdf
Java Content Repository:
- Content Repository API for Java Technology Specification
- JCR 1.0 (JSR-170)
- JCR 2.0 (JSR-283)
- Is an object database tailored to storing, searching, and retrieving hierarchical data.
- Data Structure
- Tree – XML DOM API
- Tree traversal - Recursion
- Queries
- XPath
- SQL similar language
- Apache Lucene
- Hierarchy
- Content in a JCR repository can be addressed by path.
- Semi-structured content
- JCR can store structured documents like XML
- Access Control and Locking
- JCR can restrict access to different parts of the content hierarchy.
1. Query Access
a. JCR supports querying with languages such as SQL
2. Structured Content
a. Can enforce constraints on data structures according to schema
3. Can enforce referential integrity between content items
Repository Model:
1. Simple hierarchy and looks much like a n-ary tree
2. Consists a single repository, with one or more work spaces
3. Work space consists tree of items
a. Item can be either node or a property
b. Node can have zero or more children, and zero or more associated properties, where the actual content is stored.
4. Predefined mixin types:
a.
mix:versionable: allows a node to support versioning
b.
mix:lockable: enables locking capabilities for a
node
c.
mix:referenceable: provides an auto-created jcr:uuid
property that gives the node a unique, reference able identifier
5. Repository model with multiple workspaces:
a. Circle represents nodes
b. Rectangles represents properties
6. Node types:
a. Every repository must support the primary node type, nt:base
b. Nt:unstructured
i. Most flexible node type
ii. Allows any number of child nodes or properties, which can have any names
c. Nt:file
i. Represents files
ii. Requires a single child node, called jcr:content
d. Nt:folder
i. Can represents folders
e. Nt:resource
i. Represents the actual content of a file
f. Nt:version
i. Required node type for repositories that support versioning
No comments:
Post a Comment