Logo Help Center

File versioning in Elvis 5

Working with different versions of a file in Elvis 5

Elvis creates new versions whenever a file is checked in, either through the Desktop client, the Elvis InDesign client or through the API.

Viewing and managing versions is primarily done in the Desktop client, where versions can be reviewed, promoted, removed or saved as a new file.

The number of versions and the way old versions are automatically cleaned up is completely configurable.

Storage

In Elvis 5, versions are stored in the following location:

Elvis Server/Elvis Shared Data/assetFilestore

Version cleanup

By default the last five versions are kept, as well as versions with the metadata field 'Keep version' set to 'true'. Cleanup of old versions is executed on file check in, or can be configured to run at specific times as a schedule plug-in.

This behavior can be configured in detail, see below. It is possible to change version cleanup behavior depending on, for example:

  • Number of versions saved
  • Version age
  • File type:
  • Keep more versions for office documents
  • Keep a few versions for images
  • Keep only one previous version for videos

Version cleanup filter query

Cleaning up of versions is controlled by a version cleanup filter query. All versions that match this query will be removed from the server. The cleanup is performed after every check in, and every time the internal "version cleanup" schedule plug-in runs.

Note: This query supports all normal search engine query syntax, but it executes on the version index, which means metadata might be outdated. For example, the assetPath stored in the version index is not updated when assets are moved.

Warning: Be careful: creating an incorrect query results in unwanted deleted versions.

Examples

Below follow some examples of filtering for versions to clean up.

Example 1

(Default filter). Settings:

  • Keep the last 5 versions
  • Keep all versions marked with keepVersion:true

versionCleanupFilter=versionNumberDelta:[* TO -6] AND NOT keepVersion:true

Example 2

Settings:

  • Remove versions older than 1 year
  • Keep the last 5 versions
  • Keep versions that were 'created' in the last month
  • Keep versions with keepVersion set to true

versionCleanupFilter=(assetFileModified:[* TO NOW-1YEAR] OR versionNumberDelta:[* TO -6]) AND NOT versionBackupCreated:[NOW-1MONTH TO *] AND NOT keepVersion:true

Example 3

Settings:

  • Keep the last 5 versions
  • Do not keep versions for video files
  • Always keep the first version
  • Keep versions with keepVersion set to true

versionCleanupFilter=(versionNumberDelta:[* TO -6]) OR assetDomain:video) AND NOT versionNumber:1 AND NOT keepVersion:true

Example 4

Setting:

  • Do not keep any versions

versionCleanupFilter=*:*

Configuration

The following are advanced configuration settings that can be changed in the cluster-config.properties.txt file (see Changing the Elvis 5 Server configuration for a running cluster).

  • removeVersionOnPromote. Set to true to remove a version when it is promoted to current asset. Setting this to true will save some disk space since the current asset is identical to the promoted version, apart from the embedded metadata. By default this is set to false to prevent confusing users when their just promoted version is no longer available.
  • versionCleanupFilter. The filter to locate the versions to clean up (see examples above)

Document history

  • 23 November 2016: Re-written article and updated references to Elvis 5.
Was this article helpful?
0 out of 0 found this helpful / Created: / Updated:
Have more questions? Submit a request

1 Comments

  • 0
    Avatar
    Rogier Lommers

    Suggestion for improvements: information about WHEN the cleanup gets triggered.

Please sign in to leave a comment.