Workflow Process Each Steps
Workflows contain one or more sequences and sequences contain steps. A process each step enumerates a list of items and for each item in the list, will call a sequence with the appropriate context to process it. The items may be processed in parallel or in series depending on the component doing the work.
For example suppose you have a sequence that processes mailboxes. To process the folders in that mailbox the workflow must have a sequence that can process email folders and apply that sequence to each folder in the mailbox. This is the purpose of a "Process Each Email Folder" step.
When the workflow execution reaches a process each step it will build a list of the items to be processed. It will then begin a separate execution for each item in the list using the sequence specified within the step. These separate executions can be performed in series or in parallel depending on the type of item being processed. After all the separate executions are finished, or the timeout has been reached, control returns to the process each step and the workflow continues to the next step.
Add / Edit Process Each Steps
To add a process each step, right click on any step (except the start) and choose Add Step > Process Each. A selection window shows you the list of process each steps available for this context. The selection will vary from context to context.
To edit an existing process each step, first click on the step. This will show the step preview in the right panel. From the right panel you can click the edit button.
When you add or edit a process each step you will see the "Edit Process Each Step" window. This window allows you to configure the behavior of this step in your workflow.
On the general tab of the "Edit Process Each Step" window you will be able to configure the label for this step as it will appear in your workflow. We encourage you to use a descriptive label. It will greatly improve the readability of your workflow.
In the center of the window you will need to select or add a sequence with the proper context to be called by this process each step.
At the bottom of the window you can set a maximum timeout in hours. This is how long the workflow execution will wait for the completion the list of items being processed by the selected sequence before it will continue the execution of the workflow. If this timeout is exceeded, the execution path will continue on the "On Timeout" path.
On the filters tab you can add filters to limit the list of items to be processed by this step. This can greatly reduce the overall processing time of a policy if the sequence is being called on significant number of items. For example it is much more efficient to use a "*.doc" like pattern to limit a "Process Each File" step than it would be to process every file in a sequence with a "Test File Name" decision filtering the files.
If you add multiple filters to your list than all must match for the item to be included.
The selection of filters can vary with each type of process each step. The following is a list filter types you may be able to select:
Equals - Performs a case insensitive text comparison on the item. The item must match to be included
Not equal to - Performs a case insensitive text comparison on the item. The item must NOT match to be included.
Greater than (>) - Evaluate the item in alphabetic order to determine if the item occurs after the value provided
Less than (<) - Evaluate the item in alphabetic order to determine if the item occurs before the value provided
Contains - The item must contain provided text to be included
Does not contain - The item must NOT contain provided text to be included
Begins with - The item must begin with the provided text to be included
Ends with - The item must end with the provided text to be included
Is like (pattern) - The item must match the provided "like pattern" to be included
Is not like (pattern) - The item must NOT match the provided "like pattern" to be included
Matches the regex pattern - The item must match the provided "regex pattern" to be included
The text being tested will vary by the type of item being processed. The following is a summary for the most common item types:
Person - Tests the display name set for this person
Server - Tests the name of this server
Mailbox - Tests the label for this mailbox
Online Archive - Tests the label for this online archive
PST File - Tests the full path and file name of this PST file
Email Folder - Tests the path within the email store for this folder
Email Message - Tests the subject of this email
Attachment - Tests the name of this attachment
Managed Path - Tests the full folder path
File Folder - Tests the full folder path
File - Tests the full path and name of this file
SharePoint Site - Tests the Url of the site
SharePoint List - Tests the title of the list
SharePoint Folder - Tests the full path this folder
SharePoint Item - Tests the full path this folder
SharePoint File - Tests the name this file
Removing Steps
To remove a step from your sequence, right click on the step and select Remove from the menu. Depending on what steps you have configured to follow this step, you may be asked which "path" you wish to preserve.
Moving Steps
You may want to change the order of the steps in your sequence. To do this, select the lower step, right click and select Move Up from the menu.
Process Each Steps By Context
The list of available process each steps will vary by the context sequence that will contain the step. The following is a breakdown of these steps by context:
Root and Top Level Context
Process Each Person - Processes each person associated with the policy and workflow
Process Each Server - Processes each server associated with the policy and workflow
Process Each Mailbox - Processes each mailbox belonging to the people and servers associated with the policy and workflow
Process Each Online Archive - Processes each online archive belonging to the people and servers associated with the policy and workflow
Process Each PST File - Processes each PST file belonging to the people and servers associated with the policy and workflow
Process Each Path - Processes each managed path belonging to the people and servers associated with the policy and workflow
Process Each SharePoint Site - Processes each managed SharePoint site belonging to the people and servers associated with this policy and workflow
Person Context
Process Each Mailbox - Processes each mailbox belonging to this person
Process Each Online Archive - Processes each online archive belonging to this person
Process Each PST File - Processes each PST file belonging to this person
Process Each Path - Processes each managed path belonging to this person
Process Each SharePoint Site - Processes each managed SharePoint site belonging to this person
Server Context
Process Each Mailbox - Processes each mailbox belonging to this server
Process Each Online Archive - Processes each online archive belonging to this server
Process Each PST File - Processes each PST file belonging to this server
Process Each Path - Processes each managed path belonging to this server
Process Each SharePoint Site - Processes each managed SharePoint site belonging to this server
Mailbox, Online Archive and PST file
Process Each Email Folder - Processes each folder within this email store
Process Each Email Message - Processes each message within this email store (regardless of folder)
Email Folder
Process Each Email Message - Processes each message within this email folder
Email Message
Process Each Email Attachment - Processes each attachment within this email message
Managed Path
Process Each Folder - Processes each folder and their sub-folders found within this managed path (includes the root managed path)
Process Each File - Processes each file in all the sub-folders of the managed path (regardless of folder)
Folder
Process Each File - Processes each file in this folder
Managed SharePoint Site
Process Each SharePoint List - Processes each Share Point list found within this managed Share Point site
SharePoint List
Process Each SharePoint Item - Processes each Share Point item in all lists of the managed Share Point site
Process Each SharePoint Folder - Processes each Share Point folder in all lists of the managed Share Point site
SharePoint Item
Process Each SharePoint File - Processes each Share Point file in all the items of the managed Share Point list
SharePoint Folder
Process Each SharePoint File - Processes each Share Point file in all the folders of the managed Share Point list