Wednesday, 18 December 2013

Developing AEM OSGi bundles that use Jackrabbit UserManager APIs

You can develop an Adobe Experience Manager (AEM) OSGi bundle that uses Jackrabbit UserManager APIs to perform AEM user operations. This API provides access to both AEM users and groups and is located in the
org.apache.jackrabbit.api.security.user Java package.

Using an OSGi bundle that contains these APIs, you can retrieve AEM user identifier values and perform a task using these values. In this development article, the retrieved AEM user identifier values are written to the Adobe CQ log file.

7.12.2013 17:25:09.689 *INFO* [0:0:0:0:0:0:0:1 [1387319109155] GET /content/Blog.html HTTP/1.1] com.aem.users.SearchUsersImpl Retrieved USER admin
17.12.2013 17:25:09.689 *INFO* [0:0:0:0:0:0:0:1 [1387319109155] GET /content/Blog.html HTTP/1.1] com.aem.users.SearchUsersImpl Retrieved USER replication-receiver
17.12.2013 17:25:09.708 *INFO* [0:0:0:0:0:0:0:1 [1387319109155] GET /content/Blog.html HTTP/1.1] com.aem.users.SearchUsersImpl Retrieved USER anonymous
17.12.2013 17:25:09.709 *INFO* [0:0:0:0:0:0:0:1 [1387319109155] GET /content/Blog.html HTTP/1.1] com.aem.users.SearchUsersImpl Retrieved USER zachary.w.mitchell@spambob.com


To read this development article, click  http://helpx.adobe.com/experience-manager/using/developing-aem-osgi-bundles-jackrabbit.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


Friday, 13 December 2013

Adobe Experience Manager Community in 2014

As 2013 closes out, it's time to reflect back on the year and what the AEM community team did in 2013. It was a very busy year and we performed many tasks. We launched the new Digital Marketing support communities, created task-based AEM developer articles,  and engaged with the community in different social channels such as Twitter, Facebook groups and Linked in.

Looking ahead to 2014, we have a lot of content planned out. We will be delivering a lot  more AEM 'How To' articles based on your feedback. One area where we are going to spend time on is XType articles. We have heard the community in its request for more how to articles that discuss how to work with XType data types to create advanced AEM components.

NOTE: If there is a certain topic that  you would like to see -- please leave a comment and us know what you want. 

Another exciting thing coming up in 2014 is the annual Digital Marketing summit:



This is an excellent chance to come out, meet with the Digital Marketing community, and learn more about Adobe Digital Marketing.

Another big event in 2014 is the release of the next major version of Adobe Experience Manager. More on that as the date gets closer.

Join the Adobe Experience Cloud Community 

Join the Adobe Experience Cloud Community by clicking this banner




I (Scott Macdonald) am a Senior Digital Marketing Community Manager at Adobe Systems with 20 years in the high tech industry. I am also a programmer with knowledge in Java, JavaScript, C#,C++, HTML, XML and ActionScript. If  you would like to see more CQ or other Adobe Digital Marketing end to end articles like this, then leave a comment and let me know what content you would like to see.


TwitterFollow the Digital Marketing Customer Care team on Twitter @AdobeExpCare.

YouTube: Subscribe to the AEM Community Channel


Monday, 2 December 2013

Creating a HTML Parser Service for Adobe Experience Manager

You can create a custom Adobe Experience Manager (AEM) HTML parser service that accepts HTML and parses it. By parsing HTML, you can retrieve HTML tag values. For example, consider the following HTML.

<div><p>Hello JSoup - this is now a CQ service.</p></div>

Once you pass this HTML to the custom AEM HTML parser service, you can get the value of the <p> tag, as shown in the following illustration.

An AEM web page that parses HTML by calling the custom HTML parser service
To create a custom AEM HTML parser service, you can use the JSOUP library. That is, the application logic required to parse HTML is developed by using the JSOUP API. For information about this API, see:

http://jsoup.org/

The Java logic that parses HTML is implemented as an OSGi bundle that is built using Declarative Services (DS) and Maven. The OSGi bundle is a managed component, which means that the OSGi service container creates the OSGi instance. To read this development article, click: http://helpx.adobe.com/experience-manager/using/html-parser-service.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




Monday, 25 November 2013

Creating a Custom Reporting Service for Adobe Experience Manager

You can create a custom reporting service for Adobe Experience Manager (AEM) that stores AEM data. 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 solution that queries enterprise data that a digital marketer is interested in viewing. Then you can write out the data to a report and store the report in the AEM Java Content Repository (JCR).

This development article extends an AEM application that is built by following another AEM development article that queries data from MySQL using a DataSourcePool. Before following this article, create the DataSourcePool application by following this article: Injecting a DataSourcePool Service into an Adobe Experience Manager OSGi bundle.

In this article, an option is added to the web application that lets a user specify if the queried data is written to a custom report. Consider the following AEM web application.


This development article walks you through how to build this custom reporting service. To read this development article, click http://helpx.adobe.com/experience-manager/using/aem-reporting-service.html.

Note: Adobe Experience Manager supports reports without creating a custom reporting service. You can create a report by configuring JCR nodes and properties. For information, see Developing Reports.

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 November 2013

CommuniQAEM

Welcome to CommuniQAEM. The first digital magazine for Adobe Experience Manager developers and architects.





 The title of the magazine tries to consolidate all the names that the platform (now branded as Adobe Experience Manager) is known for in the community, while at the same time expressing the main goal of this initiative: communicate about Adobe Experience Manager.
We believe there is an audience for a magazine that our beloved Adobe Experience Manager developers and architects can read while not being busy on the job. As a way of catching up with new ideas, concepts, implementations, etc.,  not necessarily part of the engagements they are working on right now.
This magazine is inspired by a similar initiative started by Michael Chaize around web standards and technologies (HTML5, CSS, JSP) which is named Appliness, has established its footprint and is up to its 20th issue!
The issue you can view on your tablet right now is named Issue 0 and that is for a particular reason. We consider this first issue a soft launch of the magazine, not yet supported by an infrastructure consisting of a web site, social channels, etc. It is almost like we are ‘dipping our toes in the water’ before going for a full launch. The feedback we receive will further define the content, delivery, and supporting infrastructure of the magazine.
For now, enjoy this first issue of CommuniQAEM. You can read about
  • sending mobile push notification from your AEM environment,
  • using the adaptive image component within your responsive design,
  • clientlibs, their purpose and examples on how to use them,
  • an exciting new templating language that can make your component development so much easier (amongst others).
You can download the app and first issue from the iTunes app store (where it will appear in Newsstand) and Google Play. Be aware that the first issue is a large download as we have included videos for offline viewing.

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


Saturday, 9 November 2013

Creating Adobe Experience Manager services that invoke third party Restful web services

You can create an Adobe Experience Manager service that consumes data from a third-party Restful  web service and displays the data in an AEM web page. For example, assume that you have a requirement to create an AEM component that calculates the distance between two cities and displays the results in an AEM web page. In this situation, you can develop an OSGi bundle that contains Java classes located in the org.apache.http package that are able to invoke a third-party Restful service. The following illustration shows data being retrieved from a third-party Restful service and displayed in an AEM web page (JSP).

An AEM OSGi bundle invoking a third-party Restful service


The use case in this article is to calculate the distance between two cities, return the data within JSON, parse the JSON using an AEM page component (using JavaScript), and display the results in an AEM web page.

An AEM page that uses a Restful request to calculate the distance between two cities


To calculate the distance between two cities, the Google Distance Matrix API is used. For information about this API, see:

https://developers.google.com/maps/documentation/distancematrix/

To read this article, click  http://helpx.adobe.com/experience-manager/using/restful-services.html.

Note: For information about creating an AEM OSGi bundle that consumes a third-party WSDL, see http://scottsdigitalcommunity.blogspot.ca/2012/05/creating-adobe-cq-bundles-that-consume.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


Friday, 8 November 2013

Developing a Java Swing Application that displays Adobe Experience Manager Data

When working with Adobe Experience Manager (AEM), sometimes you need to query data that is located in the AEM JCR and view results. Typically you write an AEM component to display the results within a web application. However, sometimes you want to be able to view the data without writing an AEM component or viewing the data from within an AEM web application. Even our team at Adobe has these requirements. That is, we want to be able to quickly get at data without having to write an AEM web application. For example, consider AEM community members which of course is data stored in the AEM JCR. We want the ability to quickly view community members, scores, and even activity based on date values.

In this situation, a Java Swing application is a good choice to use to build a custom tool that enables you to quickly get at the JCR data and view the result set. You can display the result set in a Swing data type that extends javax.swing.JTable, as shown in this illustration.

A Java Swing application that displays data retrieved from the AEM JCR


For information about javax.swing.JTable, see http://docs.oracle.com/javase/7/docs/api/javax/swing/JTable.html.

AEM 5.5-6.1

This development article walks you through how to build a Java Swing application that queries the AEM JCR and displays the result set. To read this development article, click http://helpx.adobe.com/experience-manager/using/java-swing-applications.html.

AEM 6.3

To read this development article for AEM 6.3 (which uses JCR SQL2 API), click https://helpx.adobe.com/experience-manager/using/java-swing-applications-aem63.html.

Join the Adobe Experience Cloud Community 

Join the Adobe Experience Cloud Community by clicking this banner




I (Scott Macdonald) am a Senior Digital Marketing Community Manager at Adobe Systems with 20 years in the high tech industry. I am also a programmer with knowledge in Java, JavaScript, C#,C++, HTML, XML and ActionScript. If  you would like to see more CQ or other Adobe Digital Marketing end to end articles like this, then leave a comment and let me know what content you would like to see.


TwitterFollow the Digital Marketing Customer Care team on Twitter @AdobeExpCare.

YouTube: Subscribe to the AEM Community Channel





.