LiveCycle ES2 now supports electronic signatures in Workspace (in addition to digital/PKI based signatures). The eSignature solution leverages the following features:
Ability to Route Arbitrary Content
Now you can route a flat pdf, .jpeg, .gif etc… for approval (basically anything that can be displayed in a web browser).
Approval Container
A Workspace mode specifically designed and tailored for approval processes.
User Actions
Gives the LiveCycle developer full control over the buttons presented in the Workspace Chrome, and the order in which they appear. Also provides tighter integration with process routing via Destinations.
Approval Confirmation Dialog
Allows you to present a confirmation dialog with a custom EULA and inform the user that this is a binding agreement. To get this option in Workbench simply double click a defined User Action.
IP Address Auditing
The ip address of the signer/approver is captured in the output of the Assign Task & Multiple Assign Task operations. This can be used to build an audit log.
Document Builder
Document Builder is WYSIWYG editor for DDX and ships with LiveCycle Workbench ES2. In previous releases of LiveCycle ES you had to hand code DDX; Document Builder gives you tools to design, validate and test DDX files in a graphical manner.
What is DDX?
To specify documents that you want the Assembler service to produce, you use an XML-based language called Document Description XML (DDX). DDX is a declarative markup language whose elements represent building blocks of documents. These building blocks include PDF pages and other elements such as comments, bookmarks, and styled text. The DDX document can be considered a template for the document(s) that you want the Assembler service to produce.
Document Builder Features:
WYSIWYG editor for designing DDX
Full integration with Workbench and Assembler’s Invoke DDX service
Schema Validation
Ability to test DDX and to preview results
Templates for the most commonly used Assembler operations
Record and Playback is often considered the most valuable debugging tool in LiveCycle. It allows you to record then step though the execution of a process, to examine the variable values, routes taken etc…
The following Record and Playback improvements were made in ES2:
A visual indicator (a red dot) will now appear when recording is activated for a particular process
You can manage process recordings at a global level (Start/Stop/Delete etc…) This allows an administrator to easily disable all recordings on a server.
You can activate/deactivate recordings for an entire application in a single click
In Adobe LiveCycle ES2 the Workbench property sheets have been overhauled to simplify and streamline application creation. Here are a few examples:
Basic | All filter toggle
Most property sheets in ES2 now include two modes — Basic and All. Basic presents the most commonly used settings, while All will present you with all available settings for the service.
Render PDF Form
The FormsService:renderPDFForm service has been greatly simplified, and thanks to the new asset picker there is no longer a need to hand type URIs. Here is the new service in Basic mode.
Asset Picker
No longer a need to hand type URIs!
Auto Discovery of Credential Alias Names
You no longer have to look at the adminui to determine the available aliases for Reader Extensions or Signing credentials. This feature applies to Apply Usage Rights, Sign Signature Field, Certify PDF & Certificate Encrypt PDF.
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
Ingredients:
An XML schema (a sample schema is provided in collateral download if you do not have one).
Brewing Instructions:
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.
Rosetta Stone
Mike Fulkerson
Senior Vice President “The Adobe LiveCycle Collaboration Service allowed us to develop an online solution that makes language learning fun. Our development teams were able to add social features such as collaborative games to our Rosetta Stone TOTALe platform, allowing us to create a rich and interactive learning environment.”
———————–
Janus Health Gresham B. Bayne
Vice President, Operations “Adobe LiveCycle ES2 offers users clearly defined starting points for automating business processes. The intuitive environment of the latest release will shorten a user’s learning curve and simplify developing and deploying critical, new processes.”
“The enhanced Workspace integration in LiveCycle ES2 is terrific. Creating new forms and integrating them into automated processes is faster and easier than ever. We can efficiently update existing processes or rollout new ones as needed.”
———————–
Medtronic Jesse Nalezny eForms Business Analyst “The enhancements in LiveCycle Workbench ES2 are terrific. Having all forms resources in a single folder will enable developers to quickly create and rollout highly efficient processes. We would be able to automate business processes in half the time because it will be easy to create interactive forms that incorporate process controls and integrate with backend systems.”
“We are very excited about the new integration capabilities between LiveCycle ES2 and the Adobe Flash platform. This is going to enable even better user experiences and improvement in end-user productivity.”
“With enhanced capabilities in Adobe LiveCyle ES2, we will be able to improve our productivity and automate more processes. Creating forms and establishing tracking and routing processes will be faster than ever. The new functionality makes it simpler to build in more controls for end users, such as incorporating warnings if people are about to take the wrong actions on forms. Overall, the experience is enhanced for developers and end users.”
———————–
State of Illinois Department of Human Services
John L. Riggs Chief
Bureau of Automation “Like other government organizations, we face increased demands from constituents and fewer resources to deal with them. It’s imperative that we can easily and efficiently keep automating business processes, so we can do more work without adding staff. The rapid development functionality within Adobe LiveCycle ES2 will enable our department to deploy newly automated processes to meet the changing needs of government staff and citizens.”
———————–
Bank Midwest Josh Laire
Application Development and Integration Manager “With the new release of Adobe LiveCycle ES2, Adobe is putting a lot of ingenuity into LiveCycle with a focus on front-end processes and productivity for both the developer and business user. Building composite RIAs using Adobe LiveCycle Mosaic ES2 is great for business users, since they would have all of the information they care about linked and available in one location.”
“The tighter integration of LiveCycle Workbench ES2 and LiveCycle Forms ES2 enables our developers to cut development time by viewing processes in real-time without uploading forms or toggling between screens. With a streamlined development environment, we can rapidly develop and deploy cost-effective, efficient processes that improve productivity and service.”
LiveCycle Enterprise Suite 2 (ES2) is Adobe’s enterprise offering for generating, capturing, and exchanging business information using integrated RIAs, secure documents and automated processes. LiveCycle ES2 helps businesses and governments more effectively deliver engaging applications across devices and channels to customers, citizens, and partners inside and outside the organization. New features of LiveCycle ES2 include personalized rich Internet application (RIA) workspaces, mobile and desktop access to business critical applications, a more collaborative and productive development environment, and a new deployment option in the cloud – allowing workers, developers and decision makers to bring value to their organizations faster than ever before.
In the theme of rapid application development. I am going to put LiveCycle Enterprise Suite 2 (ES2) up against the ‘Slap Chop’, with a series of blog posts over the next month (check out the category ‘ES2 Highlights’). I think you will see that we are far superior. Here is the competition:
I often get questions about the appropriate use of LiveCycle process variable types. Here is a cheat sheet that attempts to cover the major types.
Primitive Types:
Document variable – This is a generic type used for storing and passing around bits. I commonly use it to read in and pass around .pdf, .jpeg, .doc, .xls, .tiff, .txt etc… Note: You can coerce types back and forth between Document and other types using the setValue operation. e.g. if you have xml data stored in a Document variable you can create a variable of type xml and map the data to the new variable using the SetValue operation. This is an important concept since some services expect a Document type.
xml - Even though you can use the Document type to store and pass around xml data, the xml type has a distinct advantage. You can associate a schema with the xml contents which makes XPath operations seemless. i.e. you can drill down into the structure using setValue operation to set/get data. Note: Some operations expect a Document type that contains XML, so after manipulating the data you can coerce it to a Document type using setValue.
list - A list has a sub-type attribute, so this can be a list of any of the other supported types
map - Maps come into play when working with services like Assembler, if a service expects a map you can use this type to build one up.
Form related variables:
xfaForm variable – The most common use of this type is for rendering .xdp or .pdf to a user in Workspace. You can also use it for rendering Form Guides. This is a special type since it has an associated template and render service. Using the type allows you to pass the template and data around your process and render it on-the-fly to users as needed.
Document Form variable – This is essentially interchangeable with the xfaForm type with one big difference; With this type you get an additional option in the advanced properties ‘Call the render service only once’. This allows you to pull a template from the repository and render it once, then pass around a persistent pdf copy of the form. Typically the submit type on the form will be PDF instead of XDP when using this type. This allows users to submit and pass around the entire PDF (not just the template and data). The primary use of this type is when working with Digital Signature, Certified Documents, Comments or any data that can’t be captured in a template/data model. When using a basic xfaForm variable the form is re-rendered for every user so maintaining a digital signature would not be possible. If you are interested in Digital Signature workflows please see my post: digital-signature-workflow-with-a-topping-of-reader-extensions
Form variable – This type is typically used to display items in Workspace that do not require rendering such as a .swf file.
Complex Types:
There are numerous other types that can be leveraged within your process. Typically you stumble upon these when examining the input/output of a service. As an example the invokeDDX/Assembler service returns a type of AssemblerResult; This particular complex type contains a varietey of information as well as the result file(s). To get familiar with these types, examine one with the setValue operation and discover the various attributes. Often you can pull out the data you want using the setValue operation. i.e. Location = MyDocVar, Expression = /process_data/assemResults/object/documents[@id='result.pdf']