Form Process Launch

The Form Process Launch plug-in allows you to launch a separate form and corresponding process during the execution of a workflow. This plug-in takes a list of people and starts a separate process for each person. For example, if the SharePoint group 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 the plug-in can read the people involved:

  • SharePoint Group mechanism will start a form and process for each person in the group.
  • SharePoint List mechanism will start a form and process for each row of a given SharePoint list, and assign people specified in the lists to specified swimlanes.
  • Repeating Group mechanism, 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 swimlane(s).

In the Repeating Group mechanism, we 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.

Value Pair

Description

autosyncfields

 

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

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 plug-in. The template name associated with this property is the name of the corresponding SharePoint list that is created when a form is published.

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 plug-in 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 true when you want a parent process to run the Swimlane Participant Resolvers of the child process. The default value is false.

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 swimlane designated in the Swimlane property. If sitegroup is used, then only a single swimlane can be used. Multiple swimlanes 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 swimlane to assign when launching via the SharePoint Group mechanism.

swimlane[index]

The name of the swimlane 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.

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

Examples

Example 1

  • form – Comment Form
  • newthread – Yes
  • processname – Comment Form Process
  • site – http://acme.com/sv/FormEx
  • sitegroup – Commentator
  • swimlane – 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
  • swimlane0 – Comments
  • userdomain0 – Commenter
  • swimlane1 – 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 swimlane, and the person in the UserManager field will be assigned to the Managers swimlane.

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
  • swimlane0 – 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 swimlane.

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
  • swimlane0 – Comments
  • usercolumn0 – Commenter
  • query - [Plant]==@[//my:myFields/my:group1/my:group2/my:field3]
  • repeatinggroup - //my:myFields/my:group1/my:group2
  • resolveswimlanes - 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 swimlane.

Swimlane participant resolvers of the child process will also run because Resolveswimlanes is set to true.