Info: This feature requires Elvis 5.27.5 or higher.
In rare cases it can be possible to have multiple assets with the same asset ID in the system.
Because an asset ID should be unique for each asset, this issue needs to be resolved. This can be done by moving duplicate assets to a dedicated folder and assigning a unique ID to each asset, or by removing the duplicate assets from the system.
Definition of 'duplicate'
The distinction between the original asset and any duplicate assets is made based on the assetModified field:
- The original asset is considered to be the asset with most recent assetModifed value.
- Duplicate assets are all other assets with the same asset ID as the asset that is considered to be the original asset.
Resolving assets with duplicate IDs
The process involves performing a scan to see if any assets with duplicate IDs exist, followed by separate steps to move these assets to a dedicated folder and assigning unique IDs, or to remove them from the system.
Note: Moving assets to a different folder and assigning unique IDs for assets that are stored on a S3 storage engine on Amazon AWS requires Elvis 5.27.12 or higher.
Scanning for assets with duplicate IDs
This will scan all indexes and shows an overview of all assets with same ID. No action on the assets themselves is taken.
Use the following POST API call:
<Elvis Server URL>/services/system/asset/cleanup?dryRun=true
Moving duplicate assets and assigning unique IDs
Note: Performing this action for assets that are stored on a S3 storage engine on Amazon AWS requires Elvis 5.27.12 or higher.
This will move all assets with a duplicate ID to the following folder and assign a unique ID to each asset:
/Rescued/duplicates/<assetPath>
Use the following POST API call:
<Elvis Server URL>/services/system/asset/cleanup?dryRun=false
Removing duplicate assets
This will remove all duplicate assets from the system.
Use the following POST API call:
<Elvis Server URL>/services/system/asset/cleanup?dryRun=false&rescueDuplicates=false
Document history
- 6 November 2018: Added information about support for Amazon AWS and Elvis 5.27.12.
Comment
Do you have corrections or additional information about this article? Leave a comment! Do you have a question about what is described in this article? Please contact Support.
3 comments
What's the background of this feature not supporting S3?
It is not easily possible to call this URL from a browser, because it has to be POSTed. How to start this tool from a commandline using cURL?
curl -XPOST -d "dryRun=true" -d "rescueDuplicates=false" -d "authcred=xxxxxx" http://localhost/services/system/asset/cleanup
xxxxxx in authcred is a BASE64 of "username:password" (username and password separated by colon. You can do this online if you like at https://www.base64encode.org/.
Hello Siebrand,
S3 support will be added in next 5.27.12 release
Please sign in to leave a comment.