Don’t worry – this is not going to be a lengthy, complicated, super-advanced tutorial. I thought about writing a post on Adobe LC DSCs for a while, but never got round to. Today, I got kind of pushed over the edge by seeing that my friend Duane and his partner Matt from Überity have published a super-simple DSC to integrate an LC process with the Twilio SMS/TXT services.
You have no idea what I’m talking about? Ok – here’s the gist: A DSC is a Document Service Component in LiveCycle. Basically it’s a component wrapper for some custom logic or external service integration that one can write and use within the LiveCycle Process Management Engine. One of my biggest complains about and issues with LiveCycle are the lack of community contribution and the lack of good and advanced documentation around the product. So, let’s take this opportunity to compile a few interesting resources around DSCs.
If you’re ever in the need of extending LiveCycle (and most serious users I know are at some point), writing a Document Service Component is one of the easiest ways. To get started, use a tutorial Adobe provides here:
What you’ll find (I assume you have a working Java knowledge) is that it’s not really rocket science to get started. In particular, a DSC is pretty much a bundle comprising of a few custom Java classes you have to write to integrate your third party service (or whatever you want to do), some resources such as additional libraries, assets etc. and an XML file named component.xml. This XML file is the component descriptor and the required syntax is rather straight forward.
From here, have a look at the posts of my friend Mark, who built a Twitter component for LC as a DSC. Note, the first blog post is a nice demonstration but the resulting component won’t work anymore because Twitter changed their authentication model at some point. Mark has since then published an updated version (which is for LC ES 2.5 – not sure if it’ll still work on LC ES).
Some other worthwhile resources when it comes to writing components for LiveCycle are:
- Alexandra’s article on writing a component to display certain users in a review process (Note: this is specific to one of the solution accelerators, but a nice slightly more complex/integrated example)
- Nith’s article on importing data from Excel documents into LC
- Scott’s article on invoking external web services through a DSC
- Nith’s article on building a ZIP component as a DSC
If you have anything else DSC-related that you’d like to be added, feel free to put it into the comments.
26/02/2012: Tarek has shared a Google workspace with a bunch of LC development-related documents: http://bit.ly/w00nNc