Tag Archives: Custom Component

Google Maps component for Adobe CQ5

I’ve completed building my first custom component for Adobe CQ5 and what else to build but the HelloWorld of modern day websites? A Google Map component!

With this component you can now simple drag and drop a map onto a page, then click the edit button to enter the address that the map should display.


The process to build the component was quite easy, as follows;

  1. Write (ok.. steal) the HTML code to make Map appear in a browser
  2. Create a new component in CRXDE in the Apps director (using the wizard)
  3. Copy / Paste my working HTML code into the created JSP file for the component
  4. Test the compoent works as is (it should by now start showing up in SideKick – assuming you go into Design mode and allow the component to be displayed.. eg in parsys)
  5. Add a nice icon
  6. Create a dialogue (or copy and modify another one from something like the title component like I did)
  7. Tweak the code to pull the values from the dialogue.
  8. Test, package, share on your blog!

Screenshot of the Maps Dialogue

Maps Dialogue of Google Maps component for Adobe CQ5


I have several enhancements as well as new components I need to complete, but if you have requests please let me know in the comments below.

Download my Google Maps component for Adobe CQ5!

GoogleMaps-1.2 component for Adobe CQ5

Twitter Component v2.0 for Adobe LiveCycle ES2 released!

About 3 years ago I wrote my first custom component for Adobe LiveCycle ES, a Twitter client, that allowed you to Tweet as part of a process orchestration. I’ve seen it crop up in quite a few demonstrations over time and find it to be a good example of how extensible Livecycle ES is. Until it broke. or rather, Twitter changed their authentication system to require oAuth, causing me to finally update the 3 year old code.

Times have changed for component development with LiveCycle. When I built the first version it involved manual creation of config file. Life is easy with the new LiveCycle Workbench ES Component Development Tool on Adobe Labs.

Here is the process I followed (Step 1-8 took less than 2 hours)

  1. Open Eclipse
  2. Stare at the screen for a minute
  3. Google “Twitter oAuth Java”
  4. Found “Scribe” and downloaded the library
  5. Ran the sample Java code within Eclipse and confirmed it worked
  6. Ran the LiveCycle Component Development Tool and created the wrapper project
  7. “Stole” pieces of the Scribe sample code for the Livecycle component.
  8. Deployed and tested the component in a process (it actually worked first go! Gasp!)
  9. Wrote some documentation -> http://www.markszulc.com/blog/twitter-component-for-adobe-livecycle-es2-5/

Most of the time was spent futzing around trying to understand oAuth 2.0, so hopefully my docs above will make it easy to get the component up and running. The actual LiveCycle work took very little time.

Still to do

  1. Better error handling – Twitter codes are returned, but I’m assuming internet connectivity :-/
  2. More operations eg. direct tweet, reply etc
  3. Consider making a Facebook & Foursquare version

Any feature requests? If you use it (even for a demo) let me know!

Adobe LiveCycle Workbench ES Component Development Tool

Building custom components for Adobe LiveCycle ES can be as simple as writing an xml file. In fact, that’s all I had to do to convert a couple of POJOs into a ShortenURL & Twitter custom components. However things can always be made easier which is what this new Adobe Labs project aims to do.

Adobe® LiveCycle® Workbench ES Component Development Tool is a Plug-in for Eclipse that helps Java developers build a custom Component for LiveCycle ES. The Component Development Tool makes is easy to create a new Java project used to build a Component jar file, define the Services and Operations your Component will expose and include third party Java logic inside your Component. The Component Development Tool includes a GUI to help create and modify your component XML.

Download it from Adobe Labs and let me know what you build!

ShortenURL custom component for LiveCycle ES

While creating a new LiveCycle demo recently I came across an issue where I wanted to pass a URL of a document via Twitter. The process was storing a PDF document into LiveCycle Content Services, obtaining the URL, then notifying people about the new document via Twitter.

Process diagram demonstrating the use of the ShortenURL component

I took a look at the APIs for bit.ly and after a quick bit of Googling I came across Peter Mularien’s tutorial on URL Shortening in Java using bit.ly. About thirty minutes later I had an Eclipse project setup, a bity.ly account & developer GUID, and had written the component XML describing the properties to expose to LiveCycle. For more detail on that process check out this article:Extending LiveCycle ES software through custom DSC development – Part 1: Create a basic service component

Properties panel for ShortenURL servicebtw – thanks to Gareth Faulkner from Adobe Australia for some debugging assistance!

The result is this new reusable component for LiveCycle!  All you need to do is provide

  • LongURL
  • Bit.ly Login
  • Bit.lyAPI Key

Download the ShortURL component for Adobe LiveCycle ES

Let me know if and how you use it!

Twitter Component for LiveCycle ES

After reading a couple of great articles recently I thought I’d give writing a component (or DSC – Document Service Component) for LiveCycle ES a go. For inspiration I read Mike Hodgson’s Devnet walkthrough article on how to build a component and Christoph Room’s sample for integrating LiveCycle ES with Adobe Share.

Twitter Component for LiveCycle ES

Since using the Twitter API has become the modern day “Hello World” I decided to give it a shot. After googling for 5 minutes I found the Think Tank Twitter java interface. A few lines of code and I had my class written ready for LiveCycle integration; Continue reading