Monday, 11 December 2017

Creating a HTL Repeating Data Set 6.3 Component that uses Sling Models

You can create an Adobe Experience Manager 6.3 HTL component that displays repeating information that can be set by an AEM author during design time. For example, consider a typical on-line section of a sports site. Each section of the HTL component can list a story includes:
  • a digital asset (located in the Experience Manager DAM)
  • a heading
  • text
The following illustration shows an Experience Manager HTL component listing various sport stories about a youth football club.



The multi-field in this article has the following fields based on Granite/Coral data types:
  • A text field based on granite/ui/components/coral/foundation/form/textfield.
  • A path field based on granite/ui/components/coral/foundation/form/pathfield.
  • A textarea picker based on granite/ui/components/coral/foundation/form/textarea.

This development article steps you through how to build an AEM 6.3 HTL component by using an AEM Maven Archetype 11 project and a Sling Model. 

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

Wednesday, 6 December 2017

Congratulations Ratna Kumar Kotla - our 2017 AEM Community Member of the year

I want to extend my congratulations to Ratna Kumar Kotla - our 2017 AEM Community Member of the year winner. Ratna is a very involved AEM Community member and has helped countless AEM Developers. He has contributed code used for use in HELPX articles, answered many AEM Forum questions, and has tested most of our 2017 HELPX articles to make sure they work.

This year, we are very pleased to award Ratna with a laptop computer.


From all of the Adobe Experience Cloud Community team - we want to congratulate you!

Read Ratna's Journey of becoming a top  community member here


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


Sunday, 3 December 2017

Creating a Granite/Coral Multi field HTL component for Adobe Experience Manager

You can create an Adobe Experience Manager (AEM) 6.3 Touch UI component that uses a Granite/Coral multi-field. That is, you can use a Granite/Coral multi-field data type to build a dialog that lets an author enter information into a multi-field control in the component's dialog, as shown in this illustration.


A Granite multi-field is based on granite/ui/components/foundation/form/multifield.  To learn how to work with a Granite multi-field, see http://scottsdigitalcommunity.blogspot.ca/2017/08/creating-aem-html-template-language-63.html

A Granite/Coral multi-field is based on  granite/ui/components/coral/foundation/form/multifield. There are several advantages to working with  Granite/Coral multi-field. For one thing, you do not need to write a JS script or use the ACS-Commons package.

However, there are also some differences too. One important difference to understand is how the data is stored in the JCR. By default, Granite/Coral multi-field data is stored as child nodes, as shown in the illustration. Notice that each multi-field is a separate node, as shown here. 


This changes the way you read the multi-field data when using Java business logic. In this example, item0 represents the first multi-field and item1 represents the second field. The properties of these nodes represents the values that the author entered into the dialog. 

You can develop Java business logic in a WCMUsePojo class to read the dialog values and then display the data in the HTL component. This is covered in this development article. 


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, 21 November 2017

Creating an Experience Manager 6.3 HTL Component that displays data from a SOAP Web Service

You can create an Adobe Experience Manager (AEM) 6.3 HTML Template Language (HTL) component that displays data retrieved from a third-party web service. An HTL component can dynamically display a different data set based upon the return value of SOAP web service. For example, assume you want to display cities located in a Country. Using a HTL component dialog, you can specify the Country, such as the United States, and the number of cities to return. A web service call is made from the Java part of the HTL component and the result set is displayed in the HTL component, as shown in the following illustration.


The Country and the number of cities to return are specified by the HTL component dialog, as shown here. 



This article shows you how to work with Sling Models and an AEM 6.3 HTL component to invoke a third-party SOAP based web service. To read this development article - click: 


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, 15 November 2017

Creating a FavIcon for an Adobe Experience Manager 6.3 Site

You can create a Favicon for an Adobe Experience Manager site. A Favicon is typically an icon associated with a specific site and appears in the web browser tab. For more information, see  Favicon.

If a site does not have a Favicon, the tab in the browser does not display an image, as shown in this illustration.


In contrast, when a site has a Favicon, it appears in the browser tab, as shown here.


To add a Favicon to an Experience Manager site, there are several steps that you must perform. This article covers these steps. 




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, 8 November 2017

November 2017 Session of Ask the AEM Community Experts

Date:

Tuesday, November 28, 2017
11:00 AM EST to 12:00 PM
https://communities.a­dobeconnect.com/aemte­ch/

Speaker:
Bertrand de Coatpont

Topic:
More enterprises are using online community experiences, to build upon their brands. They provide a venue where community members can share and learn with their peers.In this Ask the Expert session you will learn how to set up a community site in hours rather than weeks,via a wizard-driven templated approach to cover a variety of initial use cases. AEM Communities also provides the ability to further customize these new community sites via WCM Sites capability. Join us to learn how to leverage the powerful authoring interface to build a vibrant customer community and learn the tools to keep your fan base engaged long after launch.

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

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, 1 November 2017

Exporting Adobe Experience Manager Data Using Sling Model Exporters

You can create an Experience Manager Sling Model Experter to export Experience Manager data as JSON. You can invoke a Sling Model Exporter by using a HTTP Restful call and get back data. For example, assume that you want to get details of an image component located in the We Retail site located here:

http://localhost:4502/editor.html/content/we-retail/us/en/experience.html 

The following illustration shows the image component.


You can use a Sling Model Exporter to get component details that are returned within JSON, as shown in the following illustration.  


To invoke the Sling Model Exporter, you can use this URL:

http://localhost:4502/content/we-retail/us/en/experience/jcr:content/root/responsivegrid/heroimage.model.tidy.json

The data is retrieved from the AEM JCR located here:

/content/we-retail/us/en/experience/jcr:content/root/responsivegrid/heroimage

The following illustration shows this node.


You can create a Sling Model Exporter by using Java APIs located in the org.apache.sling.models.annotations package. To read this development article, click:      https://helpx.adobe.com/experience-manager/using/aem63_sling_model_exporter.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, 24 October 2017

Creating a Tab layout component for Adobe Experience Manager

You can create an Adobe Experience Manager HTL component that displays data within a tab layout style. By developing a tab layout component, you can organize your data under tabs. That is, a web site visitor can click on a tab on the web page to see different data set. Notice the following illustration displays an AEM component with four tab headings: Home Page, Career Section, Contact Us, and About US.

This development shows use of the JS USE API. To read this development article, click https://helpx.adobe.com/experience-manager/using/htl_tab_component.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, 10 October 2017

Creating a Mail List Component for the Experience Manager Toy Store Site

You can create Adobe Experience Manager custom components that function as Mail Sign Up  components. An Mail Sign Up component lets web site visitors sign up to a mailing list that typically includes emailing out newsletters. In this article, the Mail List component is added to the Experience Manager Toy Store site.


When the user fills in the fields and clicks the Submit button, the data is persisted in a relational database by using a DataSourcePool


This development article discusses how to inject a DataSourcePool service into an AEM service to which an HTL component submits data. By injecting a DataSourcePool, your service can connect to a relational database such as MySQL.  

This article shows use of the following AEM technologies: 

1. Build a HTL component that can submit data to a back-end service. 
2. Use Sling Models with an HTL component. 
3. How to inject a DataSourcePool into an AEM 6.3 service. 
4. How to use the org.osgi.service.component.annotations.Component package to write an AEM Servlet.



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, 5 October 2017

Ask the AEM Community Experts for October

Sign up for this month's Ask the AEM Community Experts.

Here are the Details:

Date
Tuesday, October 31, 2017
11:00 AM to 12:00 AM

Topic:
The ability to create custom components is a very important use case when working with Adobe Experience Manager. The preferred language to create custom component is HTL. This session will present a Deep Dive when working with HTL and will cover such topics as working with Sling Models, the Java USE API, how to deal with collections to build rich custom components meant for Experience Manager web sites.

Presenters:
Shivani Garg, AEM Developer
Saurabh Gupta, AEM Developer




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, 28 September 2017

Using an WCMUsePojo class to populate an Experience Manager Touch UI Select Field

You can create an Adobe Experience Manager (AEM) 6.3 Touch UI component that contains a drop-down control that can be used within the AEM Touch UI view. The data type of the drop-down field is /libs/granite/ui/components/foundation/form/select.

An AEM author selects drop-down values during design time. For example, an author can select a country from the drop-down field, as shown in this illustration.



You can populate a drop-down field by using a com.adobe.granite.ui.components.ds.DataSource object. For information, see DataSource.

Furthermore, you can create this object in a Java WCMUsePojo class and use HTL to invoke it. That is, get the values defined in the DataSource object. Finally you can bind the resource type of the HTL code to the dialog node that represents the drop-down field.

This development article steps your through how to use a DataSource object, a Java Map collection object, and HTL to populate a drop-down field in an AEM 6.3 component.

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





Wednesday, 27 September 2017

Setting Maximum items in an Experience Manager 6.3 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.


In the previous illustration, notice that the Page Name and Path controls are used within a multifield control. When an author clicks the Add Field button, a new area that contains a Page Name, Path and Flag control appears. This lets an author dynamically enter as many values as required into the dialog.

Sometimes you may have a requirement to set a limit of the number of multifield items that an author can set. When the author attempts to go over the limit, a message appears, as shown in this illustration. 


This development article discusses how to use script to set the maximum number of multifield items an AEM author can set in a Touch UI component dialog. To read this development article, click https://helpx.adobe.com/experience-manager/using/multifield_aem63_setlimit.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




Wednesday, 20 September 2017

Creating Personal Experiences using Experience Manager and Target

When working with Adobe Experience Manager and Adobe Target to create personalization use cases, you can use Experience fragments to change the content that is displayed. Experience Fragments are a new feature introduced in AEM 6.3. They allow 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 audience. For example, some users may see this content.


While others see this content. 


Using Adobe Target, you can setup personalization use cases. This article steps you through how to setup personalization use cases using Experience Fragments, Experience Manager, and Adobe Target. 



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, 13 September 2017

Ask the AEM Community Experts for Sept 2017

September 2017 – Ask the AEM Community Expert Session


Topic: Best practices for working with ContextHub in Adobe Experience Manager

Speaker: Varun Mitra, Training Instructor/Developer, Worldwide Field Enablement Adobe

ContextHub is a framework for storing, manipulating, and presenting context data. The client-side JavaScript API enables you to access the data for personalizing content. Join Varun Mitra, on Tuesday September 26th at 8:00 AM PDT for an in depth look at best practices for working with ContextHub , and how to use a data layer in an AEM Sites.

To watch this session -- click:


http://bit.ly/917AtACE


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