Mass processing is the term for processing several elements in a multi selection at once by passing the data of the whole selection to a tool within an action.
Mass processing can be enabled by setting the “Mass Processing” attribute of an action descriptor to true. The action will then be executed only once, even if several elements were selected. The tool types of the tool descriptors within the action must also support mass processing in order to handle all selected elements. Tools which do not support mass processing will simply be called once, and can use the main selection context but not the context of single elements within the selection.
The main context is built from:
To enable actions for multi selections, you must define element-enabled conditions with a selection count higher than 1 (or “*” if any number of selected elements is permitted).
The action will be executed for every selected element, which means both the confirm dialog “TOOL_UI_DeleteFile” and the tool “TOOL_DeleteFile” once per element. Whilst the dialog simply becomes impractical, the actual delete tool will take a lot of time for bigger selections, especially if it is a remote tool.
This action will be executed only once (because of the mass processing attribute), even if multiple elements were selected. After the first dialog tool is confirmed by the user, all the necessary element properties will be passed to the “TOOL_FileDeleteMass” tool which eventually deletes all selected elements in a single call.
Tools within mass processing actions can use tool-defined resource operations (see Tool-defined resource operations) to update removed elements from the views as they process them. A delete tool, for example, will return a REMOVE-ELEMENT: <ID properties> resource operation for every deleted element.
Mass processing does not necessarily require several elements to be selected. It is also possible for tools to create a multi selection context. For example, an input dialog can be modeled as a table selection dialog, which gives the user the opportunity to select several rows from a check box table. The properties of these rows can be used by subsequent mass processing tools by setting the “Parameter From” attributes of all their mass input parameters to “Previous Tool”.