Tuesday, 20 December 2016

Thank you AEM Community members

As 2016 draws to a close (Community team will be off from DEC 22-Jan 3) - I want to thank all AEM community members for your great community participation in our internal AEM Community and the external ones like all the FB groups.
I would like to thank members like Lo Ki and Ratna Kumar Kotla and many others for helping drive AEM HELPX content and Ask the AEM Commuity Experts.
I am very happy to see what AEM community members like Ratna Kumar Kotla did with his AEM community rewards. He was able to put it towards this awesome device.





Lo Ki won AEM community of the year and will be getting an awesome award as well.
I am looking forward to 2017 and continue working with AEM Community members around the world, In the mean time - i encourage everyone to sign up for the immerse contest --



Join the Experience League

To become an Experience Business, you need more than just great tools and online help. You need a partner. Experience League is a new enablement program with guided learning to help you get the most out of Adobe Experience Cloud. With training materials, one-to-one expert support, and a thriving community of fellow professionals, Experience League is a comprehensive program designed to help you become your best.

Join the Adobe Experience League by clicking this banner.




I (Scott Macdonald) am a Senior Experience League 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 AEM or other end to end articles like this, then leave a comment and let me know what content you would like to see.


Twitter: Follow the Digital Marketing Customer Care team on Twitter @AdobeExpCare.


Tuesday, 13 December 2016

Creating Adobe Experience Manager HTL Components that send Email messages based on templates

You can create an Adobe Experience Manager (AEM) HTML Template Language (HTL) component that lets web site visitors populate a form and submit the data. The OSGi bundle contains a Sling  Servlet that sends an email message to email recipients. The email message is based on an AEM email template that is located in the AEM JCR repository.

An email template is simply a text file located in the AEM JCR. For example, consider the following template.

<html> 

<body>
<p> 
<b>Time:</b> ${time}
Forum URL: ${host.prefix}${forum.url}
</p>
A new reply was posted by ${modifiedBy.fullname} for CQ Forum topic "${topic.subject}".
-------------------------------------------------------------------------------------
${post.message} 
-------------------------------------------------------------------------------------
This is an automatically generated message. Please do not reply. 
Please follow this link to view all replies to this topic.
${host.prefix}${topic.url}
</body>
</html>


Email templates are located at the following JCR location: 

/etc/notification/email


An email template is a JCR node of type nt:file. Each node has a text file as shown in the following illustration. 



This development article discusses how to programmatically send an AEM email message that is based on a template. Futhermore, it also discusses how to populate the variables in the template with values. To send email messages that are based on AEM email templates, you use the MessageGatewayService API.  


Video



Join the Experience League

To become an Experience Business, you need more than just great tools and online help. You need a partner. Experience League is a new enablement program with guided learning to help you get the most out of Adobe Experience Cloud. With training materials, one-to-one expert support, and a thriving community of fellow professionals, Experience League is a comprehensive program designed to help you become your best.

Join the Adobe Experience League by clicking this banner.




I (Scott Macdonald) am a Senior Experience League 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 AEM or other end to end articles like this, then leave a comment and let me know what content you would like to see.


Twitter: Follow the Digital Marketing Customer Care team on Twitter @AdobeExpCare.


Friday, 4 November 2016

Ask the AEM Community Expert Nov Session: Best Practices for using Experience Manager and Adobe Campaign

Join Varun Mitra, Tech Training Instructor and Developer, Adobe Worldwide Field Enablement  as he provides information about using Adobe Experience Manager and Adobe Campaign together for digital marketing solutions. 

To watch this session - click:

https://communities.adobeconnect.com/p8kf4kcd4w6/?launcher=false&fcsContent=true&pbMode=normal&proto=true



Join the Experience League

To become an Experience Business, you need more than just great tools and online help. You need a partner. Experience League is a new enablement program with guided learning to help you get the most out of Adobe Experience Cloud. With training materials, one-to-one expert support, and a thriving community of fellow professionals, Experience League is a comprehensive program designed to help you become your best.

Join the Adobe Experience League by clicking this banner.




I (Scott Macdonald) am a Senior Experience League 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 AEM or other end to end articles like this, then leave a comment and let me know what content you would like to see.


Twitter: Follow the Digital Marketing Customer Care team on Twitter @AdobeExpCare.


Tuesday, 1 November 2016

Extending the Multi Site Manager using the Experience Manager MSM API

You can use the Adobe Experience Manager Muli Site Manager (MSM) API to create a custom service that is invoked when you perform a MSM operation such as create a LiveCopy page. Multi Site Manager  enables you to easily manage multiple web sites that share common content. MSM lets you define relations between the sites so that content changes in one site are automatically replicated in other sites.

For example, web sites are often provided in multiple languages for international audiences. When the number of sites in the same language is low (three to five), a manual process for syncronizing content across sites is possible. However, as soon as the number of sites grows or when multiple languages are involved, it becomes more efficient to automate the process.

A service that works with Experience Manager MSM functionality is implemented as an OSGi bundle and uses APIs located in the  com.day.cq.wcm.api package.

Note: For information about MSM functionality, see Multi-Site Management.

The main MSM API objects interact as follows:

Blueprint
A Blueprint defines the pages from which a live copy can inherit content. The use of a blueprint is optional but is required to push modifications to live copies that are inheriting from this blueprint or to define the default rollout configuration for the live copy that is in relation with the blueprint.

LiveCopy
A LiveCopy is the configuration of the relationship (LiveRelationship) between a page and its blueprint page. Use the LiveCopy class to access to the path of the page, the path of the blueprint page, the Rollout Configs, and whether child pages are also included in the LiveCopy.

LiveRelationship
The LiveRelationship represents the relationship between a resource and a blueprint. LiveRelationship objects provide access to the Rollout Configs, LiveCopy, and LiveStatus objects of the relationship. It also provides access to the paths of the target and source pages.

For example, a Live Copy is created in /content/copy from the blueprint at /content/geometrixx. The resources /content/geometrixx/en/jcr:content and /content/copy/en/jcr:content form a relationship.

LiveStatus
LiveStatus objects provide access to the runtime status of a LiveRelationship. Use to query the synchronization status of a Live Copy.

LiveAction
A LiveAction is an action that is executed on each resource that is involved in the rollout.
LiveActionFactory
Creates LiveAction objects given a LiveAction configuration. Configurations are stored as resources in the repository.

This development article steps you through how to use the MSM API. To read this article, click https://helpx.adobe.com/experience-manager/using/Extending_MSM.html.



Join the Experience League

To become an Experience Business, you need more than just great tools and online help. You need a partner. Experience League is a new enablement program with guided learning to help you get the most out of Adobe Experience Cloud. With training materials, one-to-one expert support, and a thriving community of fellow professionals, Experience League is a comprehensive program designed to help you become your best.

Join the Adobe Experience League by clicking this banner.




I (Scott Macdonald) am a Senior Experience League 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 AEM or other end to end articles like this, then leave a comment and let me know what content you would like to see.


Twitter: Follow the Digital Marketing Customer Care team on Twitter @AdobeExpCare.


Thursday, 13 October 2016

Creating an Adobe Experience Manager RSS component using JQuery

You can create an Adobe Experience Manager (AEM) component that is able to retrieve data from a RSS feed and display data in the component's view. A RSS uses standard web feed styles to publish data such as:

  • blog entries
  • news headlines
  • audio
  • video

When developing a custom AEM component, you can select a third-party library and use that library within AEM. This is a benefit of developing an AEM component as it offers you better flexiblity to address your business requirements. In this use case, the following third-party library is used:

http://jquery-plugins.net/FeedEK/FeedEk_demo.html

The following illustration shows the component created in this development article.


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

NOTE: To learn how to develop an AEM Headline component (another example of displaying RSS type data), see http://scottsdigitalcommunity.blogspot.com/2016/03/creating-aem-headline-component.html


Join the Experience League

To become an Experience Business, you need more than just great tools and online help. You need a partner. Experience League is a new enablement program with guided learning to help you get the most out of Adobe Experience Cloud. With training materials, one-to-one expert support, and a thriving community of fellow professionals, Experience League is a comprehensive program designed to help you become your best.

Join the Adobe Experience League by clicking this banner.




I (Scott Macdonald) am a Senior Experience League 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 AEM or other end to end articles like this, then leave a comment and let me know what content you would like to see.


Twitter: Follow the Digital Marketing Customer Care team on Twitter @AdobeExpCare.


Wednesday, 12 October 2016

Integrating Adobe Experience Manager and Adobe Campaign Standard to create Newletters

You can integrate Adobe Experience Manager and Campaign to create business solutions that require newsletters promoting a new product. For example, assume that you want to create an email campaign  to raise awareness of the product. Using AEM and Campaign, you can address this use case. You can create the news letter using AEM components such as text and image components.




This development article will walk you though how to integrate AEM and Campaign. To read this development artilce, click https://helpx.adobe.com/experience-manager/using/aem_campaign.html.

Join the Experience League

To become an Experience Business, you need more than just great tools and online help. You need a partner. Experience League is a new enablement program with guided learning to help you get the most out of Adobe Experience Cloud. With training materials, one-to-one expert support, and a thriving community of fellow professionals, Experience League is a comprehensive program designed to help you become your best.

Join the Adobe Experience League by clicking this banner.




I (Scott Macdonald) am a Senior Experience League 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 AEM or other end to end articles like this, then leave a comment and let me know what content you would like to see.


Twitter: Follow the Digital Marketing Customer Care team on Twitter @AdobeExpCare.


Tuesday, 4 October 2016

Creating Adobe Experience Manager Packages using a Java API

You can dynamically create an Adobe Experience Manager package by using a Java API. That is, you can create an OSGi bundle that contains code that builds an AEM package. Building a package using code lets build a package without having an AEM administrator build a package manually, For example, some use cases are to build packages every week automatically. Using the Java API, you can perform this use case, as shown in the following illustration.


This AEM client invokes a sling servlet that dynamically builds an AEM package. To read this AEM developer article, click https://helpx.adobe.com/experience-manager/using/dynamic_aem_packages.html.


Join the Experience League

To become an Experience Business, you need more than just great tools and online help. You need a partner. Experience League is a new enablement program with guided learning to help you get the most out of Adobe Experience Cloud. With training materials, one-to-one expert support, and a thriving community of fellow professionals, Experience League is a comprehensive program designed to help you become your best.

Join the Adobe Experience League by clicking this banner.




I (Scott Macdonald) am a Senior Experience League 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 AEM or other end to end articles like this, then leave a comment and let me know what content you would like to see.


Twitter: Follow the Digital Marketing Customer Care team on Twitter @AdobeExpCare.


Wednesday, 28 September 2016

Comparative Architecture Analysis of large scale Experience Manager Installations -- Oct Version of Ask the AEM Community Experts

This session of Ask the AEM Community Experts will share large scale architectures from the author's experiences with various companies like Cisco and Symantec and compare and contrast the architecture across: Infrastructure Architecture Scaling
Ecommerce integrations and migration approach from legacy into Adobe Experience Manager, Digital Marketing Cloud Integrations such as personalization, analytics, and DMP.


Presented by: Anshul Chhabra with Symantec, and Anil Kalbag with Cisco Systems.

To watch this session, click:

https://communities.adobeconnect.com/p7c405qpiwy/?launcher=false&fcsContent=true&pbMode=normal


Join the Experience League

To become an Experience Business, you need more than just great tools and online help. You need a partner. Experience League is a new enablement program with guided learning to help you get the most out of Adobe Experience Cloud. With training materials, one-to-one expert support, and a thriving community of fellow professionals, Experience League is a comprehensive program designed to help you become your best.

Join the Adobe Experience League by clicking this banner.




I (Scott Macdonald) am a Senior Experience League 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 AEM or other end to end articles like this, then leave a comment and let me know what content you would like to see.


Twitter: Follow the Digital Marketing Customer Care team on Twitter @AdobeExpCare.


Tuesday, 27 September 2016

Adding Google reCAPTCHA to an AEM web site

You can use Google reCAPTCHA  to your AEM site to protect your website from automated script attacks while letting real users pass through with ease. The reCAPTCHA library is a free service that protects your website from spam and abuse. By using reCAPTCHA, you can improve the security of your AEM site.



As shown in the previous illustration, when using reCAPTCHA, a user is prompted to enter a code into an AEM page. If the code is valid, a message appears.  If the user enters an invalid code, a message appears letting the user know an invalid code was entered.



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

To watch the video, see:




Join the Experience League

To become an Experience Business, you need more than just great tools and online help. You need a partner. Experience League is a new enablement program with guided learning to help you get the most out of Adobe Experience Cloud. With training materials, one-to-one expert support, and a thriving community of fellow professionals, Experience League is a comprehensive program designed to help you become your best.

Join the Adobe Experience League by clicking this banner.




I (Scott Macdonald) am a Senior Experience League 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 AEM or other end to end articles like this, then leave a comment and let me know what content you would like to see.


Twitter: Follow the Digital Marketing Customer Care team on Twitter @AdobeExpCare.


Monday, 19 September 2016

Integrating SOLR with Adobe Experience Manager

You can integrate SOLR with Adobe Experience Manager to improve searching. Solr is the popular, blazing-fast, open source enterprise search platform built on Apache Lucene. Solr is highly reliable, scalable and fault tolerant, providing distributed indexing, replication and load-balanced querying, automated fail-over and recovery, centralized configuration and more. Solr powers the search and navigation features of many of the world's largest internet sites. For more information, see http://lucene.apache.org/solr/.

The following illustration shows the SOLR client.


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

To watch the video - click:




Join the Experience League

To become an Experience Business, you need more than just great tools and online help. You need a partner. Experience League is a new enablement program with guided learning to help you get the most out of Adobe Experience Cloud. With training materials, one-to-one expert support, and a thriving community of fellow professionals, Experience League is a comprehensive program designed to help you become your best.

Join the Adobe Experience League by clicking this banner.




I (Scott Macdonald) am a Senior Experience League 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 AEM or other end to end articles like this, then leave a comment and let me know what content you would like to see.


Twitter: Follow the Digital Marketing Customer Care team on Twitter @AdobeExpCare.


Tuesday, 13 September 2016

Integrating Jasper Reports into Adobe Experience Manager

You can create a custom Jasper Reports service for Adobe Experience Manager (AEM) that builds dynamic reports.  A benefit of creating a custom service is you can develop it to meet your business requirements and integrate the reporting service to use data queried from an AEM service. For example, you can create an AEM reporting solution that queries enterprise data from a database that a digital marketer is interested in viewing and produces a PDF report, as shown in the following illustration.



To build an AEM component that is able to produce PDF reports using Jasper Reports, you need to use the Jasper Reports API http://jasperreports.sourceforge.net/api/.


The custom AEM Service invokes the operation of the OSGi bundle that uses the Jasper Reports API. Then the service persists the Jasper Report in the AEM DAM by using the AssetManager API, as shown in this illustration. 




NOTE; For information about Jasper Reports, see http://community.jaspersoft.com/project/jasperreports-library


Join the Experience League

To become an Experience Business, you need more than just great tools and online help. You need a partner. Experience League is a new enablement program with guided learning to help you get the most out of Adobe Experience Cloud. With training materials, one-to-one expert support, and a thriving community of fellow professionals, Experience League is a comprehensive program designed to help you become your best.

Join the Adobe Experience League by clicking this banner.




I (Scott Macdonald) am a Senior Experience League 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 AEM or other end to end articles like this, then leave a comment and let me know what content you would like to see.


Twitter: Follow the Digital Marketing Customer Care team on Twitter @AdobeExpCare.


Friday, 9 September 2016

Check out the new AEM Community You Tube Channel

Hey AEM Community, you may have noticed that we are starting to convert all of our AEM HELPX How To articles to videos. See:

https://www.youtube.com/channel/UCDtISU9W-zzo1PIU3pGHUbA/videos

 This is done for several reasons:
  1. We got feedback that community members want to see the AEM concepts in video. For example - they want to see the code run, component work, and so on.  As one community member stated - "By watching the videos, I get the concepts faster".
  2. This proves that the code in the articles work and by following the article, you should get the same results. 
  3. Some people prefer consuming information in video format. 

Now our objective is to build up the largest collection of How To AEM videos on the internet. As such, we like to get your Community AEM videos too. If you want to contribute videos on AEM/How To AEM videos on the AEM Community Channel, send me and my associate - Kautuk - an email at scottm@adobe.com and ksahni@adobe.com.

Also - for all community members reading this, please subscribe to the new channel. 


Join the Experience League

To become an Experience Business, you need more than just great tools and online help. You need a partner. Experience League is a new enablement program with guided learning to help you get the most out of Adobe Experience Cloud. With training materials, one-to-one expert support, and a thriving community of fellow professionals, Experience League is a comprehensive program designed to help you become your best.

Join the Adobe Experience League by clicking this banner.




I (Scott Macdonald) am a Senior Experience League 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 AEM or other end to end articles like this, then leave a comment and let me know what content you would like to see.


Twitter: Follow the Digital Marketing Customer Care team on Twitter @AdobeExpCare.


Creating an AEM 6.2 HTML Template Language component that uses a Multi-Field dialog

You can create an Adobe Experience Manager (AEM) 6.2 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 the development for AEM 6.2 - click https://helpx.adobe.com/experience-manager/using/htl_multifield62.html.

To watch the video - click:



Join the Experience League

To become an Experience Business, you need more than just great tools and online help. You need a partner. Experience League is a new enablement program with guided learning to help you get the most out of Adobe Experience Cloud. With training materials, one-to-one expert support, and a thriving community of fellow professionals, Experience League is a comprehensive program designed to help you become your best.

Join the Adobe Experience League by clicking this banner.




I (Scott Macdonald) am a Senior Experience League 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 AEM or other end to end articles like this, then leave a comment and let me know what content you would like to see.


Twitter: Follow the Digital Marketing Customer Care team on Twitter @AdobeExpCare.


Tuesday, 6 September 2016

Creating an AEM HTML Template Language Component that displays data from a Restful Web Service

You can create an Adobe Experience Manager (AEM) HTML Template Language (HTL)   component that displays data retrieved from a third-party Restful web service. For example, assume you want to display data based on the distance between two cities on your web site. In this situation, you can develop an AEM HTL component that displays data between two cities, as shown in this illustration.


In this use case, the HTL component contains a class that extends WCMUsePojo. This class uses Java application logic to send a HTTP Request to a third-party Restful web service. The web service returns the following data in JSON format. 

 {  
   "destination_addresses":[  
      "Dallas, TX, USA"
   ],
   "origin_addresses":[  
      "Ottawa, ON, Canada"
   ],
   "rows":[  
      {  
         "elements":[  
            {  
               "distance":{  
                  "text":"2,714 km",
                  "value":2713758
               },
               "duration":{  
                  "text":"1 day 1 hour",
                  "value":89044
               },
               "status":"OK"
            }
         ]
      }
   ],
   "status":"OK"
}

The HTL component uses the Java library GSON to parse the JSON data and then displays the data in the client so it appears in the AEM web page. 




Join the Experience League

To become an Experience Business, you need more than just great tools and online help. You need a partner. Experience League is a new enablement program with guided learning to help you get the most out of Adobe Experience Cloud. With training materials, one-to-one expert support, and a thriving community of fellow professionals, Experience League is a comprehensive program designed to help you become your best.

Join the Adobe Experience League by clicking this banner.




I (Scott Macdonald) am a Senior Experience League 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 AEM or other end to end articles like this, then leave a comment and let me know what content you would like to see.


Twitter: Follow the Digital Marketing Customer Care team on Twitter @AdobeExpCare.


Friday, 2 September 2016

Ask the AEM Community Expert Session: Best Practices for Experience Manager and AEM Assets

RSVP  now to Join and Abhishek Dwevedi,Tech Training Instructor and Developer, Adobe Worldwide Field Enablement for a discussion about using AEM Assets. By joining this session, you will gain a deeper understanding of best practices for using assets in Experience Manager.

Speakers:
Abhishek Dwevedi, Scott Macdonnald

Sep 20, 2016 11:00am to 12:00pm (Eastern Daylight Time)

To view this session, click here.

Join the Experience League

To become an Experience Business, you need more than just great tools and online help. You need a partner. Experience League is a new enablement program with guided learning to help you get the most out of Adobe Experience Cloud. With training materials, one-to-one expert support, and a thriving community of fellow professionals, Experience League is a comprehensive program designed to help you become your best.

Join the Adobe Experience League by clicking this banner.




I (Scott Macdonald) am a Senior Experience League 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 AEM or other end to end articles like this, then leave a comment and let me know what content you would like to see.


Twitter: Follow the Digital Marketing Customer Care team on Twitter @AdobeExpCare.


Monday, 22 August 2016

Creating custom Adobe Experience Manager 6.2 ecommerce providers

You can use the Adobe Experience Manager (AEM) 6.2 API to create a custom eCommerce provider. A custom eCommerce provider lets you create eCommerce components such as an AEM shopping cart component to use  within an AEM online retail site and provides functionality such as:

  • provides an overview of selected items
  • links to the individual product pages
  • updates to quantity
  • removal of the item

A shopping cart component lets visitors perform tasks such as purchase items, as shown in the following illustration.


This development article walks you through how to use the AEM eCommerce API to build a custom provider. To read this development article, click https://helpx.adobe.com/experience-manager/using/ecommerce62.html.

Join the Experience League

To become an Experience Business, you need more than just great tools and online help. You need a partner. Experience League is a new enablement program with guided learning to help you get the most out of Adobe Experience Cloud. With training materials, one-to-one expert support, and a thriving community of fellow professionals, Experience League is a comprehensive program designed to help you become your best.

Join the Adobe Experience League by clicking this banner.




I (Scott Macdonald) am a Senior Experience League 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 AEM or other end to end articles like this, then leave a comment and let me know what content you would like to see.


Twitter: Follow the Digital Marketing Customer Care team on Twitter @AdobeExpCare.