Use legacy processes, resources, and events as starting
points for developing AEM forms 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
)
Upgrading legacy artifacts
Workbench automates the process of upgrading legacy solutions
and artifacts with the Upgrade ES Artifacts tool. You can bundle
a legacy processes and its dependencies (forms, images, etc.) into
a AEM forms application. Instead of maintaining runtime references,
Workbench makes copies of legacy artifacts in the AEM forms Server
when they are selected to be included in an application. Before
you attempt upgrading your process, see
About the upgraded environment
.
-
In Workbench, access
File
>
Upgrade ES Artifacts
.
-
On the Process Selection screen, select the processes you
wish to upgrade. Note that, you can select specific versions of
a process you wish to include in your application by drilling down
to the appropriate process version. Use the Select All Processes
option to select all processes. Click
Next
.
Note:
Do not
import or upgrade pre populated system processes that are provided with
Workbench. For example, forms workflow Email (system).
-
Review the summary of selected processes on the Process Preview
screen. There might be processes, flagged as Implicit, listed that
you may not have selected earlier. These are processes that are
referenced by other dependent processes selected earlier on the
Process Selection screen. To this end, they are implicitly selected
to be upgraded and bundled into an application. You can choose to
override these implicit selections by deselecting appropriate assets. Click
Next
.
-
On the Resource Selection screen, select the resources you
wish to upgrade. Click
Next
.
-
Review the summary of your selection on the Selection Process
screen. It is recommended that the number of selected resources
should not exceed 400. Click
Next
.
-
Enter a name and provide a meaningful description for the
application on the Enter Application Information screen. Click
Finish
.
-
Complete all the manual tasks listed in the dialog box.
Note:
On
the Process Selection screen, when folder level selections are made,
latest versions of processes are selected by default. To select
the previous version of a process, deselect the folder level selection.
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 reference a legacy form in an application
in the AEM forms 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:
-
In the Applications
view, right-click the asset and click Properties.
-
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 AEM forms 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 AEM forms, 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 AEM forms Server to invoke the
process.
-
Mobile (Deprecated):
-
Users invoke processes via AEM forms express installed on
mobile phones.
-
Programmatic:
-
Oracle™ Java™ and
web service applications, REST, and applications built with Flex,
can invoke processes.
Before you add start points, use Administration
Console to review the end points that were used in the AEM forms
environment. Note the end point properties so that you can duplicate
them in the start point properties. (See
Managing Endpoints
.)
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:
-
Drag the start point icon
onto
the process diagram.
-
Select the type of start point to add and click OK.
-
Click the start point and provide values for properties in
the Process Properties view.
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 service in AEM forms for the
process is created.
Before you replace a legacy subprocess, note the name and property
values.
Replace legacy subprocesses:
-
Delete the icon for the subprocess
from the process diagram.
-
Drag the Subprocess icon
to
the process diagram.
-
In the Find box of the Define Subprocess Activity dialog
box, type the name of the process to invoke.
-
Select the process that exists in the application and click
OK.
-
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 administration console. (See
Modify
security settings for a service
.)
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 AEM forms, 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.
AEM forms 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:
-
On the process diagram, select
the operation that uses an embedded document as a property value.
-
In the Process Properties view, locate the property that
uses the embedded document as a value.
-
Click the Export button
.
The
Export button appears only when an embedded document value exists.
-
In the File Name box, type a name for the file. Use the correct
file name extension.
-
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 AEM forms, 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:
-
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 AEM forms 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 AEM forms, 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:
-
In the Variables view, click
Create New Variable
.
-
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.
-
In the Type list, select xml.
-
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.
-
To import a schema to make the xml data structure appear
in XPath Builder, click Import Asset.
-
Select an XSD file or an XDP file that has an embedded schema
from an application and click OK.
-
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 AEM forms in your AEM forms solutions.
Note:
To determine whether your custom render and
submit processes are still needed in AEM forms, see Designing data
capture and presentation.
In AEM forms, 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:
-
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
.)
-
Right-click the application that contains the render and
submit process and click Deploy.
Create new render and submit processes:
-
In the Applications
view, right-click the asset and click Manage Action Profiles.
-
Select the default action profile, or create an action profile
to preserve the default one.
-
To create a render process, under Render Process click the
Create A Render Process button
.
-
Type a name for the process and click OK.
-
To create a submit process, under Submit Process click the
Create A Submit Process button
.
-
Type a name for the process and click OK.
-
Click OK to close the Manage Action Profiles dialog box.
Configure render and submit processes:
-
In the Applications
view, right-click the new render or submit process and select Open.
-
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.
-
Select the invoke operation of the legacy render or submit
process and click OK.
-
On the Confirm dialog box, click Yes.
-
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 AEM forms Task Manager endpoint. The following
table shows how to use the values from the AEM forms Task Manger
endpoint properties to configure the Workspace start point.
AEM forms 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. AEM forms 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:
-
In the process diagram,
select the Workspace start point.
-
In the Process Properties view, configure the properties
using equivalent values from the AEM forms Task Manager endpoint
according to the previous table.
-
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 AEM forms.
|
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 AEM forms,
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:
-
Drag the Assign Task
operation
to
the process diagram.
-
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.
-
Expand the Presentation & Data property group
-
Select Use An Application Asset, click The ellipsis button
next
to the Asset box, and select the form asset.
-
Make sure the action profile that you want to use is selected.
-
(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
.
-
Expand the Output property group.
-
(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 store all data that is submitted with tasks, such as asset data
and information about the task.
-
(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:
-
If the
routes that lead to or away from the deprecated Assign Task operation include
conditions, note the expressions of the conditions.
-
Delete the routes that lead to and away from the deprecated
Assign Task operation.
-
Draw routes to and from the new Assign Task operation that
you added in the previous procedure.
-
(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.
-
(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.
Migrating LCAs to AEM forms
*New for 10*
Workbench is integrated with the Archive Migration tool, which
allows you to upgrade AEM forms archive files to the application
model. The tool was available as a plug-in for earlier versions,
but is a standard feature of Workbench.
The Archive Migration Tool converts 8.x LCAs to the application
model. The application model is a functional equivalent of the resources
model seen with AEM forms 8.x.
-
To access the Archive Migration Tool, go to File >
Archive Migration Tool.
-
Click the Browse button and point to the LCA that you intend
to migrate.
-
Enter a name and description for the new AEM forms application.
Click Finish.
-
In the applications view, you can now see that a new application
has been created.
The newly created application has not been stored into the AEM
forms Server yet. You can accomplish the same by checking in the
application and its assets in Workbench.
Perform the following tasks after migrating your LCA:
-
When you migrate your LCA, references to process variables
and activity configurations break. Sift through activities and ensure
that activity configurations and process variables are intact. Update
the references manually when ever necessary.
-
Replace deprecated APIs with new APIs.
-
If your processes use Events, redeploy the process and refresh
the Events view.
Note:
Archive Migration tool does not migrate custom components.
Migrate them manually by reimporting them in the components view.
Updating references to assets
After importing legacy processes, resources, and event
types into applications, the URL of the item is changed. Update
the references to the items in your forms (if the relative location
has changed) and custom client applications.
Process services
Change custom applications that you created with
the AEM forms SDK if they invoke services that are created for deployed
processes. In AEM forms, the name of these services in your Java™ code must be in the following format:
[Application Name]/[Service Name]
Resources
Change
references to resources to use URLs in the following format:
repository:///Applications/[Application Name]/[version]/[legacy path]
-
[Application Name]
is the name of the application
that the resource belongs to.
-
[version]
is the version of the application.
-
[legacy path]
is the path of the resource as it appeared
in the Resources view.
For example, in the Resources
view, the path of a form is Loan/Forms/request.xdp. The form is
imported into version 1.0 of an application named
NewCustomers
.
The new URL is repository:///Applications/NewCustomers/1.0/Loan/Forms/request.xdp.
|
|
|