Tuesday, 20 February 2018

Creating a Link Rewriter Service for Adobe Experience Manager 6.3

You can create a custom Adobe Experience Manager 6.3 (AEM) Link Rewriter service that is based on the Apache Sling Rewriter module. This module is used for rewriting the output generated by the Sling rendering process.

An AEM Link Rewriter service is implemented as an OSGi bundle that contains a Java class that extends the org.apache.sling.rewriter.Transformer class. For information, see Interface Transformer.

NOTE: For more details, see Apache Sling Rewriter.

This development article walks you through how to create an AEM Link Rewriter service that modifies links the references the following content:

  • A PDF document 
  • A MS Word document 
  • A MS Excel file 

For example, if a link within an AEM We Retail web page references a PDF in the AEM DAM, the link is modified by the service. The AEM service adds a PDF icon to the link, as shown in the following illustration.


To read this development article, check back on Fri Feb 23, 2018. 

Tuesday, 13 February 2018

Ask the AEM Community Experts for Feb 2018

Date: Tues Feb 27, 2018 11 AM EST
Title; Deep Dive into Working with AEM Workflows and Workflow APIS
Description:

Join the AEM Community team and Lokesh Shivalingaiah, a top AEM Community member and certified AEM user, for a discussion about working with AEM workflows and workflow APIs. Lokesh will cover best practices for working with the AEM Workflow API, including how to modify Workflow Payload and how to perform various tasks. By joining this session, you will gain a better understanding on how to apply these techniques to your own Experience Manager projects to address business requirements. The Workflow ENg members will also be attending to answer your questions as well.



Join the Adobe Experience Cloud Community 

Join the Adobe Experience Cloud Community by clicking this banner




I (Scott Macdonald) am a Senior Digital Marketing Community Manager at Adobe Systems with 20 years in the high tech industry. I am also a programmer with knowledge in Java, JavaScript, C#,C++, HTML, XML and ActionScript. If  you would like to see more CQ or other Adobe Digital Marketing end to end articles like this, then leave a comment and let me know what content you would like to see.


TwitterFollow the Digital Marketing Customer Care team on Twitter @AdobeExpCare.

YouTube: Subscribe to the AEM Community Channel

Monday, 12 February 2018

Modifying Digital Assets using Adobe Experience Manager Workflows

When working with Adobe Experience Manager digital assets, you can use workflows to achieve business requirements. Not all business requirements can be achieved by using out of the box Experience Manager components. To achieve some requirements, you need to build custom workflows. In some cases, you need to build custom workflow steps by using Experience Manager Workflow API.

For example, consider a business requirement when a digital asset has to be archived prior to deleting it. That is, you want to place an asset into a trash folder before deleting it. Using out of the box workflow steps, you cannot achieve this use case. To achieve this requirement, you need to build a custom workflow step that moves the asset to a folder named trash under /content/dam.

The following illustration show the workflow model that moves a digial asset to the trash folder and then deletes the asset.


In this model, the step that moves the digital asset to the trash folder is a custom workflow step that uses AEM APIs. To create a custom workflow step for Experience Manager 6.3, you need to use Declarative Services annotations as opposed to Apache Felix - SCR Annotations (this is shown in this article).

This development article uses these APIs to achieve this use case: 

  • Workflow API - to handle the payload that represents the digital asset
  • JCR API - to get the node and read the jcr:data property to obtain an InputStream 
  • AssetManager API - to place the asset into the Trash folder.
To read this development article, click  https://helpx.adobe.com/experience-manager/using/modify_asset_workflow.html.


Join the Adobe Experience Cloud Community 

Join the Adobe Experience Cloud Community by clicking this banner




I (Scott Macdonald) am a Senior Digital Marketing Community Manager at Adobe Systems with 20 years in the high tech industry. I am also a programmer with knowledge in Java, JavaScript, C#,C++, HTML, XML and ActionScript. If  you would like to see more CQ or other Adobe Digital Marketing end to end articles like this, then leave a comment and let me know what content you would like to see.


TwitterFollow the Digital Marketing Customer Care team on Twitter @AdobeExpCare.

YouTube: Subscribe to the AEM Community Channel



Friday, 2 February 2018

Creating a Sling Model Injector for Adobe Experience Manager

You can develop a custom Sling Model Injector when developing models for Adobe Experience Manager.  You can inject parameter values into a Sling Model. The parameter values are used by the Model and you can use them in your business logic. This development article walks you through how to write a custom Sling Model injector by using a Sling Model Request Parameter Injector.

The following illustration shows you an HTL component that uses a custom Sling Model Injector.


To create a Sling Model Injector, you use Java APIs located in the org.apache.sling.models.spi.injectorspecific package.

To read this development article, click https://helpx.adobe.com/experience-manager/using/custom_sling_model_injector.html.


Join the Adobe Experience Cloud Community 

Join the Adobe Experience Cloud Community by clicking this banner




I (Scott Macdonald) am a Senior Digital Marketing Community Manager at Adobe Systems with 20 years in the high tech industry. I am also a programmer with knowledge in Java, JavaScript, C#,C++, HTML, XML and ActionScript. If  you would like to see more CQ or other Adobe Digital Marketing end to end articles like this, then leave a comment and let me know what content you would like to see.


TwitterFollow the Digital Marketing Customer Care team on Twitter @AdobeExpCare.

YouTube: Subscribe to the AEM Community Channel

Friday, 19 January 2018

Creating an AEM JCR Event Listener using a Maven Archetype 12 Project

You can develop a custom JCR Event Listener for Adobe Experience Manager (AEM) 6.3 that responds to events that occur at the JCR level. For example, you can write an event handler to respond to the following JCR events:


  • A node was added
  • A node was moved
  • A node was deleted
  • A property was added to a node
  • A property was changed
  • A property was deleted


To create an AEM event listener, you create an OSGi bundle that contains a class that implements javax.jcr.observation.EventListener. For information, see EventListener.



Join the Adobe Experience Cloud Community 

Join the Adobe Experience Cloud Community by clicking this banner




I (Scott Macdonald) am a Senior Digital Marketing Community Manager at Adobe Systems with 20 years in the high tech industry. I am also a programmer with knowledge in Java, JavaScript, C#,C++, HTML, XML and ActionScript. If  you would like to see more CQ or other Adobe Digital Marketing end to end articles like this, then leave a comment and let me know what content you would like to see.


TwitterFollow the Digital Marketing Customer Care team on Twitter @AdobeExpCare.

YouTube: Subscribe to the AEM Community Channel


Wednesday, 17 January 2018

Creating an Adobe Experience Manager 6.3 Project using Adobe Maven Archetype 12

You can create an AEM 6.3 project by using Adobe Maven Archetype 12. This development article walks you through creating an AEM 6.3 project by using Archetype 12 and explains the default AEM files and services. Using an Archetype 12 project, you are given a set of files to start with.

2 Pages


  • English and French pages with filler text

2 Templates


  • For homepage and content pages
  • Homepages are only allowed on top level, and content pages below
  • Built with HTL templates and simple server-side JavaScript logic

Example Components


  • helloworld: example of custom HTL component with SlingModels for the logic 
  • Core components - use of Core Components like text and image, and title 

Java examples

  • Models: Models for more complex business logic of components
  • Servlets: Rendering the output of specific requests
  • Filters: Applied to the requests before dispatching to the servlet or script
  • Schedulers: Cron-job like tasks


The following illustration represents a default AEM page that is created by the Archetype 12 project.



Join the Adobe Experience Cloud Community 

Join the Adobe Experience Cloud Community by clicking this banner




I (Scott Macdonald) am a Senior Digital Marketing Community Manager at Adobe Systems with 20 years in the high tech industry. I am also a programmer with knowledge in Java, JavaScript, C#,C++, HTML, XML and ActionScript. If  you would like to see more CQ or other Adobe Digital Marketing end to end articles like this, then leave a comment and let me know what content you would like to see.


TwitterFollow the Digital Marketing Customer Care team on Twitter @AdobeExpCare.

YouTube: Subscribe to the AEM Community Channel


Thursday, 11 January 2018

January 2018 session of Ask the AEM Community Experts

For the January 2018 session of Ask the AEM Community Experts, we are doing a session on Multi-Site Management with AEM. However - we are trying a different format for this session. We are collecting MSM questions from the community and then these questions (we will attempt all - however it depends on how many we get) will be answered during the session.

To watch this session - click http://bit.ly/ATACE118

Join the Adobe Experience Cloud Community 

Join the Adobe Experience Cloud Community by clicking this banner




I (Scott Macdonald) am a Senior Digital Marketing Community Manager at Adobe Systems with 20 years in the high tech industry. I am also a programmer with knowledge in Java, JavaScript, C#,C++, HTML, XML and ActionScript. If  you would like to see more CQ or other Adobe Digital Marketing end to end articles like this, then leave a comment and let me know what content you would like to see.


TwitterFollow the Digital Marketing Customer Care team on Twitter @AdobeExpCare.

YouTube: Subscribe to the AEM Community Channel