Archive
While a backup is a copy of the data, an archive is a selected record of the original, that is moved elsewhere from its initial location, for long-term storage and future reference. Archives contain static data that is no longer actively used. They are usually not meant for updating or deleting, thus are not involved in the medialoopster housekeeping as well. Since archives tend to pile up, searchability is more important than a speedy recovery. Just like for non-archives, medialoopster stores metadata about archived assets, indexes them in the database and allows searches via the browser user-supplied search-options.
Medialoopster uses 3 archive methods, also called engines:
Filesystem
saves the archive on a local, share, mount or LAN folder
LTFS
moves data to tape using the LTFS data format and file system
Archiware P5
moves data to disk and tape, including SAN and offsite storage
Add an archive connector
When you archive assets/projects, first make sure that you have at least one archive connector in the system. When you add a new archive connector give it a name, choose the engine and add JSON encoded positional and keyword arguments. The arguments differ for the 3 types or engines:
Local/"Filesystem" arguments
{
"archive_path": "/path/to/archive/dir/",
"debug": false
}
| Name | Required | Description |
|---|---|---|
archive_path | yes | Absolute path of the folder where to store the archive, as seen by medialoopster. |
debug | no | Boolean value indicating advanced logging. Default is false. |
LTFS arguments
| Name | Required | Description |
|---|---|---|
connection: srv | yes | Address of the archive-server component. Default is 127.0.0.1. |
connection: port | yes | Port of the archive-server component. |
connection: tape_base | yes | Absolute path to the mounted LTFS tape, as seen by medialoopster. |
connection: staging_base | yes | Absolute path of an upper level root folder from where assets are allowed to be archived, or to where assets are allowed to be restored. |
connection: index_data_secure_size | no | Reserved storage space for the XML index file in the data partition of the tape, in MB. The XML index file has a copy in the index partition, as well as in the data partition. |
connection: exclude_tape_list | no | List of tapes excluded from archiving. Default is empty list []. |
debug | no | Boolean value indicating advanced logging. Default is |
Archiware P5 arguments
| Name | Required | Description | |
|---|---|---|---|
irs_connection | yes | Address of the IRS connection, in the form server:port. Default port is 13373. | |
awps_cli | - | Archiware PresSTORE client. | |
pscli_prog | yes | Absolute path to nsdchat or to nsdchat.exe, as seen by medialoopster. | |
pscli_nsdchat_session_id | yes | ID of the respective nsdchat instance. | |
pscli_connection | yes | Connection credentials. | |
pscli_relocation_path | yes | Absolute path where the assets should be relocated after a restore from archive, as seen by medialoopster. If left empty "", assets will be sent to their original location from before archiving. | |
pscli_time_zone_out | yes | Timezone of the timestamp. If left empty "", the timezone of the system will be taken. Standard is UTC. | |
pscli_store_callback_script | yes | Local path to the archive store callback script on the Archiware server. | |
pscli_restore_callback_script | yes | Local path to the archive restore callback script on the Archiware server. | |
pscli_callback_data_dir_local | yes | Local path to the folder of the temporary JSON data in the medialoopster Docker container. | |
pscli_callback_data_dir_remote | yes | Local path to the folder of the temporary JSON data on the Archiware server. | |
pscli_asset_id_meta_key | yes | Indicator for the asset metadata to be used at decoding. Default is asset_id. | |
medialoopster_meta_keys | yes | Indicators for medialoopster metadata info to be used. | |
archiveindex | yes | The database archive index to be used. | |
archiveplan | yes | The archive plan to be used. | |
archiveclient | yes | The name of the computer where the Archiware client runs. Standard is localhost. | |
debug | no | Boolean value indicating advanced logging. Default is | |
Add an archive device
Secondly, make sure that the path of your achive connector is assigned to one device. Add a new device for your path /mnt/medialoopster/Watchfolder/test-archive, give it a name and a display name, set "Is archive" to trueand check "Allow direct writing".
Assign the archive connector to devices
Thirdly, for each Device where you want to archive assets from , pick an archive connector at "Archive connector".
Send to and restore from archive
Only after the previous setups steps are done, the archive icons under each asset or project in the browser user interface will become visible and enabled for users with the archive_<type>_asset / restore_<type>_asset permissions:
- "Send to archive" for assets/projects that are not-archived and are "Ready for production" (
online, "is in production" checked, assets have an essence). The store request goes to a waiting list and gets handled via periodic tasks only:
→ A copy of the assets' essence is sent to the archive
→ The assets/projects are marked "Stored in archive" and:- "Ready for production": if "delete_afterwards" was
true(see below) - "Not ready for production": if "delete_afterwards" was
false(and delete the assets's essence)
- "Ready for production": if "delete_afterwards" was
- "Restore from archive" for assets/projects that are archived and "Not ready for production" (
offline, "is in production" not checked, assets do not have an essence). The restore executes immediately:
→ The essence is copied from the archive to the initial HighRes path
→ The asset remains "Stored in archive" and is marked "Ready for production"
Archiving a project involves sending/restoring from/to archive the assets from its Audio/Image/Video assets fields as well.
The "is in production" (corresponding to online) and "is in archive" fields should not be tampered manually. They are set automatically via the archive actions.
Add a periodic archiving task
To execute the archiving store requests from the waiting list, you must add a periodic task. Give it a name, choose the registered task archive.tasks.start_archiving, keep the checkbox "enabled" checked, give it an interval or a cron time format, and add the following JSON configuration:
{
"archive_connector_name": "archive_name",
"delete_afterwards": true
}
| Name | Required | Description |
|---|---|---|
archive_connector_name | yes | Name of the archive connector used in the archive actions. |
delete_afterwards | no | Boolean value indicating if the asset's essence should be deleted and the asset to become offline. Default is |
Records of archive activities
A record of all archive store activities are automatically created at "send to archive" requests in the administration and management interface . The activities are first set to "Waiting", then changed to "Successfully archived" after a periodic task takes them over.
A record of all archive restore activities are automatically created at "restore from archive" requests in the administration interface only (not in the management interface).
In the administration interface the models should be used only for visualizing.
Archives and housekeeping
After restoring from archive, the asset's and project's delete date is reset to today + the hold time in weeks, according to the rules from the medialoopster housekeeping.