editable templates in aem interview questions

Topic – Content Repository and JCR

Refer to https://www.adaface.com/blog/aem-interview-questions/#q47 for a quick overview. For more detailed answers refer to this link – https://hashimkhan.in/aem-adobecq5-interview-questions/basics/

This needs to be mentioned in the technology stack related questions. The candidate should talk about the benefits of using OSGI and the process of build and installation of a bundle.

Repository structure pre and post 4

Go through https://experienceleague.adobe.com/docs/experience-manager-65/developing/bestpractices/development-practices.html?lang=en#bestpractices

The primary node type of a node usually defines node structure (i.e., allowed and required child nodes and properties) related to the problem domain being modeled. For example, a node used in storing content about business contacts might have the primary type myapp:Contact which defines properties such as myapp:givenName, myapp:familyName and so forth.

Creating a custom component manually by creating all necessary nodes and setting value of “sling:superResourceType” property as “/libs/foundation/components/”. By doing this you inherit all the feature of component, even after upgrade you still inherit the features of component. For more information watch this video

c:import – I assume this is the import tag of the Standard Tag Library. This tag is documented at http://java.sun.com/products/jsp/jstl/1.1/docs/tlddocs/c/import.html and does not know about Sling directly. But — asuming — this tag is using a RequestDispatcher to dispatch the request, this tag will also pass Sling and the Sling resource resolver. For more information check this

iparsys – The inherited paragraph system is a paragraph system that also allows you to inherit the created paragraphs from the parent. it is similar to parsys except that it allows to inherits parent page “paragraph system” at template level. You can also cancel paragraph inheritance at a level at any time. It has two checkbox options to cancel/disable the inheritance.

A specific widget with the label cqinclude exists which allows for inclusion of existing dialog elements in other dialog definitions. The generic JSON format is used on the client side to construct the actual dialog. Following is an example which uses the cqinclude widget to include an existing tab from an existing dialog: { “jcr:primaryType”: “cq:Widget”, “xtype”: “cqinclude”, “path”: “/libs/replication/components/agent/tab_extended.infinity.json” }


This node holds properties for the template:

  • Name: jcr:title
  • Name: status
    • Type: String
    • Value: draft, enabled or disabled
  • Defines the structure of the resultant page:

  • Is merged with the initial content ( /initial) when creating a new page.
  • Changes made to the structure will be reflected in any pages created with the template.
  • The root ( structure/jcr:content/root) node defines the list of components that will be available in the resulting page.
    • Components defined in the template structure cannot be moved on or deleted from any resultant pages.
    • Once a component is unlocked the editable property is set to true.
    • Once a component that already contains content is unlocked, this content will be moved to the initial branch.
  • The cq:responsive node holds definitions for the responsive layout.
  • Defines the initial content that a new page will have upon creation:

  • Contains a jcr:content node that is copied to any new pages.
  • Is merged with the structure ( /structure) when creating a new page.
  • Any existing pages will not be updated if the initial content is changed after creation.
  • The root node holds a list of components to define what will be available in the resulting page.
  • If content is added to a component in structure mode and that component is subsequently unlocked (or vice versa), then this content is used as initial content.
  • The content (or design) policies define the design properties of a component. For example, the components available or minimum/maximum dimensions. These are applicable to the template (and pages created with the template). Content policies can be created and selected in the template editor.

  • The property cq:policy, on the root node /conf//settings/wcm/templates//policies/jcr:content/root Provides a relative reference to the content policy for the page’s paragraph system.
  • The property cq:policy, on the component-explicit nodes under root, provide links to the policies for the individual components.
  • The actual policy definitions are stored under: /conf//settings/wcm/policies/wcm/foundation/components
  • NOTE

    The paths of policy definitions depend on the path of the component. cq:policy holds a relative reference to the configuration itself. NOTE

    Pages created from editable templates do not offer a Design mode in the page editor.

    The policies tree of an editable template has the same hierarchy as the design mode configuration of a static template under:


    The design mode configuration of a static template was defined per page component.

    Page policies allow you to define the content policy for the page (main parsys), in either the template or resultant pages.


    What is editable template in AEM?

    Editable templates allow specialized authors to create and update page templates and manage advanced policy configurations with Adobe Experience Manager (AEM) Sites. Your browser does not support the iframe element. Editable Templates are the recommendation for building new AEM Sites.

    What is the difference between editable template and static template in AEM?

    Page created from a static template has initial nodes from the template, while page created from editable template usually has a “root” node and will have initial nodes under /<your-template-name>/initial, they are editable components.

    How do I create an editable template in AEM?

    When creating a new editable template you:
    1. Create a folder for the templates. …
    2. Select a template type. …
    3. Configure the structure, content policies, initial content, and layout of the new template. …
    4. Enable the template, then allow it for specific content trees. …
    5. Use it to create content pages.

    What are editable templates?

    Editable Templates are the type of templates that get dynamically connected to all the pages that are created using them. The changes that are made in editable templates will be reflected in all the pages that are created out of it.

    Related Posts

    Leave a Reply

    Your email address will not be published.