A content repository is a storage unit with an associated search and access methods allowing application-independent access to the content, the ability to store and modify content in addition to searching and retrieving. A content repository thus typically forms the technical underpinning of a content application, like a Content Management System or a Document Management System. It functions as the logical storage facility for content.
Adobe Communique 5, or CQ5, is a java based large-scale web content management system. It combines web content management, digital asset management, and social collaboration to deliver a solution that allows to manage incredible amounts of information, multiple internal and external websites, a myriad of media assets, and detailed workflow.
CQ5 CRX is pre-loaded to run within a cluster,even when running a single instance. Hence the configuration of multi-node clusters with little effort happens in CQ5.
Components:
• are modular units which realize specific functionality to present your content on your website.
• are re-usable.
• are developed as self-contained units within one folder of the repository.
• have no hidden configuration files.
• can contain other components.
• run anywhere within any CQ system.
• have a standardized user interface.
• use widgets.
It is a list of other client library categories on which this library folder depends. For example, given two cq:ClientLibraryFolder nodes F and G, if a file in F requires another file in G in order to function properly, then at least one of the categories of G should be among the dependencies of F.
Scripts cannot be called directly within Sling since it will break the strict concept of a REST server; you would mix resources and representations.
If you call the representation (the script) directly you hide the resource inside your script, so the framework (Sling) no longer knows about it.
CQ5 is perfect for large content-driven sites.
“org.apache.sling.api.SlingHttpServletResponse” interface extends the ”javax.servet.http.HttpServletResponse” interface and is currently empty.
It merely exists for symmetry with the SlingHttpServletRequest.
Authentication is the process of identifying, and verifying, a user. The process of authentication and login can be broken down as follows:
For CQ, initial authentication uses a standard HTML-login form in conjunction with the Authorization Header Authentication Handler. The HTML-form must have fields for the user name and password (the same field names must then be used by the Authorization Header Authentication Handler).
You can also use a similar form for controlled access to various areas of your website. For example, CQ can interact with a LDAP server that stores user information centrally, eliminating the need for duplication. This central server is then used to verify login information which enables you to realize Single Sign On, both with other in-house applications and external Portals.
In order to utilize helpful Sling functions, Sling Tag library must be declared. When you use the Sling Tag Library in your script, the script must start with the following code:
<%@ taglib prefix="sling" uri="http://sling.apache.org/taglibs/sling/1.0" %>
Following are the life cycle states of OSGI:
Multi Site Manager (MSM) enables you to easily manage multiple web sites that share common content. MSM lets you define relations between the sites so that content changes in one site are automatically replicated in other sites.
For example, web sites are often provided in multiple languages for international audiences. When the number of sites in the same language is low (three to five), a manual process for synchronizing content across sites is possible. However, as soon as the number of sites grows or when multiple languages are involved, it becomes more efficient to automate the process.
In CQ5 Dispatcher helps to cache and load-balance. The main responsibilities are,
Dispatcher is CQ5 caching and/or load balancing tool. Dispatcher also helps to protect your AEM server from attack. It cache responses from publish instance, to increase the responsiveness and security of your externally facing published website
This is managed by the Sling Management Console of CQ5.
It is a workflow component which can be found at:
“/libs/cq/workflow/components/model/process”, this is used for calling a java class in workflow.
parbase: The parbase allows components to inherit attributes from other components, similar to subclasses in object oriented languages such as Java, C++, and so on. For example, when you open the /libs/foundation/components/text node in the CRX Explorer, you see that it has a property named sling:resourceSuperType, which references the parbase component. The parbase here defines tree scripts to render images, titles, and so on, so that all components sub classed from this parbase can use this script.
parasys (Paragraph System): The paragraph system (parsys) is a compound component that allows authors to add components of different types to a page and contains all other paragraph components. Each paragraph type is represented as a component. The paragraph system itself is also a component, which contains the other paragraph components.
For inheriting properties we have to create two components with unique names in the base component dialog. For eg. If your plan is to have two rich text two rich text areas in the dialog of components that inherit from the base, then you must include two rich text areas with unique names in the base component dialog. In any case every input field of a dialog must have a unique name, else they will point to the same property path relative to the jcr:content node of the component when used on a page.
CQ encompasses several applications that are designed to interact and complement each other. In particular, the Workflow Engine can be used in tight conjunction with several of the other applications.
Workflows are at the center of how form submissions in CQ WCM are typically processed. When creating a new form, the form submission can be easily associated with a workflow model, for example to store the content in a particular location of the repository or to notify a user about the form submission and its content.
Steps involved in replication:
Live Copy – Copy created from existing site or blue print is called Live Copy. Rollout configurations for this Live Copy can be configured from tools console.
Language Copy – Site which is created using language tool is called Language copy. Basically to create a site for different language.
An author in CQ generates the material which will, at some point, be published to your website. Depending on how your instance and your personal access rights are configured you can perform many tasks, including amongst others
When authoring a mobile page, the page is displayed in a way that emulates the mobile device, called an emulator. When authoring the page, you can switch between several emulators to get a real view of what the end-user will see when accessing the page.
Apache Sling is a web application framework for content-centric applications, using a Java Content Repository, such as Apache Jackrabbit or CRX, to store and manage content.
Sling:
Package: A Package is a zip file that contains the content in the form of a file-system serialization (called “vault” serialization) that displays th content from the repository as an easy-to-use-and-edit representation of files and folders. Packages can include content and project-related data.
Bundle: Bundle is a tightly coupled, dynamically loadable collection of classes, jars, and configuration files that explicitly declare their external dependencies (if any).
Versions of CQ before 5.5 were based on a servlet container (CQSE, by default, though others could be used) running with multiple webapps: One for the CRX content repository and one for the OSGi container which itself contained Sling and AEM. The Sling webapp was bound to the root and handled most of the request processing.
With CQ 5.5 and AEM, the OSGi container is positioned at the root and the OSGi HTTP service, backed by Sling acting as the sole request handling end point. The CRX content repository is now just another OSGi service, alongside the various services that comprise the rest of the AEM unctionality. These changes do not affect applications built on top of AEM or Sling.
The new architecture me that the quickstart jar installation of AEM can no longer support other web applications running alongside AEM. However, the war version of AEM is designed to be deployed in an application server, where additional web applications can be deployed alongside it.
Added three new connectors to key adobe products – Creative Suite, Scene7, Search&Promote Authors can directly work on mobile apps. Partnered with hybris software to add some nice eCommerce capabilities. Added Undo(Ctrl+z) and Redo(Ctrl+y) functionalities.
It is used for adding site specific js and css files to the page and also thridparty js and css files.
A Java Content Repository uses the JSR-170 API to access the content repository using Java, independent of the physical implementation. JCR is the Java Content Repository standard, also known as JSR-170 after its Java Specification Request. Later revised version 2 as (JCR-283). A repository effectively consists of two parts:
REST stands for Representational State Trfer. REST-style architectures consist of clients and servers. Clients initiate requests to servers; servers process requests and return appropriate responses. Requests and responses are built around the trfer of representations of resources. A resource can be essentially any coherent and meaningful concept that may be addressed. A representation of a resource is typically a document that captures the current or intended state of a resource.Apache Sling is RESTful framework to access a java content repository over http protocol.
In computing, a cluster is a group of computers linked together to work, in some respects, as a single computer. Every Cq5 CRX instance comes pre-configured to run within a cluster,even when running a singular instance. This design feature allows the configuration of multi-node clusters with little effort.
A template is the basis of a page. A template is used to create a page and defines which components can be used within the selected scope. A template is a hierarchy of nodes that has the same structure as the page to be created, but without any actual content.
Each template are built up of components available for use.
To create a page, the content of the template must be copied (/apps /[application] /templates /[template-name]) to appropriate position in the site tree. This is one of the main and interesting features of CQ5.
“org.apache.sling.api.SlingHttpServletRequest” interface defines the basic data available from the client request to both action processing and response rendering. The SlingHttpServletRequest extends the javax.servlet.http.HTTPServletRequest.
OSGi stands for "Open Systems Gateway initiative"
Rule #1: Data First, Structure Later. Maybe.
Rule #2: Drive the content hierarchy, do not let it happen.
Rule #3: Workspaces are for clone(), merge() and update().
Rule #4: Beware of Same Name Siblings.
Rule #5: References considered harmful.
Rule #6: Files are Files are Files.
Rule #7: IDs are evil.
The persistence manager saves the repository content to a permanent storage solution, such as the file system or a database. By default, CRX saves repository content to the Tar persistence manager. Following DB’s can be used for storing content – DB2, Oracle, SQL Server, MySQL.
The DAM is where authors can upload files (other than HTML) for publishing on their websites. Examples include images and PDF documents. The interface is similar to the WCM.
DAM Left Panel : The folder structure is on the left panel, and can be expanded or collapsed by clicking the appropriate plus (+) or minus (-) symbols. For your first time using the DAM, you will need to navigate to your department’s Digital Assets through the tree, beginning with SFU. Contact your Site Administrator if you cannot see your department’s Digital Assets space. You can only see those that you have been authorized to.
DAM right Panel : The right panel will display the folders and their contents, including thumbnails of images. A double-click on the image will display a larger version and details such as its size, description, tags, and dimensions.
While determining the folder structure of the contents within the DAM is entirely to the authors’ discretion, keeping it similar to the site structure in the WCM is suggested. This will offer a visual reference between the relationship of the files in the DAM and the pages in the WCM. All files must be uploaded to the DAM before they can be used; the system cannot access online files. Each must be activated (the same way as activating a content page), otherwise it will not appear on the published page, and it will only be in the authorrsquo;s editing window.
You can always limit who can access certain folders in CQ Digital Assets by making the folder part of a CUG(closed user group). Steps to make a folder part of a CUG: