A number of people (Gareth and Mark from Adobe – thanks guys) indicated that the first blog on this topic was correct, but incomplete.
Here is the rest of the story…
Q: What is an orchestration?
A: An orchestration is really a LiveCycle process that runs as if it were really just Java code. You design an orchestration by dragging a series of steps into a “short-lived” process, and joining those steps together using lines. Each step is really a method call on an object, and the process engine simply follows the lines, and executes each method call in the correct order. It’s basically visual programming.
You can invoke an orchestration from Java or C## or other code, via SOAP, from another orchestration, etc. When you call it, it’s almost identical to calling a real Java program, except that:
- The logic of the code is visible graphically
- It can be maintained and modified by non-programmers
- It’s much easier and quicker to change
- It runs a teeny bit slower than if you’d written the code in Java
There is a sample orchestration for rendering a Form Guide as a step inside of LiveCycle Workspace – you can refer to that if you want to take a closer look at both an orchestration, and also an orchestration rendering a Form Guide.
Q: What if I’m using the feature where you can switch between the Form Guide and a PDF?
A: Well, things do get a little more complicated.
In this case, a few extra things happen:
- After loading the SWF file, the SWF file checks to see whether the minimum version of Reader/Acrobat is available.
- If so, creates a new, hidden DHTML iframe.
- Into the iframe, it loads a URL that points back to the LC Forms servlet.
- When invoked, the servlet in turn invokes the LC Forms Render process. It supplies different parameters, this time requesting a PDF to be returned, rather than SWF.
- The PDF is returned to the hidden iframe.
- The Form Guide enables a button that allows the end user to toggle between the Form Guide and the PDF view.
- When the user clicks the PDF toggle button, the Form Guide extracts the current state of the XML contained in the Form Guide, and dynamically injects it into the PDF.
- The Form Guide then hides itself, and displays the iframe containing the PDF.
- When the user toggles back, the current value of the XML is obtained from the PDF, and injected back into the Form Guide, and the hide/show happens.
- Like the generation of the Form Guide SWF itself, the PDF will also be cached by LC Forms – on subsequent invocations, the PDF will be obtained from the cache.
Please click on the “Comments” link for some excellent additional material – a big thank you to John for contributing.