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



Tuesday, 13 December 2011

Create Mobile Applications for Data Services 4.6

Now you can view and interact with your mission critical enterprise data in any location at any time! That is right, you can create mobile applications for Data Services 4.6. For example, you can create a mobile application for a tablet that lets you view and interact with your enterprise data. The following illustration shows the supported clients for Data Services 4.6.
You use the AIR client-side API to create the mobile application as well as Flash Builder 4.6. You use the Java API to create server-side classes that retrieve financial data from a content provider and sends messages to a server destination. When the mobile application detects new messages, the application is updated in real time with financial data.

For example, assume that the mobile application tracks multiple stocks. When the server retrieves updated data from the financial content provider, it creates an updated message and pushes the message to the destination. The mobile application detects the new message and displays changes to the stock price.
The following illustration shows the mobile application that is created. Notice that this application is able to track multiple stock prices. When the user clicks on a row in the grid control, more detailed information is displayed in the mobile application. For example, you can view the stock price during the past five years in an Area control.
To create this mobile application by using Data Services 4.6, then click on the following link to read the full article: Creating Mobile Applications using Data Services 4.6 Message service.

Thanks,
Scott Macdonald
Senior Content Lead at Adobe Systems

Tuesday, 25 October 2011

Displaying a Message Box in a Flash Builder 4.5 Mobile application

I am working on a new development article that will be posted late Nov or early December 2011 that discusses how to create a message-based Tablet application using Data Services 4.6. This application will use the Message service and display stock data. The stock data will come from a real financial data provider such as Yahoo Finance as opposed to an XML file.

 The great thing about creating a mobile application by using Flash Builder is that you can write once and then deploy to different Mobile devices including Android devices and iDevice devices, such as an iPad. That is correct -- you can create an application in Flash Builder and then deploy it to an iPad.

The tablet application will consist of three views as shown in the following diagram.

One of the objectives of Scott's Digital Community is to specify tips and tricks that I find useful as I develop applications by using Adobe technology. As I found, creating a pop up message (or Message Box) in a mobile application is not as straightforward as you may think. To begin, a mobile application does not support mx.controls.Alert. As a result, you have to create pop up messages by using another technique.

That other way is by using a fx:Component instance. You can think of a fx:Component as a class. You can create an instance of this class and then use the instance to display messages. The following code represent the fx:Component instance.


<fx:Declarations>
!-- This component represents a popup to show the user a message in a mobile application -->
<fx:Component className="AlertMsg">
    <s:SkinnablePopUpContainer x="70" y="400">
    <s:TitleWindow title="My Message" close="close()">
     <s:VGroup horizontalAlign="center" paddingTop="8" paddingBottom="8" paddingLeft="8" paddingRight="8" gap="5" width="100%">
<s:Label text="{localVar}" />
<s:Button label="OK" click="close()"/>
</s:VGroup>
<fx:Script>
<![CDATA[            
// Variable in the renderer scope.
[Bindable] public var localVar:String="";

public function setValue(val:String)
{
this.localVar=val;
}
]]>
</fx:Script>
</s:TitleWindow>
</s:SkinnablePopUpContainer>
</fx:Component>
</fx:Declarations>


Then you can declare an instance of AlertMsg and then call its SetValue method and pass a string that represents the message that you want to display in your pop up message. For example:


//THIS IS HOW YOU SET A POPUP MESSAGE IN A MOBILE APP
var msg:AlertMsg = new AlertMsg();
msg.setValue("Hi There") ; 
msg.open(this, false);


I hope that you find this useful. Stay tuned for more useful information on Scott's Digital Community. 

Monday, 10 October 2011

Welcome to the first Blog of Scott's Digital Community

Hi and welcome to my Blog named Scott's Digital Community. My name is Scott Macdonald and I am a Senior Content Lead at Adobe. I have close to 15 years in the High Tech industry and 8 with Adobe. Among my responsibilities at Adobe are working with the community, writing technical documentation such as ActionScript, Java, .NET, HTML/XML, and so on, and other tasks such as helping out on the on-line forums, etc.

I love to get out and work directly with the community when I get the chance. I just got back from MAX 2011 and I really enjoyed working with those attending the labs and other sessions. I have attended the past 3 years at MAX and have meet a lot of interesting people working with various Adobe products. Speaking of interesting, this was taken at the MAX 2011 party.


Anyhow - my Blog is going to focus on how to use Adobe products to perform specific tasks. The format will range. That is, some topics will be shorter blog items, others will be technical articles, while others will be How To videos. The topics will range in subject matter as well. Some may be how to create a Mobile application for IOS or Android devices that receive data from back ends such as Data Services, while others may be how to programmatically extract data from a PDF form. Some may be tips that I find useful on how to use the CS products such Premire Pro (which is the software that I use to create videos).

If you are interested in a specific subject, email me at scottm@adobe.com and place Scott's Digital Community in the subject line.

For all of my videos that appear on this Blog, the following After Effects intro will be used.



Thanks,
Scott