Purging and archiving old work items
In a production application, work item data volume can grow to a size where hundreds of megabytes of database storage is required. The Purge/Archive wizards enable you to use an agent to automatically delete old work item data from the respective tables or store them in archive files. Purging and archiving old work items and their related history and attachment records helps maintain system performance by reducing database processing demands.
Archiving work item data enables you to retrieve them if needed for audits or for backups. Note the following:
- You can use the wizards to purge the work items without archiving them. Because there is no easy way to ever recover the deleted work items, use this option with care.
- You cannot use the wizard to archive only. Archiving always occurs with purging, which removes the rows from the tables.
You use the Purge/Archive wizard to set up the agent activity in two phases:
Phase 1: Configure the activity — Define the dataset that will be purged/archived. The dataset comprises a work pool in your application, and a set of work types (classes), folders, and covers within the work pool. The dataset is also qualified by the age of resolved work items to be purged/archived. Each configuration is an instance in class Data-Admin-ArchiveSettings.
Phase 2: Schedule the activity — For each cycle you specify:
- Start date and the frequency of each purge/archive cycle.
- Number of items you want to purge and/or archive. If this value is less than the number of items in the age group defined in Step 1, the oldest items are purged. The others remain in the source tables until the next cycle.
- A time limit for processing items within each purge/archive cycle. If the time limit is exceeded, the process stops and restarts after a defined number of hours has elapsed. These settings help spread out processing demands during a single cycle.
At the defined cycle start time, the purge/archive agent first populates an archive .zip file with the work items and their data as defined in Step 1. The agent then deletes the table data. Although the work items are purge/archived, the work item ID is left unchanged, to allow restoration or archived wok items without affecting current work items.
About the .zip file
The .zip files created by the wizard uses the following naming convention:
<workpool name_dataset name_ file creation date_run n >
The .zip files are stored in the Pega Platform system temporary directory configured for your installation.
Before you use the Purge/Archive Wizard, do the following:
- Establish a destination archive system that is a copy (same rules and data schemas) of the source production system that you are archiving. Maintaining a copy system enables you to upload, import, archive, and access .zip file data without the need for subsequent clean-up and reconfiguration.
- Identify the work pools and the work types you are purging/archiving.
- Identify whether there are folder items and/or covers that you want to purge/archive. Note that if any data items within a folder or cover are unresolved, then none of the items are purged or archived during the cycle.
- Estimate the average size of the work items and their related data. The wizard removes items by count, not by size. Knowing the size of your objects helps you estimate the archive .zip file sizes and the table sizes required for your target database. History, attachments, and links for each work item in your application are included in your .zip files.
Indexes created for work items are deleted but not archived. The indexes are recreated
when the work items are recovered from the archive. For example, work party indexes (table
) are purged but not archived. When the work item is
recovered, the work party index is recreated.
Using the wizards
Two wizards comprise the Purge/Archive wizard:
Configuration – Select this tab when you are:
- Creating and configuring a purge/archive agent dataset and defining the age of work items you want to purge/archive.
- Modifying the configuration of a purge/archive agent dataset (change work types and work item age)
Schedule process – Select this tab when you are:
- Creating a purge/archive process schedule for an agent activity configuration (created in the Configuration wizard)
- Reviewing the history of purge/archive activity and modifications to the agent work item
- Modifying the schedule information for a purge/archive configuration
- Removing the schedule for a purge/archive configuration
Restoring archived work items
To retrieve archived work items in your archive system, schedule an archive process and click the resulting archive. See Starting the archival process.
Testing the Purge/Archive wizard
Before using the wizard in a full-scale production system, it is strongly recommended that you test the wizard as follows:
Schedule a near-term purge/archive cycle using a test set of resolved work items.
Confirm that they and their related data are deleted from your application
pc_worktable and from the tables listed above in the preceding Prerequisites section. You can use Find by ID to verify that the items are not available.
- Use the Scheduling wizard and enter the agent information (work pool and name) you used for the test. This opens the user form. In the Interval Statistics section, open the entry for the date of the run. Verify that the number of work items and work-related records purged/archived are correct. Verify that the .zip file has been created.
- Purge a cover work item that contains resolved work items. Verify that all the work items inside the cover were successfully deleted.
- Purge a folder work item that contains a cover. Verify that the cover was deleted.
- Purge a folder that contains a cover that, in turn, contains resolved and unresolved work items. Confirm that none of them are purged.
Create a folder with a work item inside the folder. Check for an entry in the table
pc_link_folder. Purge the folder and then verify that the entry in the link table is deleted.
- Upload and import the .zip file into your archive system. Verify that all the data is recovered.
Granting wizard access
By default, only operators who hold the PegaRULES:SysAdm4 role can use the wizard.
To make this available to others:
- Identify an access role associated with the operators who are to hold the privilege.
- Open the Rule-Access-Role-Obj rule for the role you want to grant access, using @baseclass as the second key part.
- On the Privileges tab, add the PurgeArchiveConfigure privilege to the list with the appropriate access level. Save the form.