Monday, 18 July 2016

Retrieving AEM LiveCopy information using the MSM API

You can use the Adobe Experience Manager Multi-Site Manager (MSM) API to retrieve information about LiveCopys. AEM MSM functionality lets you define relations between AEM sites and also lets you define to what degree re-use or control is exerted on the different sites. Using MSM, once configure MSM, you can update multi site with little effort.

This article walks you through how to use the AEM MSM API to retrieve LiveRelationship information. A LiveRelationship defines a live relationship of a synced resource between its blueprint and livecopy. For example, if a site (blueprint) "/content/geometrixx" has a livecopy in "/content/copy", then the resource of "/content/geometrixx/en/jcr:content" and "/content/copy/en/jcr:content" form a relationship. See Interface LiveRelationship.


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

Using an OSGi bundle that contains these APIs, you can retrieve LiveRelationship information. In this development article, the LiveRelationship values are written to the Adobe CQ log file.

1.07.2016 13:08:26.768 *INFO* [0:0:0:0:0:0:0:1 [1469120906760] GET /content/MsmAPI.html HTTP/1.1] foo.service.aem.msm.MsmExampleImpl **** Inside before try LiveCopy Status MSM Example Impl class
21.07.2016 13:08:26.768 *INFO* [0:0:0:0:0:0:0:1 [1469120906760] GET /content/MsmAPI.html HTTP/1.1] foo.service.aem.msm.MsmExampleImpl Inside LiveCopy Status MSM Example Impl class
21.07.2016 13:08:26.792 *INFO* [0:0:0:0:0:0:0:1 [1469120906760] GET /content/MsmAPI.html HTTP/1.1] foo.service.aem.msm.MsmExampleImpl Key is: msm:isTargetFromDifferentTree
21.07.2016 13:08:26.792 *INFO* [0:0:0:0:0:0:0:1 [1469120906760] GET /content/MsmAPI.html HTTP/1.1] foo.service.aem.msm.MsmExampleImpl Value is: false
21.07.2016 13:08:26.792 *INFO* [0:0:0:0:0:0:0:1 [1469120906760] GET /content/MsmAPI.html HTTP/1.1] foo.service.aem.msm.MsmExampleImpl Key is: msm:isTargetManuallyCreated
21.07.2016 13:08:26.792 *INFO* [0:0:0:0:0:0:0:1 [1469120906760] GET /content/MsmAPI.html HTTP/1.1] foo.service.aem.msm.MsmExampleImpl Value is: false
21.07.2016 13:08:26.792 *INFO* [0:0:0:0:0:0:0:1 [1469120906760] GET /content/MsmAPI.html HTTP/1.1] foo.service.aem.msm.MsmExampleImpl Key is: msm:isTargetCancelledChild

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

Monday, 20 June 2016

Creating an AEM Sightly component that uses JavaScript

You can create an Adobe Experience Manager (AEM) Sightly component that uses JavaScript. By using JavaScript with your Sightly components, you can create more dynamic Sightly components that respond to web-based events. For example, you can change the background color of an AEM web page, as shown in the following illustration. 




This article walks you building an AEM Sightly component that uses JavaScript. To read this development article, click  https://helpx.adobe.com/experience-manager/using/sightly_js.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

Thursday, 16 June 2016

Preparing for AEM Developer Certification Exam -- July 2016 Session of Ask the AEM Communtiy Experts

Join Scott Macdonald and  James Talbot for a session on preparing for the AEM 6 Developer Certification Exam. This session will discuss how to prepare for the developer exam and cover areas that a developer whom is writing the exam is expected to know. If you are planning on writing the AEM Dev Exam, this is a session you want to attend.




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



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 June 2016

Working with Sling Models in Adobe Experience Manager 6.2

You can work with Sling Models when developing with Adobe Experience Manager (AEM) 6.2. That is, when developing an AEM 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 SlingModel62.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;
    }

}

This class can be mapped to nodes in the AEM JCR. You can create an AEM application that uses Sling Mapping to  display node properties.



This development article walks you through how to use Sling Models in AEM 6.2. To read this development article, click https://helpx.adobe.com/experience-manager/using/slingmodel_62.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, 14 June 2016

Building Adobe Experience Manager 6.2 Mobile Applications

Adobe Experience Manager (AEM) Mobile provides a complete toolset to rapidly build, manage, and deliver mobile apps that integrate with the Adobe Marketing Cloud so you can measure and optimize app performance. Leverage existing content from multiple sources including the easy-to-use authoring environment of AEM and deliver updates without requiring app rebuilds or resubmissions. Integrate with third-party APIs to extend functionality and connect to critical business systems. Use built-in messaging and analytics to communicate with your audience and track user activity and engagement.

Use AEM Mobile to quickly import an existing mobile application in order to begin instantly managing its content. Learn the techniques that will allow non-technical users to begin authoring content for an existing mobile application and prepare for updates to be published. Take advantage of existing content in AEM that can be re-used in a mobile delivery channel and learn the simple steps to integrate your mobile apps with the Marketing Cloud. Master the use of the AEM Verify tool throughout the entire app development process.

In this development article, you learn how to use AEM and PhoneGap to quickly and easily build your own mobile application, how to test it in simulators for a range of devices, and how to track app usage.





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

Wednesday, 8 June 2016

Developing a Sightly Component that searches for AEM Content Tags

You can create a custom Adobe Experience Manager (AEM) Sightly component that searches for AEM content tags. Tags are a quick and easy method of classifying content within your website. In technical terms, a tag is a piece of metadata assigned to a content node within AEM (usually a page).  A custom tag library uses an OSGi component. Within the OSGi component, the AEM Tag Manager is used to search for the content tags, For information about the API, see TagManager API.

After you develop the AEM Sightly component, you can invoke its actions from an AEM component. For example, the component can display information about a content tag, as shown in the following illustration.


This article steps you through how to build this Sightly component that searches for tags. To read this development article, click https://helpx.adobe.com/experience-manager/using/tagmanager-api-sightly.html.

NOTE: The class com.adobe.cq.sightly.WCMUse is depreciated. This article shows use of WCMUsePojo.

NOTE: This article shows you how to build the Tag Search component using Sightly. For information on how to build this Tag Search component using JSP, see http://scottsdigitalcommunity.blogspot.ca/2016/05/using-custom-tag-libraries-to-search.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

Monday, 6 June 2016

Join Ask the AEM Community Experts session for June

RSVP to join Scott MacDonald and Steve Monroe for a discussion about AEM Forms Document Services. By joining this session you will:

  • understand what OSGi Services are available for creating, assembling, and securing PDF Documents
  • see examples of how to apply these services to your Adobe Experience Manager projects
  • ask Steve, an AEM Senior Manager, questions related to AEM Forms Document Services
Sign up by clicking 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