Friday, 19 May 2017

Adding a Custom Carousel Component to the Experience Manager Toy Site

The ability to add custom components to an Adobe Experience Manager site is important as it offers you flexibility to address your business requirements. When developing custom components, you can use third-party libraries of which there are many. For example, you can use JQuery plug-ins to create custom components that can improve the look and feel of your site. For information about some existing JQuery plug-ins, see 50 Amazing jQuery Plugins That You Should Start Using Right Now.

As an example, this article is going to modify the Experience Manager Toy Site. This site contains a static image, as shown here.



To improve the look and feel of this site, the static image is replaced with a carousel component that displays different images located in the Experience Manager DAM. 


This article discusses how to create a custom carousel component then add it to the Experience Manager Toy Site. To read this article, check back on Fri May 26, 2017.

NOTE: To build the Experience Manager Toy Site, see Creating your First Adobe Experience Manager 6.3 website.

Monday, 15 May 2017

Developing your first Experience Manager 6.3 Components

When working with Adobe Experience Manager projects, you often need to develop custom components. This article discusses how to on board new developers to Experience Manager and build custom components. This article starts by creating a properly structured Experience Manager project that follows best practices. That is, it discusses specific tooling for both Java developers and front-end developers, as well as how to edit the rendered markup with HTL and Sling models.

In addition, this article covers working with Experience Manager Core Components. For information, see Core Components.


To read this Experience Manager 6.3 developer article, click https://helpx.adobe.com/experience-manager/using/aem63_components.html.



Adobe Digital Marketing Community

Join the Adobe Digital Marketing Community. Start by clicking this banner



I (Scott Macdonald) am a Senior Digital Marketing Community Manager at Adobe Systems with over 18 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 @AdobeMktgCare.

TwitterFollow me on Twitter @smac2020  

Tuesday, 9 May 2017

Ask the AEM Community Experts for May 2017


Title: Using Lazybones and Editable template in AEM projects

Date: Tues May 30, 2017 11 AM EST

Description: Join Ankur Ahlawat and Scott Macdonald for a discussion about using Lazybones and Editable template in AEM Projects. By joining this session, you will gain a better understanding of how to build AEM projects that take advantage of Lazybones and the new Editable Templates in your projects.


To sign up - click: Ask the AEM Community Experts .

Promote this blog in your own AEM Community Channels - take advantage of this free AEM webinar!!



I (Scott Macdonald) am a Senior Digital Marketing Community Manager at Adobe Systems with over 18 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 @AdobeMktgCare.

TwitterFollow me on Twitter @smac2020  

Monday, 8 May 2017

Creating Editable Templates for an Experience Manager Website

When developing enterprise scale Adobe Experience Manager web sites, you can use editable templates. An editable template lets you specify the layout of a page, You can for example, determine the look and feel of the template, specify which components are allowed in the template, and so on. An editable template is built using the Experience Manager template editor.

This article adds editable templates to the Experience Manager Toy Site. This editable template uses a policy which determines what AEM components are allowed in it, as shown in the following illustration.


The following illustration shows the editable template in Initial Content mode.


Using an editable template, you can create pages for your site. The Experience Manager pages have the same look and feel, but have different content. To read this development article, check back Weds May 17, 2017. 

NOTE: This Experience Manager developer article builds off of the Sample Toy Site built for Experience Manager 6.3. For information about developing this site, see Creating your First Adobe Experience Manager 6.3 website.

Monday, 1 May 2017

Creating Multimedia Experiences using Assets and Dynamic Media

Building interactive and responsive multimedia experiences can be difficult given the vast number of platforms and screens. The Adobe Experience Manager Assets and Dynamic Media capabilities offer a framework and suite of components that allow creators and marketers to effortlessly customize and deliver interactive multimedia viewers across all devices. These easy-to-use tools give marketers the power to build rich and scalable multimedia experiences with little to no technical knowledge.


By reading this article, you will learn the following:


  • Use Dynamic Media to take a single set of assets and serve unlimited customized variations, including size, color, format, and zoom.
  • Author and deploy interactive experiences using out-of-the-box viewers and graphical authoring tools
  • Develop custom viewers using the HTML5 Dynamic Media SDK for complete control
This article will be released later in May 2017. 

Friday, 28 April 2017

Validating Adobe Experience Manager Classic UI dialog values

You can validate fields in an Adobe Experience Manager classic UI dialog with custom JavaScript logic. You can validate fields before saving the data in nodes for any dialog using the Experience Manager classic UI. In this development article, you will learn how to apply custom validations to dialog fields in the classic UI by using JavaScript.

Note: This article discusses how to access and validate dialog fields by using JavaScript. You can apply similar JavaScript logic to your own dialog fields to address your project's business requirements.


Likewise, you can validate email fields, as shown in the following illustration.




Adobe Digital Marketing Community


Join the Adobe Digital Marketing Community. Start by clicking this banner



I (Scott Macdonald) am a Senior Digital Marketing Community Manager at Adobe Systems with over 18 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 @AdobeMktgCare.

TwitterFollow me on Twitter @smac2020  

Thursday, 27 April 2017

Adobe Experience Manager 6.3 is Live

Adobe Experience Manager 6.3 is now live.

Here are some good resources to check out:

Adobe Experience Manager 6.3 documentation

What’s New with Experience Manager 6.3

AEM 6.3 Feature Video Landing Page

Creating your First Adobe Experience Manager 6.3 website

Adobe Digital Marketing Community

Join the Adobe Digital Marketing Community. Start by clicking this banner



I (Scott Macdonald) am a Senior Digital Marketing Community Manager at Adobe Systems with over 18 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 @AdobeMktgCare.

TwitterFollow me on Twitter @smac2020  

Wednesday, 12 April 2017

Creating an Adobe Experience Manager project using Lazybones

You can create an Adobe Experience Manager 6.3 project by using Lazybones, which is a templating language that you can use to setup an Experience Manager project. For more information, see Lazybones.
This development article walks you through an efficient path to create a new Experience Manager project. This article covers the following tasks:
  •     Create an Experience Manager project by using Lazybones.
  •     Setup the project using the Eclipse plug-in.
  •     How to use the Experience Manager Template Editor.
  •     How to set policies for Templates and Components. 
  •     How to create a Page based on the template in the Touch UI.



Adobe Digital Marketing Community


Join the Adobe Digital Marketing Community. Start by clicking this banner



I (Scott Macdonald) am a Senior Digital Marketing Community Manager at Adobe Systems with over 18 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 @AdobeMktgCare.

TwitterFollow me on Twitter @smac2020  


Wednesday, 5 April 2017

Creating a custom action for an Adobe Experience Manager Form component

You can create an Adobe Experience Manager (AEM) form using various form components located in the Forms Category and submit the data to a custom form action. The custom form action can send the data to an Experience Manager service that can process the data using Java application logic to meet your business requirements. For example, you can store the data in the AEM JCR, in a relational database or send the data within an email message (as a few examples). However, to keep this article simple, the custom AEM service writes the posted data to the AEM log file.

An Experience Manager form can be consumed in a mobile device or a web browser running on a desktop. For example, consider a desktop user filling out the following form.



You can build a custom form action that is invoked when an end user fills out the form and clicks the submit button. In this article, the custom form action named customFormAction is created, as shown in the following illustration.



This article steps you through how to build a custom form action that sends data to an Experience Manager service build using Java APIs. To read this development article, click https://helpx.adobe.com/experience-manager/using/form_component_customaction.html.

Adobe Digital Marketing Community

Join the Adobe Digital Marketing Community. Start by clicking this banner



I (Scott Macdonald) am a Senior Digital Marketing Community Manager at Adobe Systems with over 18 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 @AdobeMktgCare.

TwitterFollow me on Twitter @smac2020  


Tuesday, 28 March 2017

Adobe Experience Manager Additional Community Content

This blog entry lists additional content that the community will find useful.

White Papers


Community Blogs

CQ Ops (Tumblr)
AEM CQ5 Tutorials(Community Member's AEM Blog)
Adobe CQ/Adobe AEM (Community Member's AEM Blog)
Ryan Lunka's Blog (Author of AEM in a Classroom)
Daniel Klco CQ/AEM Blog(Community Member's AEM Blog)
Himanshu Jain CQ/AEM Blog(Community Member's AEM Blog)
Adobe CQ/AEM Club Blog(Community Member's AEM Blog)
CQ5 AEM TRICKS OF TRADE(Community Member's AEM Blog)


Popular Articles

   
   
   
   
   
   
           
           

Monday, 27 March 2017

Creating your First Adobe Experience Manager 6.3 website

You can develop an enterprise scale website using Adobe Experience Manager 6.3 that contains different sections, based on existing HTML, such as:

  • header
  • body
  • menu
  • footer

In this development article, you will learn the process of building AEM 6.3 templates and components and adding HTML and CSS to build a site. You will also learn how to perform these tasks:
  • modularizing the page-rendering components 
  • defining local supertypes 
  • making use of AEM supertypes

The following illustration shows the website that is build by following the steps in this article.





To watch the Video on this use case - click:

 



Adobe Digital Marketing Community

Join the Adobe Digital Marketing Community. Start by clicking this banner



I (Scott Macdonald) am a Senior Digital Marketing Community Manager at Adobe Systems with over 18 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 @AdobeMktgCare.

TwitterFollow me on Twitter @smac2020  


Thursday, 9 March 2017

Managing multiple instances of the same Adobe Experience Manager OSGi service

When developing custom services for Adobe Experience Manager, you can define a service that can be configured using the Felix Configuration screen.


You define configuration fields that show up in the Felix configuration screen by using a @Property annotations. For example: 

@Property(description="adress to whom email is sent",value=DEFAULT_ADDRESS)
    private static final String ADDRESS = "mailservice.address";
    private String address;

You can configure your AEM service to use different configuration values. For example, you can configure 1 to many different instances of the same service. 

Assume you want to develop a custom email service that contain the following configuration values. 
  • the email address to which an email is sent
  • the email address from which the email is sent
You can configure the custom email service so that each service instance has a different value for these configuration settings. You can enter an AEM configuration value into an AEM configuration dialog, as shown here. 


In this configuration dialog, the to and from email addresses are configurable. You can configure additional configuration settings for the same service.  

When you use the custom Service within AEM, you can create a reference to the exact configuration service that you want to reference. To do this, you use the @Reference annotation and additional metadata such as: 


 @Reference(target = "(mailservice.label=InternetA)")
     MailService mailServiceA; 
     
     @Reference(target = "(mailservice.label=InternetB)")
     MailService mailServiceB;      


In the above dialog, there is a additional field named emailservice.label. You can reference the value in this field with the target value when using the @Reference annotation. 

This development article guides you through how to create an OSGi service where there are multiple configured services and how to use the  @Reference(target = "(mailservice.label=InternetA)") annotation properly.  


Adobe Digital Marketing Community

Join the Adobe Digital Marketing Community. Start by clicking this banner



I (Scott Macdonald) am a Senior Digital Marketing Community Manager at Adobe Systems with over 18 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 @AdobeMktgCare.

TwitterFollow me on Twitter @smac2020  





Wednesday, 8 March 2017

Using Granite DataSource objects to populate Experience Manager 6.2 Touch UI Select objects

You can create an Adobe Experience Manager (AEM) 6.2 Touch UI component that contains a drop-down control that can be used within the AEM Touch UI view. An AEM author selects drop-down values during design time. For example, an author can select a USA state value from an AEM component that displays address information. A drop-down control is populated by using a com.adobe.granite.ui.components.ds.DataSource object. For information, see DataSource.

Once you create a DataSource object, its data can be used to dynamically populate a drop-down control, as shown in this illustration.


This development article steps you through how to build an AEM 6.2 HTL component by using an AEM Maven Archetype 10 project. Then it discusses how to populate a drop-down field in the component's dialog using a DataSource object.



Adobe Digital Marketing Community

Join the Adobe Digital Marketing Community. Start by clicking this banner



I (Scott Macdonald) am a Senior Digital Marketing Community Manager at Adobe Systems with over 18 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 @AdobeMktgCare.

TwitterFollow me on Twitter @smac2020  

Tuesday, 7 March 2017

Integrating Adobe Experience Manager 6.2 with Activation - Dynamic Tag Management

You can integrate Adobe Experience Manager 6.2 (AEM) with Adobe Marketing Cloud Activation Core Services (formerly named Dynamic Tag Management). Activation is an Adobe Marketing Cloud Core Service that allows a digital marketer to manage Adobe and third-party tags used for tracking or other analytic purposes. It is done through client-side scripting that injects tag related code throughout the pages of the site.

You define rules in the Activation web client, as shown in this illustration.



The previous illustration shows an Activation rule named TestOnLoadChrome. This rule is basically an event handler that is fired when a web page page is opened. The condition is defined so that this rule fires only when the browser is Chrome. The logic that is defined is simply JavaScript that creates a pop-up message.

alert("Hello Chrome - this is a DM rule");

Once you define and approve Activation rules using the Activation web client, you can embed these rules into AEM web pages. When this rule is embedded into an AEM web page, this rule is fired when an AEM web page is opened in Chrome, as shown in this illustration.



To watch the video, click:





Adobe Digital Marketing Community

Join the Adobe Digital Marketing Community. Start by clicking this banner



I (Scott Macdonald) am a Senior Digital Marketing Community Manager at Adobe Systems with over 18 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 @AdobeMktgCare.

TwitterFollow me on Twitter @smac2020  

Friday, 3 March 2017

Programmatically manipulating Touch UI Fields

When developing Adobe Experience Manager custom components, you can programmatically interact with fields located in a Touch UI component dialog using an API. That is, you can control the behaviour of a field (such as a checkbox) using application logic. For example assume that you have a checkbox located within a component dialog and you want to have the ability to check a condition and then either check or uncheck the checkbox. Using JavaScript application logic, you can dynamically check the box so that the checkbox appears checked when an AEM author opens the dialog box, as shown in this illustration.


In the previous illustration notice the checkbox is set in the dialog. This dialog is set by using code, as discussed in this community article.

This development article steps you through how to build an AEM 6.2 HTL component by using an AEM Maven Archetype 10 project. Then it discusses how to dynamically check the checkbox using JavaScript application logic that involves creating a JS script in an AEM Clientlib and then coding. See the reference documentation here: https://docs.adobe.com/docs/en/aem/6-2/develop/ref/coral-ui/components/Coral.Checkbox.html#


Adobe Digital Marketing Community

Join the Adobe Digital Marketing Community. Start by clicking this banner



I (Scott Macdonald) am a Senior Digital Marketing Community Manager at Adobe Systems with over 18 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 @AdobeMktgCare.

TwitterFollow me on Twitter @smac2020  


Friday, 17 February 2017

Spring Editons of Ask the AEM Community Experts

Hello AEM Community. I wanted to let you know that we have lined up some very awesome sessions of Ask the AEM Community Experts for you:


  • In March we will focus on AEM and Analytics and how to work with these two products in AEM 6.2.
  • In April - we will do Responsive Layout with Lokesh. 
  • In May, we will focus on how to work with the Coral API when doing AEM development. 

This is your chance to attend and ask the community experts questions related to these subjects and see the use cases in action.

To watch the March Session, click: 

http://bit.ly/ATACE3282107



Adobe Digital Marketing Community

Join the Adobe Digital Marketing Community. Start by clicking this banner



I (Scott Macdonald) am a Senior Digital Marketing Community Manager at Adobe Systems with over 18 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 @AdobeMktgCare.

TwitterFollow me on Twitter @smac2020  



Wednesday, 15 February 2017

Creating a custom Experience Manager sling:resourceType for Touch UI

You can create a custom sling resource type that can be used in an Adobe Experience Manager (AEM) Touch UI component by using a JQuery plug-in. That is, if you want to define a field in a Touch UI component dialog that is not available with the available Granite API, you can define your own custom type. This is similiar to how you can define a custom xtype when working in the Classic UI. For information, see Creating your first Adobe Experience Manager custom xtype.

As an AEM developer working in the Touch UI, it is important to understand how to create a custom sling resource type to be able to define custom fields.  In the AEM community, there has been requests on how to develop a full color spectrum field for a Touch UI component dialog, as shown in this illustration.


To successfully get this color picker in an AEM Touch UI dialog, specify a path that references the JQuery plugin as a value of the sling:resourceType property in CRXDE Lite, as shown here.  




Adobe Digital Marketing Community

Join the Adobe Digital Marketing Community. Start by clicking this banner



I (Scott Macdonald) am a Senior Digital Marketing Community Manager at Adobe Systems with over 18 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 @AdobeMktgCare.

TwitterFollow me on Twitter @smac2020  



Tuesday, 7 February 2017

Creating an AEM HTL component that queries the JCR

You can create an Adobe Experience Manager (AEM) HTL (used to be known as Sightly) component that queries data located in the AEM Java Content Repository (JCR). To query data, you use an HTL Java class that extends the WCMUsePojo API and the javax.jcr.query.Query instance that belongs to the JCR Query API. This API supports both searching and querying operations. For example, assume that your AEM application tracks your organization’s customers. You can develop an AEM HTL component that is able to query the JCR to obtain a customer result set in which a digital marketer is interested.



Assume that you have customer data in the AEM JCR. 



Using an HTL component that extends WCMUsePojo, you can retrieve the JCR data and display it.



This development walks you through how to create an AEM HTL component that queries a result set from the JCR. To read this development article, click https://helpx.adobe.com/experience-manager/using/htl_jcr.html

Adobe Digital Marketing Community

Join the Adobe Digital Marketing Community. Start by clicking this banner



I (Scott Macdonald) am a Senior Digital Marketing Community Manager at Adobe Systems with over 18 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 @AdobeMktgCare.

TwitterFollow me on Twitter @smac2020