Tuesday, 15 August 2017

Passing Binary Data between Experience Manager Workflow Steps

You can develop a custom Adobe Experience Manager (AEM) workflow step that sets a binary value that can be retrieved by another step in the same workflow. For example, assume you read a byte array and you need that value in a later step. You can store the value and retrieve it in a later step.

To read and write binary values in an AEM workflow, you need to write custom steps. A custom workflow step is implemented as an OSGi bundle that you can build using Maven and the AEM Workflow APIs that belong to the com.adobe.granite.workflow.exec package. For information, see Package com.adobe.granite.workflow.exec.

To demonstrate how to pass values in a workflow between steps, this article uses the following workflow model.




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, 11 August 2017

Creating an AEM HTML Template Language 6.3 component that uses a Multifield

You can create an Adobe Experience Manager (AEM) 6.3 Touch UI component that can be used within the AEM Touch UI view. Furthermore, you can use the AEM HTML Template Language (HTL - formally known as Sightly) to develop the AEM component. For example, consider an author whom enters information into a multi-field control in the component's dialog, as shown in this illustration.


To read this Adobe Experience Manager 6.3 development article, click https://helpx.adobe.com/experience-manager/using/multifield_aem63.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


Tuesday, 8 August 2017

Ask the AEM Community Experts for August 2017

Join Lokesh Bangalore Shivalingaia, a top community member, for a discussion about using Adobe Experience Manager core components and how to use them in your digital marketing projects.

By joining this session, you will gain a deeper understanding of how to work with this new generation of Experience Manager components.


Make sure to RSVP. then export your calendar reminder. At 8 AM PDT join us to hear best practices from Lokesh, and get your questions answered from the AEM Experts.

To sign up - click https://www.meetup.com/AEM-Technologist-Group/events/241856534/.


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, 31 July 2017

Creating a custom Image Text component for Experience Manager 6.3

As an Adobe Experience Manager component developer, you can create custom components to address project requirements. For example, you can create a custom image/text component that can let an author dynamically set the position of the image on a web page.  A author can set the image on the left side of the page, as shown here.


Likewise, the author can set the image on the right side. 



Benefits of creating this custom text/image component are as follows: 
  1. No need to merge everything into one single component.
  2. An author can drag and drop additional components as required.
  3. This component has a custom image, heading and button component. which can be added or deleted from the parsys.
  4. It is responsive so as per screen resolution, it is adjusted.
  5. In the main div, you can first select the image position i.e left/right.
To read this development article, check back on Fri Aug 11, 2017.

NOTE: this component does not make use of backend Java code, only front end HTL logic. 




Tuesday, 25 July 2017

Working with Experience Fragments and the Experience Manager ContextHub

When working with Adobe Experience Manager ContextHub and Personalization use cases, you can use Experience fragments to change the content that is displayed. Experience Fragments is a new feature introduced in AEM 6.3. It allows content authors to reuse content across channels including Sites pages and 3rd party systems. For more information, see Using AEM Experience Fragments.

Using Experience Fragments, you can display content based on the audiences. For example, some users may see this content:


While others may see this content. 


This development article walks you through how to use experience fragments when using the ContextHub, 


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, 24 July 2017

Creating Adobe Experience Manager 6.3 Sling Model Components

You can work with Sling Models when developing with Adobe Experience Manager (AEM) 6.3. That is, when developing an Experience Manager project, you can define a model object (a Java object) and map that object to Sling resources. For more information, see Sling Models.

A Sling Model is implemented as an OSGi bundle. A Java class located in the OSGi bundle is annotated with @Model and the adaptable class (for example, @Model(adaptables = Resource.class). The data members (Fields) use @Inject annotations. These data members map to node properties.

Consider the following Java class named UserInfo.

package SlingModel63.core;
  
import javax.inject.Inject;
  
import org.apache.sling.api.resource.Resource;
import org.apache.sling.models.annotations.Model;
   
@Model(adaptables = Resource.class)
public class UserInfo {
    @Inject
    private String firstName;
    @Inject
    private String lastName;
    @Inject
    private String technology;
       
    public String getFirstName() {
        return firstName;
    }
    public String getLastName() {
        return lastName;
    }
    public String getTechnology() {
        return technology;
    }
   
}

As you can see in the code example, the @Model annotation is used. Likewise, each data member in the UserInfo class is annotated using the @Inject annotation. This Java class is mapped to a Sling resource, like the one shown in the following illustration.


Notice that the class members in the UserInfo class map to the String properties that belong to the /content/testsling/slingmodel node. This article walks you through creating a Sling Servlet that uses a Sling Model to map to this resource.

The following illustration shows the output of the Sling Servlet that uses Sling Models. Notice that the values in the node properties are displayed.



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, 14 July 2017

Ask the AEM Community Experts for July 2017

Join the July version of Ask the AEM Community Experts where Peter Nash and Axis 41 community members will discuss AEM and Dispatcher topics focusing on real world topics.





To watch this session, click : http://bit.ly/ATACE0717.

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