Delete all the assets which don’t have references to improve AEM performance in turn Indexes and search/query performance.
Introduction:
How do assets get published?
The author uploads the images and publishes the assets
Create a launcher and workflow which processes assets metadata and publishes the pages
Whenever we publish any pages and if the page has references to assets, then during publishing, it asks to replicate the references as well.
What happens when the page is unpublished?
When the page is deactivated, assets referenced to the page will not be deactivated because this asset might have reference to the other pages hence out of the box assets won’t be deactivated.
If we perform cleanup, deactivate and delete old pages, we might not be cleaning up assets related to this page.
What advantages of cleaning up of old assets?
Drastically reduces repository size
Improves DAM Asset search
Improves indexing
Generate Published Asset Report by visiting:
Go to Tools -> Assets -> Reports as shown below:
Asset Report Tool Section
Click on create and click on Publish report
Asset Publish Report
Provide folder path and start date and end date
Asset Report Configure Page
Select the columns as per the requirement
Asset Report Custom Column Page
Finally, the report will be ready with all the assets lists as shown below
Asset Report
Download the report to see the final list of images
DAM Report result
To generate the report let’s create a new AEM tool:
AEM OOTB comes with multiple tools in AEM and to access all the tools you need to navigate to the tool section and select the appropriate sections to perform all the operations
For example:
AEM operations
Managing templates
Cloud configurations
ACS Commons tools etc..
Tools are an essential part of AEM and avoid any dependency on Groovy scripts or any add scripts and can be managed or extended at any given point in time.
Broken Asset Report generates a report of all the unreferenced assets by running a Reference Search query across the repository every 30s (by default), you can update the scheduler expression based on your repository size.
The scheduler also checks for the CPU/HEAP size before triggering the reference search process and for more details on Throttled scheduler please refer to the link.
Once the repository is built and deployed, you will be able to access the Broken Asset Reference report as shown below:
Broken Asset Reference Tool Section
You can select the report just now created by you in the drop down as shown below:
Select the Asset Report from dropdown
Provide scheduler expression as per your needs and select the result refresh interval for every 10s or as per your needs
You can see the results as shown below once the process is kicked off and it will also show the current row its processing and also CPU/Heap usage.
Reference Search Running status
For some reason, if your system CPU/Heap is throttling then from the backend it takes care of not running your scheduler or you can also manually unschedule the scheduler.
Once your system’s CPU comes back to normal you can go back and select the report and schedule again and report generation picks from the current row where it was left off.
Once the processing is complete click on the report name to download the generated report.
Reference Search Completed StatusReport Excel with Has reference Column
Generate the Splunk (logs) results by running a query to get all the assets to call (/content/dam) requests on dispatcher/publisher from the past 1year or so.
You can also reach out to the Analytics team, requesting image impressions (data on image usage) from the past 1 year or so.
Please provide your valuable feedback in the comments.
How to access the CRX package manager in AEM PROD or AEM as Cloud services?
User cases:
Latest content package from PROD to lowers or local for debugging purposes
Install the content package on PROD
Continue the PROD deployment during CM outage in between deployment
Introduction:
AEM OOTB comes with multiple tools in AEM and to access all the tools you need to navigate to the tool section and select the appropriate sections to perform all the operations
For example:
AEM operations
Managing templates
Cloud configurations
ACS Commons tools etc..
Tools are an essential part of AEM and avoid any dependency on Groovy scripts or any add scripts and can be managed or extended at any given point in time.
Package handler can be used to upload, install, build or delete packages and we are using JCR Package manager to achieve all the above options.
Usually, if want to perform any operations on AEM as managed services are AEMaaCS we need to go through CAB, and AMS resources will perform all the operations as mentioned on the CAB. However, if your project has shared resources then all the priority package operations will take more time on PROD or any other environments.
Once the code is built and deployed you will be able to access the tool by navigating the:
Tools -> {Tool Section} -> {Tool Name}
Package Handler Tool Section
Now you can access the package handler and upload the packages to AEM as an upload or upload and install.
Package Handler Page
If you’re building any existing packages then you can build, install or delete packages. Provide package name, version, and group details to pull the package.
Provide the desired package name and Description and you can see the package path will be prompted and you will be able to download the built package by clicking on the link:
Note: You can access this package over domain on AEM / AEMaaCS and over any environments and architects can handle the permissions by adding appropriate rep:policy on cq generator node or conf page
Can we Publish / Un Publish / Delete the list of paths mentioned in an excel sheet? Or provided has a linefeed
Introduction:
AEM OOTB comes with multiple tools in AEM and to access all the tools you need to navigate to the tool section and select the appropriate sections to perform all the operations
For example:
AEM operations
Managing templates
Cloud configurations
ACS Commons tools etc..
Tools are an essential part of AEM and avoid any dependency on Groovy scripts or any add scripts and can be managed or extended at any given point in time.
Usually, product owners or authors would like to Publish certain pages like offer/product/article pages based on business requirements and also would like to unpublish and delete to clean up the pages which are unnecessary.
This process will be really helpful during excel sheet based migration.
The list Replication process usually validates the paths and if it exists then activates or deactivates or deletes pages or content paths. It accepts an excel sheet or list of paths as a line feed.
You can also provide a list of agents to be activated/deactivated to for example only to Brightspot or Brightcove connector.
Once the code is built and deployed you will be able to access the tool by navigating the:
Tools -> {Tool Section} -> {Tool Name}
List Process Section
Now you can input the page paths as a line feed (no need to separate the paths using commas or any characters)
List Process Page
Upload the excel sheet or paths and select the queue method it’s recommended to use MCP Queue if you are activating more than 10K pages then it’s recommended to select MCP After 10K.
Note: You can access this package over domain on AEM / AEMaaCS and over any environments and architects can handle the permissions by adding appropriate rep:policy on cq generator node or conf page
Create a perfect content backup package in AEM, whenever we want to create any package in AEM we provide the content paths in the package filter manually and what do we get?
We get only content pages.
What about images and referenced pages?
What about header/footer experience fragment pages or XF page-related context hub variations?
Introduction:
AEM OOTB comes with multiple tools in AEM and to access all the tools you need to navigate to the tool section and select the appropriate sections to perform all the operations
For example:
AEM operations
Managing templates
Cloud configurations
ACS Commons tools etc..
Tools are an essential part of AEM and avoid any dependency on Groovy scripts or any add scripts and can be managed or extended at any given point in time.
Perfect packager pulls the current page resource and iterates on each node and gets the referenced images, pages, and XF’s. Once all the paths are pulled it reiterates to find all the referenced pages to get all the images, XF’s, and pages.
Once the code is built and deployed you will be able to access the tool by navigating the:
Tools -> {Tool Section} -> {Tool Name}
Perfect Package section
Now you can input the page paths as a line feed (no need to separate the paths using commas or any characters)
Perfect Package Result
Provide the desired package name and description and you can see the package path will be prompted and you will be able to download the built package by clicking on the link:
Perfect Package resultPerfect package built and has all the references
Note: You can access this package over domain on AEM / AEMaaCS and over any environments and architects can handle the permissions by adding appropriate rep:policy on cq generator node or conf page
Avoid adding individual paths manually in the CRX Package manager
Option to package current page or pull children
Introduction:
AEM OOTB comes with multiple tools in AEM and to access all the tools you need to navigate to the tool section and select the appropriate sections to perform all the operations
For example:
AEM operations
Managing templates
Cloud configurations
ACS Commons tools etc..
Tools are an essential part of AEM and avoid any dependency on Groovy scripts or any add scripts and can be managed or extended at any given point in time.
Package Creator is an extension of the ACS Commons Package handler, but it’s UI friendly and easy to access. You can input the paths to be packaged as a line feed and no need to separate them by a comma. Once the package is ready it will be built and prompted with a download option.
Once the code is built and deployed you will be able to access the tool by navigating the:
Tools -> {Tool Section} -> {Tool Name}
Package Creator
Now you can input the page paths as a line feed (no need to separate the paths using commas or any characters)
Creator Page
Provide the list paths to be backed up, desired package name, and description and select the dropdown to pull children or not. Once the package is built you can see the package path will be prompted and you will be able to download the package by clicking on the built package link:
Package Creator ResultsThe package is built with the exact page location
Note: You can access this package over domain on AEM / AEMaaCS and over any environments and architects can handle the permissions by adding appropriate rep:policy on cq generator node or conf page
Create a tool similar to AEM Operations or ACS Commons for easy access and to run any maintenance process/tasks.
Introduction:
AEM OOTB comes with multiple tools in AEM and to access all the tools you need to navigate to the tool section and select the appropriate sections to perform all the operations
For example:
AEM operations
Managing templates
Cloud configurations
ACS Commons tools etc..
Tools are an essential part of AEM and avoid any dependency on Groovy scripts or any add scripts and can be managed or extended at any given point in time.
In order to create any tool from scratch takes a lot of time and man hours and once all the configs are ready then it takes more time to develop the services and servlet to handle the business logic.
By using this tool, you can avoid all kinds of configurations and initialsetup and kick start with your own first tool from scratch
The tool generator consists of the:
Sling model – to generate fields and handle inputs
Servlet – to process request
Component – to handle view (HTL), CSS, and JS
All the above sample scratch setups along with ready to check-in code will be added to the code base.
How to use the tool?
1. Click on the link to download the tool generator package and install it into your local instance
2. Once the package is installed go to sites -> tools -> and select the Tool Generator section
tool section
3. Select Tool Settings on the top right hand corner and provide your local repository paths like sling model path, servlet path, apps path, conf path, and CQ path if it already exists
tool page
4. Once all the settings are authored save the settings
tool settings
5. After coming to the generator page provide your tool name and tool description
tool authoring
6. If you have an existing tool then select Yes else Select No and provide the Tool Section name
7. Click on Create tool to create your new tool from scratch
tool result
Check your repository for all the file changes as shown below:
You can also check your new tool component and other configs on CRXDE
You can also visit your new tool by accessing the tool section (sites -> Tools -> {Your section name})
For more info on how to add a Sling model field please visit the below link:
Once your Sling model, servlet, and other things are ready make sure you add the following filter in your META-INF folder and keep it merge as shown below:
This would avoid replacing/overriding any other tools like ACS Commons or your other repo tools.