Process Framework Subtasks

Below is a list of the subtasks you can use with Process Framework extensions (e.g., Session Manager, Workflow Manager), the criteria necessary for you to be able to enable them, and the steps the application performs when it executes them. Many of these subtasks are named after their associated task. You may also create custom subtasks. Use the Process Framework Admin Tool to group subtasks and create custom tasks.

Archive Packets

Compresses the mobile packet using the selected encoder. If Archive fails on any nodes in the list, the subtask will continue with subsequent nodes. Other subtasks within the task will continue to fire as normal.

Enabled

  • The node passed to this subtask must not be locked.

Execute

  1. Compresses the packets associated with the current node and its children using the transporter's "encoder." If a node is locked, it will not be archived. A message will be sent to the event log and the subtask will continue to the next node.

  2. A message indicates to the user any locked nodes that weren't archived.

Confirm Delete

Verifies that the user wishes to proceed with deleting the chosen node.

Enabled

  • This subtask is always enabled.

Execute

  • Displays a message box that asks the user if she wishes to continue. If the user selects No, this subtask returns false. If the user selects Yes, the subtask returns true.

Convert to XML Packet

Takes an existing workspace packet (older functionality) and converts it to an XML packet (new and more efficient functionality).

Enabled

  • A session or design node must be selected (Enterprise or field database).

Execute

  1. Checks to see that packet conversion applies. The node must be a session or design, it must be unlocked, and the user must have an MMSessionManager or MMWorkflowManager extension.

  2. Looks at the MM_MOBILE_STATE table to see if the session or design node has a corresponding row.

  3. Determines whether the node has a  workspace packet. If it doesn't, the subtask exits.

  4. Gets the path to the workspace packet.

  5. Converts the workspace packet to an XML packet.

Create Packet

Creates a new mobile packet.

Enabled

  • A session or design node must be selected.

Execute

  1. Gets packet IDs and a file path.

  2. Creates a unique GUID for the packet.

  3. Creates a mobile packet for the selected node, saves its contents and closes it.

Parameters

  • OverrideDefaultPacketPrefix: takes a string value for the packet prefix that will override the default. If the parameter is not set, the defaults are used. The defaults are "MMSM_" for Session Manager and "MMWMS_" for Workflow Manager.

Dearchive Packets

Decompresses the mobile packet using the selected encoder. If the dearchive subtask fails, all other subtasks will not run and prior subtasks will be rolled back.

Enabled

  • The node passed to this subtask must not be locked.

Execute

  • Decompresses the packets associated with the current node and its children using the transporter's "encoder." If a node is locked, it will not be decompressed and dearchived. A message will be sent to the event log and the subtask will continue to the next node.

Delete Packet

Deletes the mobile packet.

Enabled

  • A mobile packet must exist for the selected node.

  • The selected node must not be locked.

  • The user must be on an Enterprise database.

Execute

  • Deletes the mobile packet.

Display Conflicts Report

Opens a report that displays all conflicting edits in the currently open session or design.

Enabled

  • The open session or design must have an associated XML packet. 
  • The conflict report option will not appear in the drop-down list unless you have packet import conflicts that you have not already accepted.

Execute

  1. Reads the XML packet.

  2. Converts XML packet contents for display in HTML window.

  3. Uses a style sheet to convert the XML packet edit log to HTML for display in a web browser.

    NOTE: The style sheet location is determined by the following registry key: HKEY_LOCAL_MACHINE\Software\Wow6432Node\Miner and Miner\Process Framework\Style Sheets\ConflictsXSLPath\

Display Edit Log Report

Opens a report that displays all edits made to the currently open session or design.

Enabled

  • The open session or design must have an associated XML packet.

Execute

  1. Reads the XML packet.

  2. Converts XML packet contents for display in HTML window.

  3. Uses a style sheet to convert the XML packet edit log to HTML for display in a web browser.

    NOTE: The style sheet location is determined by the following registry key: HKEY_LOCAL_MACHINE\Software\Miner and Miner\Process Framework\Style Sheets\EditHistoryXSLPath\

Display Tasks Enabled Status

Displays only enabled tasks in the Process Framework user interface. This subtask is used for debugging.

Enabled

  • This subtask is always enabled.

Execute

  • Displays the tasks that are enabled for the selected node.

File Input/Output

Performs input/output to and from text files. Stores and retrieves text in a task dictionary.

Enabled

  • This subtask is always enabled.

Execute

  1. If an input dictionary key is provided, looks in the task dictionary for XML message.

  2. If input XML path is provided, gets the XML message.

  3. If neither input parameter has a value, prompts the user for an XML file and retrieves the XML message from the path provided by the user.

  4. Opens XML and processes according to verb provided.

  5. If output dictionary key is provided, writes the XML for the selected node to the task dictionary.

  6. If output XML path is provided, writes to a local XML file.

  7. If neither output parameter has a value, prompts the user for a path to where the XML file should be written and writes out the XML.

Parameters

  • Input Dictionary Key: Dictionary key from which the message is received.

  • Input XML Path: Local path to XML where message may be retrieved.
  • Output Dictionary Key: Dictionary key to which the message is stored.
  • Output XML Path: Local path to XML where message is to be stored.

GDBM Set Posting Priority

Assigns the posting priority set in Geodatabase Manager to the corresponding session or design version.

Enabled

  1. Process Framework must have been started from within ArcMap.

  2. The selected node must be a session or design.

Execute

  • Writes or updates a row in the GDBM_Post_Queue table for the node's version.

Parameters

  • Priority: Sets the post priority on the version. The default is 0, which is the lowest priority.

  • ShowMessages: Determines whether the application displays message boxes if problems occur while subtasks are executing. The default setting is True. If the user sets this value to False, the application does not display message boxes but errors and warnings are still recorded in the operating system's error log. For Windows, this file is accessed from the Computer Management console. Navigate to the Event Viewer > Applications and Services Logs > Miner node to view applicable messages.

Has No WS Packet

Determines whether a design or session is associated with a workspace packet. This subtask can be used to disable tasks you do not want performed on designs or sessions associated with workspace packets by setting the parameter to true. If the parameter is set to true and a workspace packet is detected, this subtask will be disabled and cause the task to fail.

Enabled

  • If the parameter is set to false, this subtask is always enabled.

  • If the parameter is set to true, the open session or design must not have an associated workspace packet.

Execute

  1. If the parameter is set to false, the subtask always stays enabled. If the parameter is set to true, the subtask checks if the design or session is associated with a workspace packet.

  2. If the parameter is set to true and the design or session is associated with a workspace packet, the subtask is disabled.

  3. If the subtask is disabled, the task fails and an error message is displayed.

Parameters

  • ValidateOnEnable: Can be set to true or false. The default is false.

    • If set to true, the subtask checks if the session or design is associated with a workspace packet. If the session or design is associated with a workspace packet, the subtask is disabled.

    • If set to false (default), the subtask will not check for workspace packets. Instead, the subtask will always be enabled.

Is Enterprise Disk Full?

Checks for free space based on a threshold value set in the MM_PX_CONFIG table. This threshold is set using the Configuration tab in the Process Framework Administration tool.

Enabled

  • Always enabled.

Execute

  1. Checks for free space on the disk on which the Enterprise base directory resides.

  2. Subtask fails if insufficient disk space exists.

Is Mobile Solution enabled?

Determines if Mobile is enabled.

Enabled

  • Mobile is enabled for process framework only if the process framework enterprise value is set on both the field and enterprise.

  • On a field machine, a Field Working Directory must exist. On the enterprise, an Enterprise Working Directory must exist.
  • The subtask looks for the ProcessFrameworkEnterprise configuration value in the Process Framework Administration tool.
  • On a field machine, it looks for the ProcessFrameworkField configuration value or a ProcessFrameworkField directory at the default location.

Execute

  • Always returns True.

Mobile Synchronize

Exchanges incoming and outgoing packets between the local (enterprise) and remote (field) transporter directories regardless of whether the user is in the field or on the enterprise.

Enabled

  • A Database ID value must exist in the field database.

  • Checks that the MM_Mobile_State table exists.

Execute

  1. Locks out other transporter operations.

  2. Allows the transporter to synchronize with the enterprise.

Mobile Update

Uses the current user's user name to update the field database with mobile packets from the Enterprise.

Enabled

  • The MM_Mobile_State table must exist.

  • The current Process Framework database must be a field database.

Execute

  1. Removes all packets from the transporter repositories.

  2. Places packets in the current user's working directory.

  3. Update the Process Framework, Session Manager, and Workflow Manager tables based on the packet contents.

Restore subtasks

By default, the transporter copies packets to a backup folder before it decodes the file to the working folder. After the transporter decodes the packet to the working folder, Process Framework will attempt to read the packet into the PX tables. If successful, then the backed up, compressed packet will be deleted.

So, if a user executes Send/Receive and one of the packets fails to update the PX tables, the "Restore" subtasks below are a way to restore the backup of the compressed packets back to the incoming folder.

Restore All Backup Packets

Pulls all packets from the transporter's backup folder and restores them to the working directory.

Enabled

  • The database must support Mobile.

  • Packets must exist in the transporter's backup folder.

Execute

  • Pulls all packets from the backup folder and places them in the working directory.

Restore Backup Packet

Pulls a specific packet from the transporter's backup folder and restores it to the working directory.

Enabled

  • The database must support Mobile.

  • A packet that corresponds to the selected packet ID must exist in the transporter's backup folder.

Execute

  • Pulls the packet from the backup folder and places it in the working directory.

Set Active Graphics Layer

Sets the Active Annotation Target according to the user-defined parameter.

Enabled

  • Enabled if Process Framework is running through ArcMap or ArcFM Viewer for ArcGIS Engine.

Execute

  • Sets the Active Annotation Target using the Graphics Layer Name entered as the subtasks parameter.

Parameters

  • TargetGraphicsLayerName: takes a string value Active Annotation Target. If this parameter is not set, it will default to the first annotation layer in the pull-down list.

Switch to Parent Version

Changes the version to the current version’s parent. Users might choose to use this subtask after closing, deleting, or posting a session.

Enabled

  • This subtask is always enabled.

Execute

  1. Ensures there is no editing session started. If one is started, warns the user to end the editing session.

  2. Opens the current version’s parent.

Unlock Node

Removes the locked status from nodes that have been locked due to a crash of ArcMap. This subtask will NOT be enabled for nodes that have been locked for the following reasons: the user is not the current owner, it is being edited by another user, its sibling has been approved, it is non-postable.

Enabled

  • The node is locked because of an ArcMap crash.

Execute

  • Unlocks the node.

Update Enterprise

Uses the Database ID to update the enterprise with mobile packets from the user working directories on the enterprise.

Enabled

  • A Database ID value must exist in the field database.

Execute

  1. Removes packets from the user's transporter directory based on the Database ID.

  2. Uses the Database ID to place the packets in the appropriate enterprise working directory.

If a Subtask Fails and Results in an Error

When you run a task, Process Framework will attempt to execute each subtask in order. If any subtask fails, the task stops executing and attempts to rollback each subtask and state transition. Each subtask is responsible for its own rollback, and if a rollback fails, the task will exit with an error. The error should appear in the log file.

Example: If there is a conflict between the Enterprise design and a Field design

  • When importing a design from the field, if the matching Work Request is not in the mobile state, the design.xml packet is placed in the Non/Mobile folder. If there are any files in the Non/Mobile folder, the subtask will exit with an error.

  • When exporting a design to the field, if the packet ID already exists in the Transport directory, it will move both IDs to the Duplicates directory (on the field side) or the Non/Mobile directory (on the enterprise side). You will see an error in the log file.

  • To resolve this issue, make sure the design.xml packet does not already exist in the Duplicates directory or the Non/Mobile directory.

QR code for this page

Was this helpful?