Form Process Launch Plug-in
The Form Process Launch plug-in enables you to launch a separate child form from within a parent form. In addition, it enables the initiation of a separate process for individual people on a list, and for data to be copied from the parent form to the child form.
If you deploy a solution and the app, library, processname, appgroup, userapp, and/or userlibrary parameter is not found, you will receive an error message.
Properties
Name |
Description |
Mandatory |
Group Name |
Modes |
||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
app |
The name of the app that contains the form and the process you want to launch. Example: Direct Value: AppName Value from solution field: [field1] |
Yes |
Form Processs |
All |
||||||||||||||||||
library |
The library that contains the process or solution you want to launch. Example: Direct Value: LibraryName Value from solution field: [field1] |
Yes |
Form Process |
All |
||||||||||||||||||
processname |
The name of the process or solution you want to launch. This process/solution must be published prior to using the Form Process Launch plug-in, and must have a corresponding form associated with it. Example: Direct Value: SolutionName Value from solution field: [field1] |
Yes |
Form Process |
All |
||||||||||||||||||
appgroup |
A group you associate with the swim lane which is designated in the swim lane property. If appgroup is used, only a single swim lane index can be used. Multiple swim lanes can be assigned if they are assigned through reference data lists. Example: Direct Value: CollectionOwner Value from solution field: [field1] |
No |
Swimlane Resolver |
Appgroup |
||||||||||||||||||
swimlane[index] |
The name of the swim lane in the workflow of the process/solution you want to launch. For App Group Mechanism: The swim lane of the child process to which users returned by the appgroup parameter are assigned while launching the process. Use non-indexedFor Reference Data Mechanism: The swim lane of the child process to which users returned by the usercolumn parameter (at the position specified by the index) are assigned while launching the process. Example: Direct Value: swimlaneName Value from solution field: [field1] Note that the index value starts from zero (blank), and then continues from 0. |
Yes |
Swimlane Resolver |
All |
||||||||||||||||||
userapp |
The name of the app that contains the reference data solution from which users need to be extracted. Example: Direct Value: AppName Value from solution field: [field1] |
No |
Swim Lane Resolver |
Reference Data, Repeating Group |
||||||||||||||||||
userlibrary |
The library that contains the reference data solution from which users need to be extracted. Example: Direct Value: LibraryName Value from solution field: [field1] |
No |
Swim Lane Resolver |
Reference Data, Repeating Group |
||||||||||||||||||
usersolution |
The reference data solution name from which users need to be extracted. Example: Direct Value: SolutionName Value from solution field: [field1] |
No |
Swim Lane Resolver |
Reference Data, Repeating Group |
||||||||||||||||||
usercolumn[index] |
The name of the reference data solution column featuring users who are assigned to a swim lane at the position specified in the index. This is used only with the Reference Data mechanism. Example: Direct Value: SolutionName Value from solution field: [field1] If the index value is blank, it can take the direct value, the form field value, or the solution field value. If it is not blank, it can take only the direct value. The index value starts from zero/blank, and then continues from 0. |
No |
Swim Lane Resolver |
Reference Data, Repeating Group |
||||||||||||||||||
query |
The query to use when retrieving reference data rows. Example: Direct Value: [Plant]=@[/my:myFields/my:group1/my:group2/my:field5] |
No |
Swim Lane Resolver |
Reference Data, Repeating Group |
||||||||||||||||||
groupcolumn |
The name of the reference data solution column that contains the App/User Group names. Example: Direct Value: testGroupColumn If both parameters -- usercolumn and groupcolumn -- are defined, the system will look for these two columns in the reference data. This will create a process for all users in each designated group. Example: Values in User Column --/-- Values in Group Column
Then, the system will start 3 child processes, one for each group as follows: First process for users - user1, user2, user3 Second process for users - user1, user4, user5, user6 Third process for users - user7, user8 |
No |
Swim Lane Resolver |
Reference Data, Repeating Group |
||||||||||||||||||
sourcefield[index] |
The name of a field in a parent form the value of which is copied into a field in the child form. The user needs to provide the Xpath of the child form field in the destination field parameter at the same index. The index value starts at 0. |
No |
Copy Form Fields |
All |
||||||||||||||||||
destinationfield[index] |
The XPath of a field in the child form to which the value from a field in the parent form will be copied. Values with a given index will be copied from the sourcefield parameter to the destination field with the same index. The index value starts at 0. Example: Direct Value : /my:myFields/my:field2 |
No |
Copy Form Fields |
All |
||||||||||||||||||
singleprocess |
Specifies that only a single or multiple process should be launched. If set to Yes, a single process is launched and all users are treated as a team in a team assignment. If set to No, multiple processes are launched - one for each user. |
No |
Form Solution |
All |
||||||||||||||||||
autosyncfields |
Automatically copies the values of all fields named the same thing in the parent and child forms. If this parameter is set to Yes, there is no need to map the fields (in the sourcefield and destinationfield parameters) with the same name in the child and parent forms. If autosyncfields is specified, this operation happens before any explicit setting of field values, specified through the sourcefield[index], etc. |
No |
Copy Form Fields |
All |
||||||||||||||||||
repeatinggroupfieldxpath[index] |
The name of the repeating group field in the parent form the value of which is copied into a field in child form. The user needs to provide the Xpath of the child form repeating group field in the fielddestinationxpath parameter at the same index. The index value starts at 0. |
No |
Copy Form Fields |
All |
||||||||||||||||||
fielddestinationxpath[index] |
The XPath of a field in the child form to which the value from a repeating group field in the parent form is copied. Values with a given index will be copied from repeatinggroupfieldxpath parameter to the fielddestinationxpath field with the same index. The index value starts at 0. SingleProcess must be set to False for this setting to work. Multiple repeating groups are not supported. Example: Direct Value : /my:myFields/my:field2 |
No |
Copy Form Fields |
Repeating Group |
||||||||||||||||||
repeatinggroup |
The name of the repeating group in the parent form. SingleProcess must be set to False for this setting to work. |
No |
Swimlane Resolver |
Repeating Group |
||||||||||||||||||
resolveswimlanes |
A boolean field which indicates whether to run swim lane participant resolvers from the child process. The default value is No. If set to Yes, the child process swim lanes will always be resolved. If users are resolved by the swim lane parameter as well, users from PR and the swim lane parameter will be merged. If set to No, the swim lane parameter resolves all child process swim lanes and then the PR resolution is not completed. If all child process swim lanes are not resolved by the swim lane parameter, it behaves as though Yes has been selected. |
No |
Swimlane Resolver |
All |
Examples
A user launches a from and uses the form to search a list of records. If the record already exists, the user will launch a Change Record form (from within the parent form) that will be assigned to one or more users based upon an Appgroup or Reference Data or Repeating group of assignees to edit the record. If the Reference Data columns contains 10 people, then a new process and form is launched for each member. This would equate to 10 forms and processes, one for each member.
There are 3 mechanisms by which a form launched by this plug-in can be read:
- The Appgroup mechanism starts a form and process for each person in the app/user group.
- The Reference Data mechanism starts a form and process for each row of a given Reference Data column, and assigns specified users in the list to specified Swim Lanes.
- The Repeating Group mechanism is where a query based on the fields in a repeating group may or may not return a user. The results of the query will be used to resolve Swim Lane(s).
In the Repeating Group mechanism, you can map the repeating section fields in the child form. The parameters used for this are repeatinggroup, fielddestinationxpath[index] and repeatinggroupfieldxpath[index]. To map the repeating group fields, specify repeatinggroup, fielddestinationxpath and repeatinggroupfieldxpath parameters. The latter two parameters are indexed, so multiple fields can be mapped from repeating section in the parent form to the fields in child form also.
Waiting for child processes
The workflow can be set to wait for child processes to complete before continuing down the parent workflow. For example, if creating a New Hire form, a child form could be IT Tasks. Using a Wait for Child plug-in, the New Hire form can be paused while the IT Tasks child form fully completes.
When using Wait for Child plugins immediately after the Form Process Launch plug-in, add a Wait node to provide sufficient time for the child plug-in to launch. Otherwise, the Wait for Child plug-in may complete prematurely. The wait time is determined by the speed with which your background job can process the formprocesslaunch job type.
The following are quick 'short form' examples of parameters and settings you can use to achieve a variety of functions.
App group example
|
This example starts a new process called the Comment Form Process running against a new Comment Form form for each person in the Commentator App group. It will assign the person to the Comments swim lane in each process. |
Reference data example
|
This example starts a new process called theComment Form Process running against a new Comment Form for each row of the Reference Data Solution Comment Assignees present in the ReferenceDataLibrary1 library of the App2 app. The person in the Commenter field will be assigned to the Comments swim lane, and the person in the UserManager field will be assigned to the Managers swim lane. |
Repeating group example 1
|
This example queries the Reference Data Solution Comment Assignees in the app App2 for each row of the repeating group my:Repeating_Group_2. If a user is found, it then starts a new process called Comment Form Process running against a new Comment Form in which field1 and field2 in the repeating group in the parent form are mapped to field1 and field2 in the child form respectively - for that row in the app App1. The person in the Commenter field returned by the query will be assigned to the Comments swim lane. |
Repeating group example 2
|
This example queries the Reference Data Solution Comment Assignees in the app App2 for each row of the repeating group my:Repeating_Group_2. If a user is found, it starts a new process called the Comment Form Process, running against a new Comment Form in which field1 and field2 in the repeating group in the parent form are mapped to field1 and field2 in the child form respectively - for that row in the app (App1). The person in the Commenter field returned by the query will be assigned to the Comments swim lane. Swim lane participant resolvers of the child process will also run because resolveswim lanes is set to true. |