Monday, 27 February 2023

Resource dumped by HtmlRenderer - AEM

Noticed below error message on AEM 6.5 author and publish instances.

Resource dumped by HtmlRenderer

Resource path: /content/demo/jcr:content/root/responsivegrid_111/demo/reponsivegrid

Resource metadata: {sling.modificationTime=-1, sling.characterEncoding=null, sling.parameterMap={}, sling.contentType=null, sling.creationTime=-1, sling.contentLength=-1, sling.resolutionPath=/content/demo/jcr:content/root/responsivegrid_111/demo/responsivegrid}

Resource type: nt:unstructured

Resource super type: -

Resource properties

jcr:primaryType: nt:unstructured

jcr:mixinTypes:[cq:replicationStatus]

Above error occurs when empty components of type nt:unstructured are copied using crx/de and are not drag and dropped. After deleting empty responsivegrid component which is copied in crx/de above issue is resolved.

Additionally, this error is observed when we enable a renderer for GET servlet. This can be disabled from the OSGI configMgr.

  • Navigate to felix console's configuration manager 
  • Search for "Apache Sling GET Servlet"
  • Check "Enable HTML" option, if the check box is checked then HTML renderer is enabled for the default GET servlet.
  • Uncheck this checkbox, you notice the 404 page instead of the "Resource dumped by HtmlRendererServlet" message.

Tuesday, 31 January 2023

Create Content Fragment in AEM

What is Content Fragment?

Content Fragments are editorial content, primarily text, and related images. They are pure content, without design and layout. Content fragments are not available in the classic UI. AEM also supports the translation of fragment content. Learn more about content fragments here.

Create Content Fragment Model Configuration:


Before we create content fragment we need to create a content fragment model. AEM configurations allow you to do many things such as editable templates, contextual site configurations, and content fragment configurations.
  1. Go to AEM Start > Tools > General > Configuration Browser > Create
  2. Enter “AEM Quickstart Site” for the title
  3. Check the “Content Fragment Models” checkbox
  4. Click create

Create a DAM Folder

Content fragments are stored in the AEM DAM and are simply treated as an asset like an image or pdf. We will want to create a DAM folder for storing all of our content fragments.
  1. Go to AEM Start > Assets > Files > Create > Folder
  2. Enter the title
  3. Click create

Fetch Content Fragment using AEM Core Components

We have seen how to create a content fragment in the previous post.

Content Fragments can be rendered onto a page by below different ways:
  1. Using AEM core components
  2. Using Custom Sling Model
  3. Using Servlet to access Content Fragment.

Let's see how to render Content Fragment using AEM Core Components.

Enable AEM core components

Create a new project called “aemquickstart” using Adobe’s project archetype. Below is a maven archetype command to use. This will generate a boilerplate project with the latest version of Core Components.
mvn -B archetype:generate 
 -D archetypeGroupId=com.adobe.granite.archetypes 
 -D archetypeArtifactId=aem-project-archetype 
 -D archetypeVersion=23 
 -D aemVersion=cloud 
 -D appTitle="AEM Quickstart" 
 -D appId="aemquickstart" 
 -D groupId="com.aemquickstart" 
 -D frontendModule=general 
 -D includeExamples=n

Run below maven command to install the package in AEM
mvn clean install -PautoInstallPackage

Content fragment and content fragment list core components under ui.apps sub module
  • /aemquickstart/ui.apps/src/main/content/jcr_root/apps/aemquickstart/components/content/contentfragment
  • /aemquickstart/ui.apps/src/main/content/jcr_root/apps/aemquickstart/components/content/contentfragmentlist

Let's add these components on to the page.
  1. Go to AEM Start > Sites > aemquickstart > US > English
  2. Click on the parsys
  3. Click the plus icon
  4. Select Content Fragment
  5. Edit the content fragment
  6. Select the "AEM Book" content fragment that we created in the previous post
  7. Add Title, Description, Release Date and Image elements as shown below.
  8. Save the dialog.

Now we can see the content fragment info on the page.

Fetch Content Fragment using Sling Model

We have seen how to create a content fragment in the previous post.

Content Fragments can be rendered onto a page by below different ways:
  1. Using AEM core components
  2. Using Custom Sling Model
  3. Using Servlet to access Content Fragment.

AEM Cloud Manager

Cloud Manager, part of the Adobe Managed Cloud Services, enables organizations to self-manage Experience Manager in the cloud. It includes a continuous integration and continuous delivery (CI/CD) framework that lets IT teams and implementation partners expedite the delivery of customizations or updates without compromising performance or security.


Thursday, 9 July 2020

Migrate AEM user to another AEM instance

We create users in AEM DEV instance and need to move those users to higher environments. We can create a package using ACL packager.

Download the ACS AEM commons packages
Install the packages into AEM using the package manager
Navigate to AEM > Operations > Configuration
Expand Tools > Content Packagers and create a new page