Defines the project backup policy on the integration client.
A backup policy defines two kinds of backups:
- Reference backups: These backups are considered to be permanent. They provide snapshots of the project at a given time interval, e.g. one week. The frequency at which a reference backup will be created is given by the {@link #getReferenceBackupFrequencyInDays() referenceBackupFrequencyInDays} property. A referencebackup will never be deleted.
- Intermediate backups: These backups are considered to be transient. They provide snapshots of the ongoing work with a project, e.g. in a single client session. A backup policy will restrict the maximum number of intermediate backups, through the property {@link #getMaxNumberOfIntermediateBackups() maxNumberOfIntermediateBackups}. If this limit is exceeded, the oldest intermediate backups will be deleted to keep the total number below the limit.
When a new backup is created, the system checks for the date of the last reference backup. If the last reference backup is older than the number of days defined by referenceBackupFrequencyInDays
, the new backup is flagged as a reference backup. Otherwise the new backup is considered to be an intermediate backup, and one or more older intermediate backups may end up being deleted to conform to the maxNumberOfBackups
property.
@author Torgil Zethson
@since 1.3.0