Typelists for status of personal destruction workflow

The personal destruction workflow uses typecodes to indicate various statuses. These typecodes are defined in three typelists, ContactDestructionStatus, DestructionRequestStatus, and ContactDestructionStatusCategory.

ContactDestructionStatus

When a new contact destruction request is started, the initial status of the destruction object is New. These status values are defined in the ContactDestructionStatus typelist. After a destruction attempt is made on the contact, the destroyer is expected to return a status corresponding to how much it was able to destroy:

  • New – The initial status of the destruction object when a new contact destruction request is started.
  • NotDestroyed – Nothing could be destroyed.
  • Partial – Some data was destroyed.
  • Completed – Everything requested was destroyed.
  • ManualIntervention – There was an error. This status enables inspection by the Data Protection Officer and must be set before setting ReRun.

    In the base configuration, ContactManager provides code that notifies the Data Protection Officer in the plugin class that implements PersonalDataDestruction. Additionally, after the Data Protection Officer takes action, the method PersonalDataDestructionController.requeueContactRemovalRequestWithPublicID must be called. You must configure a way to make that method call, such as a button in the ContactManager user interface.

  • ReRun – Enables another attempt at destruction.

DestructionRequestStatus

You can retrieve the status of the entire destruction request through the Status property on the request itself. The status values are defined in the DestructionRequestStatus typelist. The general status of the entire destruction request can be:

  • DoesNotExist – The object to be destroyed does not exist.
  • Unprocessed – Everything is still in the New status.
  • InProgress – All other combinations of contact destruction statuses.
  • Finished – Everything is in a final state.

ContactDestructionStatusCategory

Every ContactDestructionStatus typecode except ManualInterventionRequired has one or more categories.

  • DestructionStatusNotProcessed – Indicates that the request has not gone through the destruction process.
  • ReadyToAttemptDestruction – Labels the contact purge request as being ready to be sent to the destroyer.
  • DestructionStatusFinished – Indicates that the request has finished the destruction process.
  • ReadyToBeNotified – Labels the request as ready to notify to the external system.

New and ReRun are under the category ReadyToAttemptDestruction.

New also is included in the category DestructionStatusNotProcessed.

Partial, NotDestroyed, and Completed are under both the category DestructionStatusFinished and the category ReadyToBeNotified.