Sr. Developer


Friends, the below questions are somewhat more advanced questions which could be asked to you. Go through the list and be prepared for tougher ones.


Q1.)How to migrate e.g  CQ4 to CQ 5.5 / 5.6 / 6.0?

The basic procedure for upgrading to AEM  is straightforward: Simply stop your existing AEM instance, replace the jar file (for standalone instances) or the war file (for application server instances) and restart. Read More for Steps involved.


Q2.) What happens in the backend when a CQ5 instance is upgraded ?

Behind the scenes, the upgrade scenario is as follows:

  • The Sling launchpad code detects that it’s using the state of an older instance, and activates the UPDATE startup mode.
  • Some content packages, when installed, backup content under /var/upgrade, so that upgrade services can pick it up later for merging with new content.
  • The com.day.cq.cq-compat-codeupgrade bundle registers a number of services that implement the CodeUpgradeTask interface. We typically have at least one such service per CQ version, and a few that execute on upgrades from any previous version.
  • Later, at a higher OSGi start level, the com.day.cq.cq-upgrades-executor bundle runs all available CodeUpgradeTask services, if the startup mode is UPDATE (or forced, see below). Those services are executed sequentially in order of their OSGi service.ranking service property, and many of them set a property under/var/upgrade/status to make sure they run only once.
    Read More

Q3.)How do we customize a workflow ?

Creating a custom workflow step involves the following activities:

  • Develop the workflow step component.
  • Develop the step implementation as an OSGi service or an ECMA script.

This link shares every detail you might need in order to customize a workflow as per Business need. Mostly there is a requirement to Design a workflow for the client as per his business needs OR you may have to write some Custom Process Steps (either using JAVA or ECMA script) where you can implement the desired logic.


Q4.)How do we go about developing mobile site application in AEM?

The AEM mobile framework eases the creation of a site for mobile devices as it allows to:

  • Create templates and components that are sensitive to the device capabilities.
  • Define device emulators to author a mobile page.
  • Define device groups to adapt the page rendering to the final user.
  • Detect the device issuing the request and render the content in a way that fits the device capabilities.

Creating a mobile site is similar to creating a standard site as it also involves creating templates and components. The main difference consists in enabling the AEM built-in mobile functionalities within the site. It is achieved by creating a template that relies on the mobile page component.

You should also consider using responsive design, creating a single site that accommodates multiple screen sizes.

In one of my project we created a Standard site and created the Mobile-site using the Blueprint and livecopy concept. And then wrote a rollout config which converts all the templates & components for Standard Site into Mobile templates and components.

Read More


Q5.)What is Blue print and live copy?

MSM lets you create a site (called a Live Copy) based on another site (called a Blueprint) and to actively manage the relationships between the Blueprint and the Live Copy (using Rollout Config). The Blueprint defines structure and content centrally. The structure and content can then be used on the Live Copy.

MSM enables you to create a copy of an existing site and automatically update the copy with changes that occur to the source site. The copy is called a Live Copy.

For each Live Copy, a Rollout Config determines how content is automatically updated. A Rollout Config consists of the following items:

  • An event that triggers the update, such as a change to the content of the source page.
  • One or more actions that occur, such as updating the content on the Live Copy.

Live Copy pages can use any page as the source. A Live Copy can also use a blueprint as the source. Blueprints define a source website for Live Copy pages and consist of the following items:

  • The path of the root page of a website. The path defines the pages that are copied as Live Copy pages.
  • One or more Rollout Configs. Live Copy pages made from blueprints inherit the blueprint Rollout Configs.

Blueprints provide control over the generation of Live Copy pages, however websites must have a specific structure to be used as a blueprint. Creating Live Copy pages from non-blueprint pages is more flexible but they are more difficult to track.

Create a LiveCopy and Blueprint   Adobe Doc


Q6.)How is multilingual site support in AEM?

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 syncronizing 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.

MSM reduces the time it takes to manage your websites and increases the re-use of common content.

Read More for how to create a multilingual site


Q7.)How is localization supported / implemented in AEM?

Localization is at the core of CQ5. It provides support for adapting applications, created using the CQ5 platform, into different languages and regional configurations . While processing the request, the Locale is extracted. This is then used to reference a language code, and optionally a country code, which can be used for controlling either the specific content or format of certain output.

Localization will be used throughout CQ5 – wherever reasonable. One notable exception is the system log information of CQ5 itself, this is never localized and always in English.

You may use i18n Internationalization to implement localization of content in CQ5 website.

Read More – Link1  Link2


Q8.)What is segmentation/campaign ? How is it achieved in AEM ?

Depending on the information you have already collected about your site visitors and the goals you want to achieve, you will need to define the segments and strategies needed for your targeted content. (User based data is collected using ClientContext.)

These segments are then used to provide a visitor with specifically targeted content. This content is maintained in the Campaigns section of the website. Teaser pages can be included as teaser paragraphs on any page and define which visitor segment the specialized content is applicable for. Teasers able you to select a particular Campaign and then based on the Segmentation rule, content is rendered defined in the Campaign.

CQ allows you to easily create and update segments, teasers, and campaigns. It also allows you to verify the results of your definitions.

How to Create Segments and Campaigns 


Q9.)What is role of persistence manager in AEM ?

CQ uses persistence manager to save the content to a persistent storage like file system or a database.By default the crx content is stored using Tar Persistence manager. It stores the content to file-system in standard linux archive files called tar.

If you want to store the repository content in a database, then you can configure cq5 to use a database persistence manager.

CRX supports a number of configurable persistence manager implementations. The recommended, and default, PM is com.day.crx.persistence.tar.TarPersistenceManager (TarPM). (upto 5.6 , for 6.0 MongoDb and OAK were introduced.)

Read More


Q10.)What will be your approach to implement application which is compatible to Desktop, Mobile(s) & Tablets?

Design your web pages so that they adapt to the client viewport in which they are displayed. With responsive design, the same pages can be effectively displayed on multiple devices in both orientations.

Develop CQ applications that generate HTML5 pages that adapt to multiple window sizes and orientations.

Read More


5 thoughts on “Sr. Developer

    • In my opinion a Responsive Web Design (RWD) is the design to opt for creating a versatile website these days. These kind of design helps in two major ways:

      Focus. The problem with a lot of mobile sites is that they’re too cluttered. They try to pack as many features from the desktop site as possible onto a much smaller screen. That screen then becomes busy, unsightly, and difficult to navigate. Mobile-first design focuses on the site’s core content and functionality, providing users with the features they need without a lot of extras that increase load times and decrease usability on mobile platforms. Blueprint/ Livecopy approach increases the complexity of the site and hence difficult to manage henceforth.

      Versatility. Not only do your smartphone users get a site that’s streamlined and functional, but since site features and content are added progressively, tablet and desktop users aren’t faced with a bare bones layout that looks empty on a larger screen. Everyone gets the site that’s best suited to their device. That way, your site can reach a broader audience, increasing your traffic and providing more and better opportunities for people to interact with your site, no matter where they are. In case of Blueprint /Livecopy approach you have to relay a lot on the rollout configs and there is a burden to maintain that . Also the extra components and node structures are a head on burden. All this could be avoided using a RWD.

      Mobile-first responsive web design isn’t necessarily easy. It can be a challenge to limit the initial site design to a much smaller piece of screen real estate and hone in on that core content, especially for Web developers who are used to desktop design. But in the end, it’s a smarter, more versatile option for your site that gives every user just what they need.

      Like

  1. Pingback: How to Prepare ? – CQ5 AEM Tricks of Trade

  2. I have a question related to rating,poll or voting components .If the number of users which are submitting the poll components are large like 1M then would the method of creating the node for each user as answer
    slow the cq processing . What should be the strategy for defining these component when the users count is high should I use rdms to capture the answers and then manipulate the records to generate the result or is there any other strategy available in cq5?

    Like

    • Hi Aditya,
      Is this a Custom component or an OOTB component ? If the poll is added to a high traffic page, creating a User on Publish and synchronizing that user to all environments might not be a good idea. Do you have a condition that 1 user can vote /poll once ? You can manage client side cookies or some unique identifier like email id or zip code to get genuine users only.

      Liked by 1 person

Leave a comment