A CQ WCM installation usually comprises of multiple instances, used for different purposes. Content, including code and other resources held in the repository, can be replicated (copied from destination to source) using a HTTP, or HTTPS, connection.
A production environment often consists of two different types of instances:
This is the environment where you, and your colleagues, will input your content and administrate the system.
This environment holds the content you have made available to visitors to your website; be it public, or within your intranet.
Defining a CQ instance (or environment) as “publish” or “author” depends primarily on where in the overall system structure the environment is located and what its tasks are.
The following diagram gives an overview of typical configurations possible for the various CQ WCM environment. It shows how content flows from the authoring environments until it is available to be accessed by visitors to your website. It also highlights the fact that to increase performance and availability it is common to combine several authoring and publishing environments to service a website.
This diagram covers a range of possible configurations, with multiple environments of either sort. Depending on your configuration, each author environment can propagate content to one, or more, publish environments.
Author is usually located behind the internal firewall as it is the environment where you and your colleagues will:
administrate the entire system
input your content
configure the layout and design of your content
activate your content to the publish environment
The author environment of CQ WCM is accessed using the siteadmin. Access to the content and functionality is controlled by authorization permissions assigned to your user account.
Replication agents in the author environment(s) are used to publish (activate) content and functionality from the author to the publish instance:
content to be published is packaged and placed in the replication queue (in the author environment)
the content is transported to the publish environment
the content is received and published
This holds the content which you have made available to visitors to your website and is usually located in the Demilitarized Zone (DMZ).
The content is dynamic, real-time and can be personalized for each individual user.
Reverse replication is necessary from the publish environment, to return user input from a publish instance to the author, and then to any other publish, instance(s). A reverse replication agent in the publish environment places the input into an outbox, which is matched with replication listeners in the author environment. The listeners poll the outboxes to collect any input made and then distribute it as necessary. This ensures that any traffic from the publish to the author environment is strictly controlled. Reverse replication is of particular significance for CQ Social Collaboration.
- Static Web Server
For performance optimization it is possible to convert your dynamically published content (excluding any personalized parts) to static HTML, serviced by a static web server. Static web servers are very simple, but fast. Examples include Apache, and IIS.
The Dispatcher can then be used in conjunction with the web server to realize an environment that is both fast and dynamic and with moderate hardware requirements.
The Dispatcher helps realize an environment that is both fast and dynamic. It works as part of a static HTML server, such as Apache, with the aim of:
storing (or "caching") as much of the site content as is possible, in the form of a static website.
accessing the layout engine to retrieve dynamic content as and when necessary, but as little as possible.
Which means that:
static content is handled with exactly the same speed and ease as on a static web server; additionally you can use the administration and security tools available for your static web server(s).
dynamic content is generated as needed, without slowing the system down any more than absolutely necessary.
The Dispatcher contains mechanisms to generate, and update, static HTML based on the content of the dynamic site. You can specify in detail which documents are stored as static files and which are always generated dynamically.
As with any software, the projects developed using CQ WCM are subject to the development cycle. Therefore various environment levels are required to cover the development and testing phases. Depending on your requirements, each level may be configured for either only an author, or an author and publish environment.
Multiple instances of each environment level can exist.
Prior to authors registering their content in CQ WCM, the developers are responsible for developing and customizing the proposed website. They:
develop and customize components
realize the design within the website
develop the necessary scripts to implement the required functionality of the website
The major development tools used are:
an Integrated Development Environment.
Day provides an Eclipse-based development environment, CQDE (the Communiqué Development Environment). It is also possible to use other IDEs, such as Eclipse or IntelliJ, for which plug-ins have developed to simplify their use for CQ and to integrate them with the repository.
a method of direct access to the Java Content Repository.
In the case of CRX, the Content Explorer, Content Loader and other in-built tools are used.
WebDAV or CIFS, which simplify access to the repository.
Depending on the scale of your system, the development environment can have both author and publish environments, or the test environment will be used for such functionality.
After development, it is usual to have a Testing environment where you can access the new system, to test both design and functionality.
This will often comprise of both an author and publish environment.
Day provides a basis for automated GUI tests, together with some reference test scripts.
- Live / Production
As discussed previously, the Live (or Production) environment comprises both:
an authoring environment for the input of content
a publish environment for content made available to visitors to the website