Identifying archived objects that affect destruction of data

Destroying personal data can require navigating the entity domain graphs and possibly purging objects other than the root objects. Therefore, it is possible that a purge can be affected by archived objects.

For example, purging a contact’s data affects several policy periods, one of which is archived.

If there are references from any archived documents to any object instances in the entity graph, the objects cannot be destroyed until the archived objects are restored from the archive. Therefore PolicyCenter requires that a table of archived objects be built and maintained to use in determining if references from archived objects exist.

If you already have archived policy periods in an existing installation of PolicyCenter, you must run the ArchiveReferenceTrackingSync batch process once to build the initial table of archived objects.

The batch process adds entries to a reference table for every archived object that does not yet have an entry.

Important: Running this batch process is required to use the personal data destruction feature. Running it can slow your system noticeably. It is suggested that you run it before deploying the upgraded Guidewire application.

In the base configuration, PolicyCenter calls DataDestructionParameterCheck.verifyPersonalDataDestructionEnabled to determine if the ArchiveReferenceTrackingSync batch process has run. This method is called from:

PersonalDataContactDestructionWorkQueue
The class that implements the DestroyContactForPersonalData work queue.
PersonalDataDestructionNotifyExternalSystemsWorkQueue
The class that implements the NotifyExternalSystemForPersonalData work queue.

As you archive policy periods, PolicyCenter adds the PolicyPeriod objects to the reference table of archived objects. PolicyCenter checks this table whenever a personal data destruction request is initiated.

The utility class gw.api.archiving.ArchiveDocumentReferencesUtil provides methods for determining:

  • If an object or set of objects is referred to by an archived document.
  • Which archived documents refer to a given object or set of objects.