HTML

html content help to improve the coding

Wednesday, 23 August 2017

Adobe CQ5 Interview Questions and Answers

What is AEM?

A: Adobe Experience Manager (AEM), is a java based content management system that is offered from Adobe. It was previously called Day CQ5, but was acquired from Adobe in 2010. AEM is based on a content repository and uses the JCR to access the content in the repository. AEM uses the Apache Sling framework to map request url to the corresponding node in the content repository. It also uses the OSGI framework to internally allow modular application development.

Q: What are the advantages of AEM over another CMS?

A: One big advantage of AEM over another CMS is how it integrates with other products from Adobe and with the Adobe Marketing Cloud. AEM comes built in with features like workflows to control content in the CMS, the use of search queries to find anything you are looking for, setting up social collaboration, tagging content, and a way to manage your digital content.


AEM also includes a way to manage mobile applications, mobile websites, e-commerce, and marketing campaign management. 
 
 Q. Difference between CQ5.4 and CQ5.5?
 
A:
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 means 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.
 
 

Q: What is the technology stack that CQ5 is based on?

A: The CQ5 technology stack is based on three technologies. These technologies are: Apache Sling, OSGI (Apache Felix), and the Java Content Repository (JCR).

Apache Sling is a RESTful framework that is used to access a jcr over http protocol. It will then map that request url to the node in the jcr.

OSGI is a framework that is used for modular application development using Java. Each module, which is called a bundle, can be stopped and started independently during runtime.

The Java Content Repository uses the JSR-170 API to access the content repository by using Java independently of the physical implementation. CQ5 uses its own implementation of the jcr called CRX.

Q: What is the role of the dispatcher?

A: The dispatcher is AEM’s caching and/or load balancing tool. By using the dispatcher it can also help protect your AEM server from attack since it will be using cached pages. The goal of the dispatcher is to cache as much content as possible, so it does not need to access the layout engine.

Load balancing is the practice of distributing computational load of the website across several instances of AEM.

The benefits of using the dispatcher as a load balancing tool is so that you gain increased processing power since the dispatcher shares document requests between several instances of AEM, and to have increased fail-safe coverage. This is accomplished by if the dispatcher does not receive responses from an instance, it will automatically relay the request to another instance.
 
Q. Difference between Design Dialog and Edit Dialog
 
A:
Both dialog and design dialog defines the UI interface for allowing the user to configure the component.
Design Dialog of a component can be seen/edited in design mode of the page. Design dialog is at template level so all the page of the template will share same design dialog and it is stored under /etc/designs folder.
Where as Dialog of a component is at page level so each component instance will have its own dialog and information entered in dialog will be stored under /content folder.

Q. What is the purpose of clientlibs?
 
A:
It is used for adding site specific js and css files to the page and also thridparty js and css files.

Q. What is Dependency/Dependencies  in client library?
 
A:
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.

Q. Difference between package and bundle?
 
A: Package: A Package is a zip file that contains the content in the form of a file-system serialization (called “vault” serialization) that displays the 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).

Q. Role of Dispatcher in CQ5?
 
A:
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.

Q. What is difference between live copy and language copy?

A:
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.