Posts tagged forms
I was suppose to post easy techniques on how to pre-populate forms via LiveCycle’s Render service but unfortunately it is taking longer than what I expected. This is the story so far… Please comment if you are aware of this and enlighten me around the changed behavior.
I used the customized render service till LC 8.0.1 SP2 and what we get in dataDoc variable of the Render service is xdp data which had the whole form specific XML structure. But I’m finding that in LiveCycle 8.2 SP2 the dataDoc contains the xdp data but ONLY the Root element of form data is present.
The issue: This results in stalled operations (exception) as the elements that I want to populate does not exist.
The strange thing:
The most strange thing that I have seen is related to where the ‘caller’ orchestration was developed. So if your orchestration which has xfaForm variable was created on LC 8.0.1 then the dataDoc variable will have the xdp data with the whole and empty form data section in it. BUT….. if you touch that variable or re-create that xfaForm variable on LC 8.2 then you’ll start getting the blank form xml section in xdp data (of dataDoc) variable of render service.
Please let me know if anyone has seen this before and knows if this was intentional in LC 8.2 or it is a reported/unreported bug.
stay tuned for the pre-population.. I’ve decided to post a series of two articles to discuss the strategy that I think can work nicely.
Original article at http://blog.pandyaparth.com/2009/06/form-pre-populate-via-render-service-delayed/.
In LiveCycle ES2 Action Profiles streamline the creation and management of pre-fill and custom render services. If you are familiar with this pain point from a previous release you are going to absolutely love the flexibility and power of Action Profiles in ES2.
Let’s pre-fill a form for display in Workspace in less than five minutes…
LiveCycle Version: 9.0
If you get stuck… here is the collateral and completed LCA (.pdf w/ attachments): ES2_Prepopulate
- An XML schema (a sample schema is provided in collateral download if you do not have one).
- Launch Adobe LiveCycle Workbench and create a new application.
- Expand the application, right click version 1.0 and select New > Form, this will launch the new Form wizard. When promoted for a data model import your schema (The use of a schema is highly recommended, if you do not have a schema you can use a service such as http://www.hitsw.com/xml_utilites/ to create one based on sample XML).
- Adobe LiveCycle Designer will launch — Drag a few items from the Data View onto your form. This will automatically bind your form fields to the schema. Save and close the form. If you don’t see any items in the Data View, right click the Data Connection and specify the correct root node in the schema.
- Launch the new process wizard by right clicking your application and selecting New > Process. Choose the following options in the wizard: When a user submits a task in Workspace… & Use an existing Form (select the form you just created)
- In the process double click the start point and click on the Manage Action Profiles button.
- Create a new Action Profile named Prefill.
- Make sure your newly created profile is selected and click the Create a Prepare Data Process button, select defaults and click OK. This is going to automatically stub out a new pre-fill process for you. Close the Manage Action Profile dialog and switch back to your process.
- Notice that the new Action Profile you just created is now selected for the Workspace Starpoint. Action profiles are tied to a specific form, you can manage them by right clicking the form in the application view or from the startpoint Presentation and Data settings property editor.
- Save your main process and open the pre-fill process that was created for you (If you left the defaults intact it should be named [YourFormName]PrepareData).
- Examine the stubbed out process — Notice that you already have an xml variable that is backed by the schema that your form is associated with; This is the advantage of using the wizards.
- Drag a SetValue operation onto the canvas from the tool bar.
- To configure the SetValue, the location should be the node you want to set in your form’s input data (Since you are using a schema you can simply drill down into it and double click it to build the XPath statement).
- For this example let’s set the field’s value to the task creator’s name. Double click the empty [Expression], drill down into the Task Context and locate the Common Name, double click it and say OK to complete the SetValue operation.
- Deploy the application by right clicking version 1.0 in the application tree and selecting Deploy.
- Test the application: Right click the main process in your application view (or right click in the canvas) and select the Invoke operation. Choose the option to Open the selected start point in a web browser (another nice ES2 shortcut).
Additional Action Profile Tips:
- For each step in a workflow you may have a different Action Profile e.g. you may want to perform a pre-fill when a process is initiated, but for the second user you may just want to use the default (no-op) profile so that the form is not modified. Action profiles give your this flexibility.
- An Action Profile set is associated with a particular form. You can re-use the associated pre-fill and render processes but each form will have its own Action Profile definition/set.
Original article at http://livecycleapps.wordpress.com/2009/10/21/livecycle-es2-using-action-profiles-to-pre-fill-a-form-for-display-in-workspace/.