Mass Processing Overview

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 is then 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 are 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:

Example 1: Delete selected elements (non-mass processing):

  • Action descriptor: ACT_DeleteFileSingle (non-mass processing)
    • Tool descriptor: TOOL_UI_ConfirmDelete
    • Tool descriptor: TOOL_DeleteFile

The action is executed for every selected element, which means both the confirm dialog “TOOL_UI_DeleteFile” and the tool “TOOL_DeleteFile”, once per element. Whilst the repetition of the dialog becomes impractical, the execution of the delete action takes more time for larger selections, especially if it is a remote tool.

Example 2: Delete selected elements (mass processing):

  • Action descriptor: ACT_DeleteFileMass (mass processing)
    • Tool descriptor: TOOL_UI_ConfirmDelete
    • Tool descriptor: TOOL_FileDeleteMass

This action is executed once as the mass processing attribute is set, even if multiple elements are selected. After the first dialog tool is confirmed, all the necessary element properties are passed to the “TOOL_FileDeleteMass” tool which deletes all selected elements in a single call. In this case, the tool must support the processing of a group of elements.

Tools within mass processing actions can use tool-defined resource operations to update elements from the views as they process them. See Tool-defined Resource Operations for more information. A delete tool, for example, returns a REMOVE-ELEMENT: <ID properties> resource operation for every deleted element. This information is used by AWM to delete the elements from the UI.

Mass processing does not necessarily require the selection of several elements. 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 you the opportunity to select several rows from a checkbox table. The properties of these rows can be used by subsequent mass processing tools by setting the “Parameter From” attribute of all their mass input parameters to “Previous Tool”.