The Manifest feature lets you receive an export of the assets in your account as a text file on a regular schedule (daily, weekly etc). This makes it possible for you to fetch and parse these files to update your own internal databases. Your systems will then know what assets exist for a given product, so they can display them on the product details page.
The current manifest system process takes in a list of asset stores and a search query and outputs a file containing all of the assets that match the search query. Manifests can be standard, or nested. Nested manifests reveal the set and their contained assets. Users can only search on the standard asset metadata - File, EXIF and Image. You can also specify the format of the output file using velocity templating. You'll usually work with Amplience to configure your manifest file at the beginning of your project.
On this page we'll explain the key features of manifests, what fields you can choose to output and provide some examples about the queries that you can specify to generate the manifest files.
Key FeaturesLink copied!
- Output a list of all assets
- Output a list of all sets with associated assets
- Output a list of new assets (diff), using Solr date search syntax
- Custom header/footer/asset format using velocity templating
- XML & CSV are the most common output formats
- You can export in JSON format, but bear in mind that because manifests are output using repeating line patterns, the JSON could end up with extraneous commas(,) and closing braces (})
- Provides the ability to filter assets using complex Solr syntax (AND/OR, updated date, status, asset type etc)
- Upload output to S3
- Upload output to a FTP/SFTP server
Fields outputLink copied!
Opening Manifest filesLink copied!
Manifest files can be very large (depending on the query and number of assets in your account) and opening them in your browser is not recommended. Using xmlexplorer is a good option, or any good text editor. You could also use curl to download the file to your local machine.
General query adviceLink copied!
Boolean operatorsLink copied!
AND, NOT and OR can all be used within manifest queries (AND is the same as &&, NOT ! and OR ||). For example
!status:active would return all the assets that aren't marked as active
Date time fieldsLink copied!
Queries against date based fields must use the appropriate date formating. Queries for exact date values will require quoting or escaping since : is used to denote a field query. Date time field searches in manifests should all be range searches, for example, from one date TO another- even if one of those values is a *.
There are special keywords to enable simpler search definitions:
NOW - current time and date
HOUR, DAY, WEEK, MONTH, YEAR all define that period of time and can be preceded with a number (e.g. 3DAYS defines a period of 3 days).
HOUR, DAY, WEEK, MONTH and YEAR can also follow a datetime string(or NOW) like NOW/DAY to round the date time value to the nearest HOUR, DAY, WEEK, MONTH or YEAR.
Usage examplesLink copied!
created:[2020-01-01T23:59:59.999Z TO \*]
created:[2020-01-01T23:59:59.999Z TO 2020-02-01T00:00:00Z]
lastSuccess.timestamp:[\* TO NOW]
updated:[NOW-1YEAR/DAY TO NOW/DAY+1DAY]
Regular expressions on label fieldsLink copied!
There is some limited support for regular expressions within manifest queries, for fields like name, label and srcName you can use a subset of regular expressions to refine your search. For example,
label:/(MF|IMG)/</ matches labels containing the string MF or IMG.
You can even go as far as specifying:
label:/.\*_a(\.[a-zA-Z0-9]\*)\*/ which matches labels containing _a. followed by any alphanumeric combination.
Common manifest queriesLink copied!
|*||Return all the assets in an account|
|status:active||Return all the active assets|
|!published:true||Return all the assets in an account that aren't published|
|!status:active||Return all the assets that are not marked as active - Note that these assets aren't visible in Content Hub|
|type:set||Return all the assets that are of type set (you could substitute any valid type here like 'text','image','video' etc.|
|lastSuccess.timestamp:[NOW/HOUR - 24HOURS TO *]||Return all assets successfully published in the last 24 hours|
|published:true||Return all the published assets|
|folder:id||Return all the assets within the folder with and id of id|
|updated:[NOW-1YEAR/DAY TO NOW/DAY+1DAY]||Return assets updated between a year and tomorrow date|
|lastSuccess.timestamp:[* TO NOW]||Return all assets successfully published|