Friday, July 22, 2011

Data Archiving

As the data grows in your AR System environment, you have to archive data for mainly performance reasons. For instance, it is not logical to keep 5 year-old ticket in ticket form. This data can be archived and can be accessed whenever needed, esp. for reporting. AR System provides a built-in archiving mechanism. It is very simple to set up archiving and it is very similar to create an escalation object.

The mechanism behind archiving is actually the same logic with escalations. In Remedy Developer, you open a form, then go to Main Menu -> Form -> Form Properties -> Archive. The best option for archiving would be "Copy to Archive and Delete from Source".  Archive state should be "Enable". If you define the archiving for the first time, AR System will create the archive form automatically. There are some options for archiving attachments and diary fields. Time definition is quite straight-forward. The most important part is the qualification. You can use something like:
"$LastModifiedDate$ < $TIMESTAMP$ -86400". This will archive all records whose last modified date is older than 7 days. One of the important tips is that you are allowed to define indexes on archive forms as you do in Regular forms. If you have a reporting based on archive forms, this can be very helpful.

Built-in archiving mechanism however is not always the best. When the archive form is created automatically by AR System, its type is "Archive". In this form, AR System puts some new fields like "Original Request ID" and "Original Create Date" not to lose record creation information. During the migrations you would get in trouble if you do not maintain the archive form whenever you modify the original form. AR System sometimes gives errors when you import archive form. Another disadvantage is that built-in mechanism archives all the fields. This enlarges the archive form and you may not need all the fields for your reporting purposes. Another proposal would be to implement your own archiving with escalations. You can define archiving forms manually and you can transfer the records between forms via DSO. In this way, you can choose the fields which you would like to archive. Migrations will be easier since the form type of the archiving forms will be normal "Regular" form.

1 comment:

  1. In your equation, ("$LastModifiedDate$ < $TIMESTAMP$ -86400") you say this will archive any ticket more than 7 days old. Shouldn't that be "-604800)?

    ReplyDelete