ArcFM Engine Developer Guide
Deleters

Version: 10.2.1c and 10.2.1c SP3

Resource Center Home

Deleter objects allow you to coordinate the deletion of node data in the Process Framework with deletion of data in ArcMap. This coordination is essential in the standalone Process Framework because ArcMap data deletion must occur at a later time when ArcMap is running.

When a user deletes a node from Process Framework or its extensions, the deletion must be reflected in ArcMap. Deleter objects were created to allow Process Framework and its extensions to delete rows in the ArcMap database tables corresponding to the nodes being deleted.

This is done when Process Framework is launched from within ArcMap. Process Framework utilizes a communication mechanism to request deletion services from ArcMap. This same communication mechanism may be accessed when ArcMap is running, but Process Framework has been launched independently as a standalone application.

If Process Framework is launched as a standalone application and ArcMap is not running, deletions may still be reflected in ArcMap. In this situation, Process Framework maintains a record of partial deletions. The next time Process Framework is launched with ArcMap (or when ArcMap is running), it requests deletion services from ArcMap and deletes the appropriate version data in the record.

Deleter objects are not utilized if the node has never been opened in ArcMap. In this case, there is no data in ArcMap tables associated with the node.


Interfaces:
    IMMPxDeleter
    IMMRegInCat
    IMMPxDisplayName

Component Category:
    MMProcessMgrDeleter

To create a custom deleter, implement IMMPxDeleter and IMMRegInCat. All custom deleters must implement IMMRegInCat in order to register the control in the MMProcessMgrDeleter component category.

The optional IMMPxDisplayName interface allows you to specify a display name for the deleter. This name is used in the Process Framework Administration Tool when assigning a deleter to a node type on the Node Types tab (Figure 1). If IMMPxDisplayName is not implemented, the deleter's prog ID is displayed.

Configure Deleter Objects

To ensure your custom deleter appears on the Node Types tab in the Process Framework Administration tool, it must be registered in the M&M Process Framework Deleter (MMProcessMgrDeleter) component category. This is easily done by utilizing the IMMRegInCat interface.

Once you have created the deleter(s), open the Process Framework Administration tool. Information is available in the online help for this application. On the Node Types tab, select your custom deleter from the Deleters field. All deleters registered to the MMProcessMgrDeleter component category are listed. You may also choose to manually enter the Deleter's progID.


Figure 1, Assign Deleter Prog IDs on the Node Types tab in the Process Framework Administration Tool

 

Example 1: Delete nodes with ArcMap open

In this example, Process Framework may communicate with ArcMap to delete version data. The user may have launched Process Framework from ArcMap, or ArcMap may be running independently. The user selects a node and clicks the Delete tool.

  • All node information is purged from the tables except version data.
  • If the node has never been opened in ArcMap, it means there is no ArcMap data that needs to be deleted. The node can be deleted.
  • If the node has been opened in ArcMap, then there is ArcMap data that needs to be deleted.
  • Because ArcMap is open, ArcMap data can be deleted directly followed by the Process Framework data. The PxDelete object is responsible for deleting the following data:

    For session nodes, delete:

    • Versions
    • Stored Display

    For design nodes, delete:

    • Versions
    • Stored Display
    • Designer-CU/Designer-Feature

    For work request nodes, delete:

    • Versions
    • Stored Display
    • WR-feature in MMBulletinBoard.SDE (or equivalent)

    For CU/WL nodes, delete:

    • DN-CU/ DN-Feature
  • If a version fails to be deleted, it will be flagged for later deletion.

 

Example 2: Delete a node in standalone mode

The user wishes to delete a node from Process Framework or an extension and ArcMap is not running. The user selects a node and clicks the Delete tool.

  • All node information is purged from the tables except version data.
  • If the node has never been opened in ArcMap, it means there is no ArcMap data that needs to be deleted. The node can be deleted.
  • If the node has been opened in ArcMap, then there is ArcMap data that needs to be deleted.
  • In this example, the user launched Process Framework as a standalone application, and ArcMap is NOT running. ArcMap data deletion must be deferred and the node data is marked in the MM_PX_VERSIONS table as needing deletion.

 

Example 3: Delete orphaned ArcMap data

In this example, Process Framework may communicate with ArcMap to delete version data. The user may have launched Process Framework from ArcMap, or ArcMap may be running independently. Orphaned ArcMap data exist because the user deleted nodes in standalone Process Framework.

  • User invokes the "Delete Orphaned Data" feature from ArcMap.
  • Process Framework queries the MM_PX_VERSIONS table for entries with a "TO_DELETE" status. Note that this user won’t be able to delete data for another user.
  • For each entry with a "TO_DELETE" status, the PxDeleter object is retrieved and the Delete() method called. Once the associated ArcMap data is removed, the Process Framework data will also be deleted. A node’s PxDeleter.Delete() method deletes the following data:

    For session nodes, delete:

    • Versions
    • Stored Display

    For design nodes, delete:

    • Versions
    • Stored Display
    • Designer-CU/Designer-Feature

    For work request nodes, delete:

    • Versions
    • Stored Display
    • WR-feature in MMBulletinBoard.SDE (or equivalent)

    For CU/WL nodes, delete:

    • DN-CU/ DN-Feature
  • If ArcMap version deletion was successful, then delete Process Framework data.
  • If a node fails to be deleted, it will be marked for later deletion.

 

 


Send Comment to ArcFMdocumentation@schneider-electric.com