Upgrading legacy solutions to LiveCycle ES2.5

Use legacy processes, resources, and events as starting points for developing LiveCycle ES2.5 solutions that take advantage of new features. After importing legacy processes, resources, and custom events into applications, make them independent from their legacy runtime instances. Then, modify the assets as required.

Make sure that you have imported all processes, resources, and custom events that are referenced. For example, if you are upgrading a process, import the process, forms, and other resources that it uses, custom events, custom render and submit processes, and subprocesses. (See Importing resources, processes, and events to applications)

Breaking the link to existing run-time instances

Break links between imported assets and their legacy run-time counterparts to change assets without affecting existing run-time instances.

For example, you want to use a legacy form in an application in the LiveCycle ES2.5 environment. The new application requires you to change the form. However, the changes cause errors with a legacy process that still uses the form. So, you add the form to the application, and then break the link between the form and the run-time counterpart. Now the changes do not affect the legacy process.

All items that are imported from the run-time environment have a value for their Deployment ID property. This property identifies the location of the item in the run-time environment. The value also persists the link between the imported asset and the run-time counterpart. To break the link, remove the value for this property.

You can still change the run-time instance of a legacy asset after you break the link. Import the process version, resource, or event type again from the run-time environment.

Remove the value of Deployment ID:

  1. In the Applications view, right-click the asset and click Properties.

  2. Next to the Deployment ID box, click the Reset button and then click OK.

Note: If you no longer want legacy processes to be available for invocation, remove the endpoints of the process.

Creating endpoints for processes

Endpoints that were created in the LiveCycle ES environment are no longer associated with imported processes that have a reset Deployment ID property. To invoke processes using the same type of endpoints, create them.

In LiveCycle ES2.5, you create endpoints by adding start points to process diagrams. When the application is deployed, the start points cause the automatic creation of endpoints. You can add the following types of start points:

Workspace:
Users invoke processes from Workspace.

Email:
Users send an email to the LiveCycle ES2.5 server to invoke the process.

Watched Folder:
Users copy a file or folder to a watched folder to invoke the process.

Programmatic:
Sun™ Java™ and web service applications, REST, and applications built with Flex, can invoke processes.

Before you add start points, use LiveCycle Administration Console to review the end points that were used in the LiveCycle ES environment. Note the end point properties so that you can duplicate them in the start point properties. (See Managing Endpoints in LiveCycle ES2.5 Administration Help.)

Note: Workspace start points generate Task Manager end points. Before you can configure Workspace start points, configure assets and xml variables. (See Upgrading human-centric processes.)

Before you add a start point, you need to reset the Deployoment ID property. (See Breaking the link to existing run-time instances.)

To add a start point:

  1. Drag the start point icon onto the process diagram.

  2. Select the type of start point to add and click OK.

  3. Click the start point and provide values for properties in the Process Properties view.

Replacing legacy custom event types

If your process uses legacy custom event types, replace them in your process. Use the custom event types that you have imported into an application and reset the Deployment ID.

Before you replace a legacy custom event type, note the name and property values.

Replace legacy custom event types:

  1. Delete the legacy event start point, receive, throw, or catch from the process.

  2. Drag the Event Picker icon to the process diagram.

  3. In the Find box of the Define Event dialog box, type the name of the event type.

  4. Select the imported event type (located in an application) and click OK.

  5. Click the button that corresponds with what you want to do with the event type.

  6. Configure the event type using the same property values that were used for the legacy event type. (See Controlling process flow using events.)

Replacing legacy subprocesses

If your process invokes legacy processes (subprocesses), import the legacy subprocesses into an application and reset the Deployment ID. The application that contains the subprocess to invoke must be deployed. When deployed, the LiveCycle ES2.5 service for the process is created.

Before you replace a legacy subprocess, note the name and property values.

Replace legacy subprocesses:

  1. Delete the icon for the subprocess from the process diagram.

  2. Drag the Subprocess icon to the process diagram.

  3. In the Find box of the Define Subprocess Activity dialog box, type the name of the process to invoke.

  4. Select the process that exists in the application and click OK.

  5. Select the subprocess icon and configure the properties in the Process Properties view.

Configuring security settings

Security settings of legacy processes are not persisted when the Deployment ID property is reset. Configure security settings manually using LiveCycle Administration Console. (See Modifying security settings for a service in LiveCycle ES2.5 Administration Help.)

Using LiveCycle 7.x QPACs

Processes that use LiveCycle 7.x QPACs continue to function in LiveCycle ES2.5. Consider upgrading your processes using the Process Upgrade Tool to take advantage of new features and continued support. (See Upgrading processes that use QPACs.)

Using deprecated operations

Some operations have been deprecated since the previous release. Typically, deprecated members are replaced with new ones. Replace deprecated operations in your legacy processes to take advantage of improvements they provide. Also, replacement operations are supported longer than deprecated ones.

In lists of services and operations, such as on the Services view, the names of deprecated services and operations have the suffix "(deprecated)".

Exporting embedded documents from operation properties

In LiveCycle ES, some service operations allowed you to select documents from the file system to use as property values. After selecting the document, it became embedded in the process properties. For example, you could select DDX documents from the file system to configure the properties of invokeDDX and invokeOneDocument operations of the Assembler service.

LiveCycle ES2.5 now enables you to select documents from applications so that you can more easily update them. Consequently, after importing a process that includes embedded documents, you cannot use the Process Properties view to view or edit the documents. To view or edit embedded documents, export them to an application. After exporting, open the asset to view or edit it.

You can export embedded documents only after you import the process to an application. The process must also be checked out when you export. When you export the document, the operation property is automatically configured to use the new asset as a value.

Export embedded documents:

  1. On the process diagram, select the operation that uses an embedded document as a property value.

  2. In the Process Properties view, locate the property that uses the embedded document as a value.

  3. Click the Export button .

    The Export button appears only when an embedded document value exists.

  4. In the File Name box, type a name for the file. Use the correct file name extension.

  5. Select the application version and folder in which to save the file, and then click OK.

Changing the reliance on null value results from XPath expressions

Review any logic in your processes that rely on the following situation:

  • Null values are returned from XPath expressions.

  • The XPath expressions retrieve values from data types that are defined by service components or custom Java classes in custom components (service container files).

In LiveCycle ES2.5, this situation causes XPath expressions to return an empty-value instance of the data type instead of null. If your business logic relies on null values from XPath expressions, make sure the XPath expressions still return null. Otherwise, change the implementation of the business logic.

Note: XPath expressions that return values from xml variables continue to support null values.

Upgrading human-centric processes

Human-centric processes that are imported into applications and have reset Deployment ID properties require several changes due to the following changes in LiveCycle ES2.5:

  • Forms and form data are represented differently.

  • Render and submit services are configured differently.

  • Task Manager end points are created using Workspace start points.

  • The User service is deprecated, and replaced with the User 2.0 service.

Note: Although the User service is supported, product changes have complicated its use in LiveCycle ES2.5 solutions. Adobe strongly recommends that you use the User 2.0 service.

Processes that use the User service or Task Manager end point require the following changes:

Replacing form-specific variables

Configuring Workspace start points

Using the User 2.0 service

You must have already imported your processes (including custom render and submit processes and subprocesses), forms, and other resources into one or more applications. (See Importing resources, processes, and events to applications.) You also need to reset the Deployoment ID property. (See Breaking the link to existing run-time instances.)

Replacing form-specific variables

In LiveCycle ES2.5, xfaForm, Document Form, and Form variables are not used to represent forms and form data. Instead, form assets are referenced directly and data is saved in xml variables. When forms submit PDF documents, the document is saved in document variables.

Note: Render and submit services are no longer configured in form variable properties. Instead, they are associated with the action profiles of form asset properties. Action profiles control which render and submit services are used, and other properties that involve presenting assets and data to users.

Before you replace an xfaForm, Document Form, or Form variable, note its property values. Perform the following procedure to create an xml variable for each xfaForm, Document Form, and Form variable in your process. You must have already imported the forms that the variables represented into applications.

Create an xml variable:

  1. In the Variables view, click Create New Variable  .

  2. In the Name box, type a name for the variable, following these naming rules:

    • Must be a valid XML element name that contains only valid XML characters.

    • Must not start with a digit.

    • Must be less than 100 characters long.

    • Must be unique and therefore cannot be id, create_time, update_time, creator_id, or status, which are reserved variables always in the process data model.

  3. In the Type list, select xml.

  4. If the variable is used to store process data, select Process Variable in the Purpose area.

    • If the variable stores input data that is provided when the process is initiated, select Input.

    • If the variable stores data that is returned to the process initiator when the process is complete, select Output.

    • If the variable stores input data that is mandatory to initiate the process, select Required.

  5. To import a schema to make the xml data structure appear in XPath Builder, click Import Asset.

  6. Select an XSD file or an XDP file that has an embedded schema from an application and click OK.

  7. Click OK.

Using legacy render and submit processes

Action profiles provide more flexibility for prepopulating, rendering, and submitting presentation assets such as forms. The features of action profiles can negate the need for custom render and submit services. However, you can still use your custom render and submit processes from LiveCycle ES in your LiveCycle ES2.5 solutions.

Note: To determine whether your custom render and submit processes are still needed in LiveCycle ES2.5, see Designing data capture and presentation.

In LiveCycle ES2.5, render and submit processes must include an input variable of type Task Context. To invoke your legacy render and submit processes directly, redesign them so that they use a TaskContext value as input. To avoid redesigning, create a process that invokes your legacy render or submit process:

  • Legacy render and submit processes require no changes.

  • Input values for the legacy process are configured on the service’s invoke operation.

  • The TaskContext value that is automatically passed to the new process contains useful data for configuring the invoke operation.

Perform the following procedures for each form asset to use custom render and submit processes. You must have already imported the custom render and submit processes into an application. (See Importing resources, processes, and events to applications.)

Reset Deployment ID properties:

  1. Reset the Deployment ID property of the legacy render and submit processes that you have imported. Resetting enables you to invoke them as subprocesses. (See Breaking the link to existing run-time instances.)

  2. Right-click the application that contains the render and submit process and click Deploy.

Create new render and submit processes:

  1. In the Applications view, right-click the asset and click Manage Action Profiles.

  2. Select the default action profile, or create an action profile to preserve the default one.

  3. To create a render process, under Render Process click the Create A Render Process button  .

  4. Type a name for the process and click OK.

  5. To create a submit process, under Submit Process click the Create A Submit Process button  .

  6. Type a name for the process and click OK.

  7. Click OK to close the Manage Action Profiles dialog box.

Configure render and submit processes:

  1. In the Applications view, right-click the new render or submit process and select Open.

  2. Define the operation that was automatically added to the process:

    • For render processes, right-click the Render operation and click Define Operation.

    • For submit processes, right-click the Submit operation and click Define Operation.

  3. Select the invoke operation of the legacy render or submit process and click OK.

  4. On the Confirm dialog box, click Yes.

  5. In the Process Properties view, configure the Input and Output properties of the invoke operation.

Configuring Workspace start points

Configure the Workspace start point that you added using the procedure in Creating endpoints for processes.

Most of the values for the Workspace start point are the same that were used for the LiveCycle ES Task Manager endpoint. The following table shows how to use the values from the LiveCycle ES Task Manger endpoint properties to configure the Workspace start point.

LiveCycle ES Task Manager endpoint property

Corresponding Workspace start point property

Name

General/Name

Description

General/Description

User Can Forward Task

Options/User Can Forward Task

Show Attachment Window

No equivalent property. If Permit Adding Attachments is selected, the attachment window appears.

Allow Attachment Adding

Attachment Options/Permit Adding Attachments

Task Initially Locked

Options/Task Initially Locked

Add ACLs for Shared Queues

Options/Add ACLs For Shared Queues

Task Instructions

General/Task Instructions

Process Owner

General/Contact Info

Categorization

General/Category

Operation Name

Not needed. The current process is invoked.

Other Workspace start point properties configure the form and variable to use to store form data:

Asset:
The presentation asset to display to the user. Click the ellipsis button and select a form or Guide file. You can select a file from any application.

Action Profile:
The action profile to use with the asset. The action profiles that appear are already created for the asset that you selected.

Variable:
The variable in which to store the submitted data. Select either an xml, document, or Task Result variable:
  • Select an xml variable if the asset submits field data that is en XML or XDP format.

  • Select a document variable if the asset is a PDF form that submits a PDF document.

  • Select a Task Result variable to save the field data as well as other information about the task.

Reader Submit:
Properties for enabling the submission of XDP or PDF forms that do not include a submit button. LiveCycle ES did not support this situation so you do not need to configure this property.

Before you configure the start point, configure your form assets and xml variables. (See Replacing form-specific variables.)

Configure the Workspace start point:

  1. In the process diagram, select the Workspace start point.

  2. In the Process Properties view, configure the properties using equivalent values from the LiveCycle ES Task Manager endpoint according to the previous table.

  3. Expand the Presentation & Data property group and provide the following values:

    • Asset: Select the form or Flex application to present to users.

    • Action Profile: Select the action profile of the asset that you want to use.

    • Start Point Output: Select the xml variable for saving the submitted data.

Using the User 2.0 service

Replace each Assign Task operation (User service) on your process diagram with an Assign Task operation from the User 2.0 service.

Most of the values for the new Assign Task operation are the same that were used for the deprecated Assign Task operation. The following table shows how to use the values from the deprecated operation to configure new Assign Task operations.

Deprecated Assign Task property

Corresponding Assign Task operation (User 2.0 service) property

General properties

General properties

Route Evaluation properties

Route evaluation properties

Initial User Selection properties

Initial User Selection properties

Task Instructions

Task Instructions

Form Data Mappings

No corresponding properties. Forms and form data are represented differently in LiveCycle ES2.5.

Task Access Control List (ACL) properties

Task Access Control List (ACL) properties

Delegation and Consultation properties

Reassignment Restrictions properties

Attachments and Notes/Show Attachment Window For This Task

Attachments/Show Attachment Window For This Task

Attachments and Notes/Do Not Initialize This Action With Any Notes Or Attachments

Attachments/Input List (Do not specify an input list)

Attachments and Notes/Copy All Notes and Attachments From Previous Task

Attachments/Input List (Use the list variable that saved output attachments from the previous task)

Attachments and Notes/Copy All Notes and Attachments From A List Of Documents

Attachments/Input List

Attachments and Notes/Output Attachments

Attachments//Output Attachments

Routes And Priority/Initialize Task With Route Names

User Actions/Specify Custom Names For Actions. Add a user action for each route name.

Routes And Priority/User Must Select A Route To Complete The Task

No corresponding property. In LiveCycle ES2.5, users must always select a user action to complete the task.

Routes And Priority/Select Priority For This Task

Priority/Task Priority

Reminders properties

Reminders properties

Escalation properties

Escalation properties

Deadline properties

Deadline properties

Custom Email Template properties

Custom Email Template properties

Before you replace deprecated Assign Task operations, you must have already configured your form assets and xml variables. (See Replacing form-specific variables.) Use the following procedures to replace a deprecated Assign Task operation.

Add an Assign Task operation:

  1. Drag the Assign Task operation to the process diagram.

  2. In the Process Properties view, configure the properties using equivalent values from the deprecated Assign Task operation that you are replacing according to the previous table.

  3. Expand the Presentation & Data property group

  4. Select Use An Application Asset, click The ellipsis button  next to the Asset box, and select the form asset.

  5. Make sure the action profile that you want to use is selected.

  6. (Optional) To prepopulate the asset, in the Variable list select an existing xml variable that contains the data. For example, select the variable that was used as the Start Point Output property value. To create an xml variable to use as the property value, click the Create New Variable button .

  7. Expand the Output property group.

  8. (Optional) To save submitted task data, in the Task Result list select a Task Result variable. To create a variable to use as the property value, click the New Variable button and create a Task Result variable.

    Task Result variables were new in LiveCycle ES2. They store all data that is submitted with tasks, such as asset data and information about the task.
  9. (Optional) To save submitted asset data, in the Output Data list select an xml variable to save the data. Saving the asset data separately is useful for using the data to populate the asset of a subsequent task.

Draw routes for the new Assign Task operation:

  1. If the routes that lead to or away from the deprecated Assign Task operation include conditions, note the expressions of the conditions.

  2. Delete the routes that lead to and away from the deprecated Assign Task operation.

  3. Draw routes to and from the new Assign Task operation that you added in the previous procedure.

  4. (Optional) If the deprecated Assign Task operation used route names as task submission options, add a user action for each route. For example, if the route names were Approve and Deny, add user actions named Approve and Deny:

    • Expand the User Actions property group.

    • Click the Add A User Action button  .

    • In the Action Name box, type the name of the action as you want it to appear to the user.

    • From the Destination list, select next operation to execute when the user action is clicked, and then click OK.

  5. (Optional) If the routes to or from the deprecated Assign Task operation included conditions, add the conditions to the routes of the new Assign Task operation:

    • Select the route and in the Process Properties view, expand the Conditions property group.

    • Click the Add Route Condition  button.

    • In the Expression box on the left, type the first part of the expression. If the condition is complex, click the ellipsis button  to display the XPath Builder.

    • In the Operation list, select an operation.

    • In the Expression box on the right, type the second part of the expression. If the condition is complex, click the ellipsis button to display the XPath Builder.

    • Click OK to close the Route Properties dialog box.

    • If you have more than one routing condition in the Conditions category, select the join condition to determine how the conditions are evaluated:

      • Use AND Join For Conditions means that the route is valid only if all the conditions evaluate to True.

      • Use OR Join For Conditions means that the route is valid when one or more of the conditions evaluate to True.

      The default join condition is Use OR Join For Conditions.

Delete the deprecated Assign Task operation:

 Right-click the deprecated Assign Task operation and click Delete Operation.