Help Center>Foundation Help

Applies to:

  • Winshuttle Foundation

Form Process Launch plugin properties

The Form Process Launch plugin basically enables you to launch a separate child form (or forms) from within a parent form. In addition, this plugin can take a list of people and starts a separate process for each person, and data can be copied from the parent form to the child form using the Form Data Exchange element.

On this page

Usage example

A user launches a from and uses the form to search a list of records. If the record already exists, then the user will launch a Change Record form (from within the parent form) that will be assigned to one or more users based upon a SharePoint list or group of assignees to edit the record. If the SharePoint list contains 10 people, then a new process and form is launched for each member of the SharePoint group. This would equate to 10 forms and processes, one for each member of the SharePoint group.

There are 3 mechanisms by which a form launched by this plugin can be read:

  • The SharePoint Group mechanism starts a form and process for each person in the group.
  • The SharePoint List mechanism starts a form and process for each row of a given SharePoint list, 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 - XPath of the repeating group in the parent form.
  • fielddestinationxpath - XPath of the field in the child form.
  • repeatinggroupfieldxpath - XPath of the repeating section field in the parent form.

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.

Form Process Launch Plugin properties

Back to top

Value Pair

Description

autosyncfields

 

Automatically copies all field names that are commonly named between the parent and child form.

NOTE: If autosyncfields is specified, then this operation happens before any explicit setting of field values, specified through the sourcefield[index], etc.

destinationfield[index]

The name of a field in the destination form.  Source field values with a given index will be copied to the destination field with the same index in the new form.

fielddestinationxpath[index]

Xpath of the field in the child form. SingleProcess (below) must be set to false for this setting to work. Multiple repeating groups are not supported.

form

The name of the form that you want to launch.

Note: This form must be published prior to using the Form Process Launch plugin. The template name associated with this property is the name of the corresponding SharePoint list that is created when a form is published.

groupcolumn Specify a Group name that will be retrieved from SharePoint. Users will be added to groups from the usercolumn SharePoint column, and the process will be assigned to the users in the groups.

newthread

A Yes/No setting. If Yes, a background thread is started to process the process invocations. Setting to Yes will make the browser more responsive, especially with numerous assignees.

processname

The name of the process that you want to launch.

NOTE: This process must be published prior to using the Form Process Launch plugin and must have a corresponding form associated with it.

query

The query to use when retrieving SharePoint rows.

repeatinggroupfieldxpath[index]

Xpath of the repeating group field in the parent form.

repeatinggroup

Xpath of the repeating group. SingleProcess must be set to false for this setting to work.

resolveswimlanes

This boolean parameter must be set to YES when you want a parent process to run the Swim Lane Participant Resolvers of the child process. The default value is NO.

singleprocess

 

When used with the SharePoint group option, specifies that only a single process should be launched, and the people in the SharePoint group should be treated as a team in a team assignment.

site

The SharePoint FormEx site that contains the form and process you want to launch.

sitegroup

Group you want to associate with the Swim Lane designated in the Swim Lane property. If sitegroup is used, then only a single Swim Lane can be used. Multiple Swim Lanes can be assigned if done through SharePoint lists.

Note: This parameter will not work with RepeatingGroupFieldXpath, FieldDestinationXpath, or RepeatingGroup settings.

sourcefield[index]

The name of a field in the source form.

swimlane

The Swim Lane to assign when launching via the SharePoint Group mechanism.

swimlane[index]

The name of the Swim Lane at the position specified by the index. This is used only when using the SharePoint List mechanism.

usercolumn

The column from which to retrieve people.

Note: This must be in the format of DOMAIN/USERNAME. For example: WS/JohnD

usercolumn[index]

The name of the user column at the position specified by the index. This is used only when using the SharePoint List mechanism.

Note: This must be in the format of DOMAIN/USERNAME. For example: WS/JohnD

userlist

List from which to retrieve people.

usersite

Site from which to retrieve people.

Form Process Launch solution example

Back to top

A user launches a Create record form and performs a search to check if a record already exists. In this scenario the record exists, so the user checks a box to confirm this and then submits the form. The workflow then opens a Change record form, and transfers all the data that the user has already entered on the original/previous form (as applicable). The Create process ends, the user receives a task for the new Change form, and then the user continues with the new process.

The elements to make this scenario work are described below.

Change Launch Workflow

Change Launch Form

Note: If fields are going to be updated from the Change Launch Form then they must have exactly the same name in both forms.

  1. Ensure there is a Swim Lane called Requester and add a Task. The other Swim Lanes can be configured as you wish.

    Note: this will match a field to be created in the Create form.

  2. Add some fields, including some which you will add to the create form process as well.
  3. The workflow can be designed to your own specifications/requirements. In this example, we’ve added the ‘Form Process Launch’ plugin followed by a Task, so that we can be sure the correct route in the workflow is followed. (This task can be removed after testing.)

  4. Create the Launch Form. Note that if fields are going to be updated in the Change Launch Form then they must have exactly the same name in both forms.

  5. This drop down on the form decides whether the new form should be launched or not. Option 1, in this example, launches the new form.

  6. The Requester field is populated by the Current User Control. Note: This field can be removed from the view once testing is complete if it’s no longer required

  7. The Form Name field is populated by the Form Name Control. Note: This field can be removed from the view once testing is complete if it’s no longer required

  8. In the Properties Pane, set both the Requester and Form Name fields to be Promoted to a SharePoint field.

  9. Save and Deploy both forms. Deploy the Change form first.
  10. You will need to define the following parameters (see table, below) in the Plugin Arguments Editor for the Form Process Launch plugin.

    Note: You must always define a user for the launched form in the plugin.

 
Site The URL of your form site , i.e. where the form to be launched by the plug in resides
ProcessName The name of the process to be launched from the initial process. For example, Change Launch Form.
Form The name of the form to be launched from the initial solution. This is usually the same as ProcessName (Change Launch Form, as in the example above).
Swim Lane The name of the Swim Lane in the Change form that has the first task to be activated. In this example, the Swim Lane name is Requester
UserSite

The URL of the site where the username for the first task in the Change Form will be retrieved from. In this example, we used the name of the user who launched the create process from the ‘Requester’ field (the field we promoted to a SharePoint field in step 8, above) in the create form to the forms list.

UserList

The list name where the username for the Change process is going to be retrieved from the Create Launch Form.

UserColumn

The SharePoint column name where the username is going to be retrieved from. In this example, Requester.

Query

[Title]==FormName.

This is the query used to select the correct username from the list.

[Title] is the first column of the Create Launch Form SharePoint list.

@[FormName] is the name of the promoted column in the SharePoint list.

AutoSyncFields Set to Yes. This copies the content of all the fields that share a common name across the two forms.

Additional Examples

Back to top

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 plugin, 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 plugin, add a Wait node to provide sufficient time for the child plugin to launch. Otherwise, the Wait for Child plugin may complete prematurely. The wait time is determined by the speed with which your svservice job can process the formprocesslaunch svservice job type.

The following are quick 'short form' examples of parameters and settings you can use to achieve a variety of functions.

Example 1

  • form – Comment Form
  • newthread – Yes
  • processname – Comment Form Process
  • site – http://acme.com/sv/FormEx
  • sitegroup – Commentator
  • Swim Lane – Comments

This example starts a new process called Comment Form Process running against a new Comment Form form for each person in the Commentator SharePoint group.

It will assign the person to the Comments swim lane in each process.

Example 2

  • form – Comment Form
  • newthread – Yes
  • processname – Comment Form Process
  • site – http://acme.com/sv/FormEx
  • usersite – http://acme.com/admin
  • userlist – Comment Assignees
  • Swim Lane0 – Comments
  • userdomain0 – Commenter
  • Swim Lane1 – Managers
  • userdomain1 – UserManager

This example start a new process called Comment Form Process running against a new Comment Form for each row in the list Comment Assignees in the site http://acme.com/admin.

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.

Example 3

  • fielddestinationxpath0 - /my:myFields/my:field1
  • repeatinggroupfieldxpath0 /my:myFields/my:group1/my:group2/my:field1
  • fielddestinationxpath1 - /my:myFields/my:field2
  • repeatinggroupfieldxpath1 /my:myFields/my:group1/my:group2/my:field2
  • form – Comment Form
  • processname – Comment Form Process
  • site – http://acme.com/sv/FormEx
  • usersite – http://acme.com/admin
  • userlist – Comment Assignees
  • Swim Lane0 – Comments
  • usercolumn0 – Commenter
  • query - [Plant]==@[//my:myFields/my:group1/my:group2/my:field3]
  • repeatinggroup - //my:myFields/my:group1/my:group2

This example queries the userlist Comment Assignees in the site http://acme.com/admin for each row of the repeating group.

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 site http://acme.com/sv/FormEx.

The person in the Commenter field returned by the query will be assigned to the Comments Swim Lane.

Example 4

  • fielddestinationxpath0 - /my:myFields/my:field1
  • repeatinggroupfieldxpath0 - /my:myFields/my:group1/my:group2/my:field1
  • fielddestinationxpath1 - /my:myFields/my:field2
  • repeatinggroupfieldxpath1 - /my:myFields/my:group1/my:group2/my:field2
  • form – Comment Form
  • processname – Comment Form Process
  • site – http://acme.com/sv/FormEx
  • usersite – http://acme.com/admin
  • userlist – Comment Assignees
  • Swim Lane0 – Comments
  • usercolumn0 – Commenter
  • query - [Plant]==@[//my:myFields/my:group1/my:group2/my:field3]
  • repeatinggroup - //my:myFields/my:group1/my:group2
  • resolveSwim Lanes - true

This example queries the userlist Comment Assignees in the site http://acme.com/admin for each row of the repeating group.

If a user is returned a new process called Comment Form Process starts.

The Comment Form Process runs against a new Comment Form, in which field1 and field2 in the parent form's repeating groups are mapped to field1 and field2 in the child form for that row in the site http://acme.com/sv/FormEx.

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.