Archiving

Archive extension

The archiving process can be extended with custom functionality to archive additional data. Implement com.trax.payment.archive.extension.sample.TransmissionArchiveExtension and activate it by setting the archive-extension application property in the application.properties file. Currently it is commented out and points to a sample extension (com.trax.payment.archive.extension.sample.TransmissionArchiveExtension) which archives the BLOB of the outgoing transmission and a BLOB containing the channel reference of the outgoing transmission to two separate archive data records, resulting in two extra files after the export.

Define final repository state

The ‘flag as to-be-archived’ step within the archive process can be customized for the UP and BP workflow (not for the AS workflow) by using the ‘repositories’ parameter of the UnitaryPaymentFlagArchiveRule (UP workflow) or BulkPaymentFlagArchiveRule (BP workflow rule).Using this ‘repositories’ parameter you can override the default final repositories using a comma separated list of repositories which should be considered by the ‘flag-archive’ job.

Archive custom workflow

Set up archive configuration

Create a new Archive configuration and link it to the custom workflow.

Implement com.trax.archive.archiveableworkflow

Implement the logic for flagging and mapping the custom workflow.

Example: com.trax.payment.archive.BPArchiveableWorkflow

Implement rules

Implement the rules for flagging, archiving, exporting and purging.

Examples: com.trax.payment.archive.BPFlagArchiveRule

com.trax.payment.archive.BPArchivePaymentRule

com.trax.payment.archive.BPArchiveExportRule

com.trax.payment.archive.BPPurgeArchiveRule

Configure rules, rule sequences and jobs

Create rules and rule sequences for flagging, archiving, exporting and purging.

Examples: BP-flag-payments-archive

BP-archive

BP-archive-export

BP-purge-archive

Schedule jobs for the rule sequences.

Examples: BP-flag-archive

BP-archive

BP-archive-export

BP-purge-archive

Adjust archive search panel

Edit the ArchivingArchiveSearch XGL screen and add the custom workflow to the comboBox. Create a new translation for internationalisation

Overview

Figure 171 Archiving

Selective archiving

Introduction

Selective archiving has been introduced to offer more control on what gets archived. It offers the possibility to archive everything for a certain dataowner, regardless of the configuration for that particular workflow.

Selective archiving works for the unitary payments workflow (UP), the bulk payments workflow (BP), the message workflow (ME) and the account statement workflow (AS).

How it works

Selective archiving is controlled by configuring the same archiving jobs that already exist. Every workflow has four archiving rules (the index archive rule is left out of scope):

  1. Flag for archive
  2. Archive
  3. Export the archive
  4. Purge the archive

Those four rules have been given extra parameters, because selective archiving doesn’t use the archive configuration for the specific workflow.

Flag, archive and purge have two extra parameters, selective and dataowner. In addition, export has three more: exportBatchLimit, exportDirectory and exportSignature.

Once the selective parameter on the job is true, selective archiving is activated and replaces the ‘normal’ archiving via archiving configuration. Instead, all workflow objects belonging to the dataowner specified by the parameter will be processed.

selective A boolean to activate selective archiving
dataowner The dataowner code. All workflow objects having a dataowner with this code will be processed. Providing this parameter also triggers selective archiving
exportDirectory The directory to which the archive records will be exported. Mandatory (and only used) for export.
exportBatchLimit The maximum amount of archive records to be exported in one zip. Optional (and only used) for export. If not set, the default is 2500.
exportSignature Indicates if the signature also should be exported. Optional (and only used) for export. If not set, the default is ‘false’.