Sunday 16 December 2012

Adobe CQ 5.6

After attending the Adobe Exchange Conference Dec 14 and 15 in Las Vages, I am excited for the upcoming release of Adobe CQ 5.6. Articles appearing on this blog will start  discussing 5.6 sometime in Feb, 2013. Content will explore a range of How To topics and using the cloud version of the Adobe Digital Marketing Suite.


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 11 December 2012

Exploring the different ways to create an OSGi bundle for Adobe CQ

Creating an OSGi bundle is a typical development task that lets you extend Adobe CQ functionality. By creating an OSGi bundle, you can create a custom service that lets you display data in your CQ web pages to meet your business requirements. For example, a previous article discussed how to create an OSGi service that returns weather data by using a third-party web service. For information about this article, see http://scottsdigitalcommunity.blogspot.ca/2012/05/creating-adobe-cq-bundles-that-consume.html.

Did you know that there are three ways in which you can create an OSGi bundle for Adobe CQ? The way that you choose is really a matter of preference. The three ways in which you can create an OSGi bundle are:

1- Using the Maven archetype plugin to build an OSGi bundle. For information, see http://scottsdigitalcommunity.blogspot.ca/2014/05/creating-your-first-aem-service-using.html.

2 - Using an Eclipse development plug-in. For information, see http://scottsdigitalcommunity.blogspot.ca/2012/07/creating-custom-cq-email-services.html.

3- Using the CRXDE development tool. For information, see http://scottsdigitalcommunity.blogspot.ca/2012/04/creating-osgi-bundles-for-adobe-digital.html.




NOTE: You can use Maven to automatically deploy an OSGi bundle to Adobe CQ when building a package using a Maven command. For information, see http://scottsdigitalcommunity.blogspot.ca/2013/03/creating-adobe-cq-shopping-cart.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 7 November 2012

Developing an Adobe CQ application that uses FTP

You can create an Adobe CQ application that uses the File Transfer Protocol (FTP) to transfer a file from one server to another one. This article describes how to develop an Adobe CQ application that uses an OSGi component to transfer an HTML file to another server. The OSGi component uses Apache Java libraries to transfer the HTML file.

 To read this entire article, see

https://helpx.adobe.com/experience-manager/using/developing-cq-application-uses-ftp.html
 

Adobe Digital Marketing Community


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

About the Author

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

Linked Inhttp://www.linkedin.com/in/scottmacdonald2010
TwitterFollow the Digital Marketing Customer Care team on Twitter @AdobeMktgCare.



Friday 26 October 2012

Configuring Adobe CQ to use Apache Directory Service

You can configure Adobe CQ to use a third-party LDAP service that contains user data. By configuring Adobe CQ to use a third-party LDAP service, you can authenticate with Adobe CQ using your user data. That is, you can enter a user located in your LDAP service into CQ login during the login process. This article describes how to setup Apache Directory service, create a new user, configure Adobe CQ to use Apache Directory service, and finally login to Adobe CQ with the new user entered into Apache Directory service.
 As shown in the previous illustration, a user can authenticate with Adobe CQ using user data located in Apache Directory service. To configure Adobe CQ to use Apache Directory service, you configure an Adobe CQ configuration file.

Note: To read this entire article, click this link:

https://helpx.adobe.com/experience-manager/using/configuring-cq-apache-directory-service.html

Note: This development article is for CQ 5.5.

Adobe Digital Marketing Community


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

About the Author

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

Linked Inhttp://www.linkedin.com/in/scottmacdonald2010
TwitterFollow the Digital Marketing Customer Care team on Twitter @AdobeMktgCare.


Thursday 13 September 2012

Developing CQ Custom Workflow Steps using Maven

You can create an Adobe CQ custom workflow step by using Maven. A custom workflow step lets you customize a CQ workflow to meet your business requirements. An Adobe CQ workflow consists of steps that are either participant steps or process steps.

Note: This development article is for Adobe CQ 5.5 or lower. If you want to create a custom step for AEM 5.6, see http://scottsdigitalcommunity.blogspot.ca/2013/10/creating-custom-aem-workflow-steps-that.html.

Participant steps require manual intervention by a person to advance the workflow. Process steps are actions performed by Adobe CQ if certain configured conditions are satisfied. You can create either a participant or process custom workflow step using Maven. You can use the Adobe CQ Java API to create a custom step.


 To read this entire article, click this link:

https://helpx.adobe.com/experience-manager/using/developing-cq-custom-workflow-steps.html


Adobe Digital Marketing Community


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

About the Author

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

Linked Inhttp://www.linkedin.com/in/scottmacdonald2010
TwitterFollow the Digital Marketing Customer Care team on Twitter @AdobeMktgCare.

Friday 17 August 2012

Creating CQ applications that use HTML Drag and Drop

You can create a custom CQ application that integrates drag and drop functionality supported with HTML5. By integrating drag and drop functionality into your CQ client applications, you offer your users a cutting edge and engaging experience. This drag and drop application lets a user drag a PDF icon to the beginning of the list.


When the user clicks the View PDF Document button, the name of the PDF located at the beginning of the list is retrieved. The PDF name is sent to an OSGi bundle operation that saves the document in a web server location. The IFrame control that is located on the client CQ application displays the document. 



A CQ client that supports drag and drop

To read this full article, click the following link:

https://helpx.adobe.com/experience-manager/using/cq-drag-drop-applications.html


Adobe Digital Marketing Community


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

About the Author

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

Linked Inhttp://www.linkedin.com/in/scottmacdonald2010
TwitterFollow the Digital Marketing Customer Care team on Twitter @AdobeMktgCare.


Monday 30 July 2012

Integrating LiveCycle into Adobe CQ applications


As a user of Adobe Enterprise technologies, you can create an enterprise solution that uses functionality provided by Adobe CQ and LiveCycle ES. By combining the functionality of both server products, you can create applications to solve your business requirements. For example, assume that you want to place user submitted data into a PDF/A document for long-term storage. In this situation, you can call LiveCycle ES from an OSGi bundle and pass the data that was submitted from a CQ application. LiveCycle ES can place the data into a PDF/A document.

To read this full article, click this link:

https://helpx.adobe.com/experience-manager/using/integrating-livecycle-cq-applications.html


Adobe Digital Marketing Community


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

About the Author

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

Linked Inhttp://www.linkedin.com/in/scottmacdonald2010
TwitterFollow the Digital Marketing Customer Care team on Twitter @AdobeMktgCare.


Wednesday 11 July 2012

Creating custom CQ email services


You can create a custom CQ email service that lets CQ users send email messages from a CQ web page. To create a CQ email service, you develop an OSGi bundle that uses the Java Mail API. You can also develop a JSP that uses JQuery that calls the OSGi service and passes data that is sent as an email message.
 A CQ email client








Adobe Digital Marketing Community


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

About the Author

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

Linked Inhttp://www.linkedin.com/in/scottmacdonald2010
TwitterFollow the Digital Marketing Customer Care team on Twitter @AdobeMktgCare.


Monday 25 June 2012

Integrating custom CQ widgets with third-party libraries

Have you ever wondered how to create a custom CQ widget that performs tasks not available with out of the box CQ components. In this situation, you can create a CQ widget that uses third-party libraries that lets your CQ application perform custom tasks. For example, assume that you want to create a CQ application that lets you view a specific street by using Google Map APIs.

Purhaps, you want your CQ component to accept latitude and longitude values and then show the results, as shown in the following illustration.

If you are interested in learning how to create CQ components that use third-party libraries, then check out the  following article:  

https://helpx.adobe.com/experience-manager/using/integrating-custom-cq-widgets-third-party.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 28 May 2012

Using JSONWriter objects to display Adobe CQ OSGi data

You can create an org.apache.sling.commons.json.io.JSONWriter instance to invoke Adobe CQ OSGi bundle operations and display data within a JSP. A JSONWriter instance lets you define value and key methods to retrieve data. You can create an Adobe CQ component that uses a JSONWriter instance to submit data to an OSGi bundle operation and get back the results. You can then display the results in a JSP. That is, you can dynamically display data based on user input.

For example, consider the OSGi bundle that uses web services to return weather information. (For information about this OSGi bundle, see  http://scottsdigitalcommunity.blogspot.ca/2012/05/creating-adobe-cq-bundles-that-consume.html.)

Note: The OSGi bundle that returns weather data uses web services to expose various operations that return weather data. To follow along with this development article, you must create the weather OSGi bundle by following that article.

You can use a JSONWriter instance to return weather data based on user input. For example, consider the following graphical user interface that lets a user select a US ZIP code from a drop-down menu:



When the user selects a US Zip code from the drop-down menu and clicks the Click Me button, the weather service OSGi bundle is invoked. A JSONWriter instance is used to invoke the OSGi bundle and the data is returned to the JSP, as shown in the following illustration.


To read this full article, click this link: 

http://helpx.adobe.com/experience-manager/using/using-jsonwriter-objects-display-cq.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 18 May 2012

Packaging Adobe CQ 5.5 applications that contain an OSGi bundle

You can package an Adobe CQ 5.5 application that contains an OSGi bundle into a package by using Package Manager. Once an application (including the OSGi bundle) is placed into a package, you can deploy the package to another instance of Adobe CQ. If your CQ package does not include the OSGi bundle, then the application will not successfully work when deployed to a new CQ instance.

For example, assume that you created the weather application that uses an OSGi bundle by following the development article here: http://scottsdigitalcommunity.blogspot.ca/2012/05/creating-adobe-cq-bundles-that-consume.html.

To successfully package the weather application, you have to also include the cdynewebservice_1.0.0.jar (which represents the OSGi bundle) into the package.

Note: This article describes how to package the weather application (that depends upon an OSGi bundle) as an example. You can build the weather application by following the instructions located in the previous link. For more information about Adobe CQ packages, see http://dev.day.com/docs/en/cq/current/administering/package_manager.html.

To read this entire article, click this link:

https://helpx.adobe.com/experience-manager/using/packaging-cq-applications-contain-osgi.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


Thursday 3 May 2012

Creating Adobe CQ bundles that consume web services


You can create an Adobe CQ bundle that consumes data from a third-party web service and then display the data in a web page. For example, assume that you use Adobe CQ to create a web site for a government department that tracks weather information. In this situation, you can create a CQ bundle that retrieves data from a third-party web service and display the data within a form located in a web page. The following illustration shows data being retrieved from a third-party web service and displayed in a JSP.


You can develop an OSGi bundle that contains Java proxy classes that were created by using JAX-WS or AXIS. That is, you can use a tool such as  JAX-WS to generate the Java proxy classes that are based on the WSDL of an external web service. Then you can use these Java proxy classes within your OSGi bundle. The OSGi bundle that is created in this development article contains Java proxy classes that consume operations exposed by the following third-party WSDL:

http://wsf.cdyne.com/WeatherWS/Weather.asmx?WSDL

To read this article, click this link:

https://helpx.adobe.com/experience-manager/using/creating-cq-bundles-consume-web.html

Note: This article uses JAX-WS to generate the Java proxy classes. You can use Apache CXF. For information, see Creating Adobe CQ bundles using Apache CXF that consume web services.

Note: This article discusses using a WSDL to consume a web service. To learn how to build an AEM application that consumes a Restful web service, see http://scottsdigitalcommunity.blogspot.ca/2013/11/creating-adobe-experience-manager.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 27 April 2012

Creating an Adobe CQ web application that uses MySQL

You can create an Adobe CQ web application that performs database operations on a relational database. For example, you can create an Adobe CQ web application that retrieves data from MySQL and displays the data in a JSP. The following illustration shows data being retrieved from a relational database and displayed in a JSP.

To read this entire article, click this link:

https://helpx.adobe.com/experience-manager/using/creating-cq-web-application-uses.html

If you are interested in learning how to persist Adobe CQ data into MySQL, click here: http://scottsdigitalcommunity.blogspot.ca/2013/01/persisting-adobe-cq-data-in-relational.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 2 April 2012

Creating AEM OSGi bundles using CRXDE

You can create an OSGi bundle that can be used within the Adobe Digital Marketing Suite by using CDXDE. An OSGi bundle is essentially a Java module that contains application logic that meets your business requirements. An OSGi bundle lets you dynamically load, unload, configure, and control the Java module without restarting the server. CRXDE is the IDE that lets you develop applications for Adobe CQ (part of the Adobe Digital Marketing Suite).  

An OSGi bundle can use third-party JAR files. That is, classes located within a third-party JAR file can be used within an OSGi bundle. To demonstrate how to create an OSGi bindle that uses a third-party JAR file, this development article uses a third-party JAR file and EchoService.jar. This JAR file contains the following basic Java class named EchoService2

package com.adobe.myexample;

public class EchoService2 {
    
    public String sayHello(String val){
        
        return "Echo Service says: " +val ;
    }
}

Note: Before following along with this development article, install Adobe CQ 5.5 (or higher) and have it running. Also, ensure that you have CRXDE, which is the development environment. Finally create a JAR file named EchoService.jar and ensure that it contains the EchoService2 class shown above. 

To read this entire article, click this link: http://helpx.adobe.com/adobe-cq/using/creating-osgi-bundles-digital-marketing.html.

Note: This development article discusses how to develop an OSGi bunlde using CRXDE. There are other ways to create an OSGi bundle. For information, see http://scottsdigitalcommunity.blogspot.ca/2012/12/exploring-different-ways-in-which-you.html.




Adobe Digital Marketing Community


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

About the Author

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

Linked Inhttp://www.linkedin.com/in/scottmacdonald2010
TwitterFollow the Digital Marketing Customer Care team on Twitter @AdobeMktgCare.



Tuesday 6 March 2012

Programmatically Accessing Adobe CQ Content using the JCR API

You can programmatically modify nodes and properties located within the Adobe CQ repository, which is part of the Adobe Digital Marketing Suite. To access the CQ repository, you use the Java Content Repository (JCR) API. You can use the Java JCR API to perform create, replace, update, and delete (CRUD) operations on content located within the Adobe CQ repository. For more information about the Java JCR API, see http://jackrabbit.apache.org/jcr-api.html.

This development article creates a Java class that modifies nodes and properties within  Adobe CQ. The Java class connects to a local instance of  Adobe CQ and creates nodes and stores data values to node properties. You can store data by manipulating node properties.

Note: This development article modifies the Adobe CQ JCR from an external Java application. In contrast, you can modify the JCR from within an OSGi bundle using the JCR API. For details, see http://scottsdigitalcommunity.blogspot.ca/2013/01/persisting-cq-data-in-java-content.html.

Note: To learn how to query the Adobe CQ JCR using the JCR Query API, click this link: http://scottsdigitalcommunity.blogspot.ca/2013/02/querying-adobe-experience-manager-data.html.

To read this development article, click this link:

https://helpx.adobe.com/experience-manager/using/programmatically-accessing-cq-content-using.html

See Also

To learn how to write this Java Swing application that queries the Adobe Experience Manager JCR by using the JCR API:



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 28 February 2012

Integrating the JQuery Framework into Adobe CQ

You can integrate the JQuery Framework into DAY CQ (5.4) thereby enabling you to build components that take advantage of the JQuery framework. The JQuery framework is a popular JavaScript library that simplifies the creation of powerful components. For example, you can build components that contain visual effects, data grids that display information, user forms that capture information from end users, and so on. For more information about JQuery, see www.jquery.com.

The component that is created in this development article renders text and uses a JQuery fade effect. That is, the text becomes visible over a period of five seconds. The objective of this article is not to demonstrate how to create a complex JQeury effect, but rather guide you through the process of creating a CQ page and then how to make use of the JQuery framework.

To read this entire article, see:

https://helpx.adobe.com/experience-manager/using/integrating-jquery-framework-cq.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