Batch Provisioning: Reference for the XML Manifest
Batch provisioning is available only for Premium customers at this time. If you are interested in upgrading your Brightcove account to a Premium account please contact Brightcove for more information.
About this document
This document is a reference for the XML manifest you need to create in order to use the Brightcove batch provisioning system. See Using Batch Provisioning for more information, including prerequisites and detailed procedures. In addition, the following files can help you create your XML manifest:
- A sample XML manifest for Brightcove. You can copy this sample as a starting point and edit it to suit your needs.
- Batch provisioning DTD. Download the DTD that defines the technical requirements for a valid XML manifest
Explanation of tags used in a Brightcove XML manifest
It may be helpful to view a sample Brightcove XML manifest as you review these explanations.
- Identify XML Document
- The opening tag for the manifest
- Address for notification email or HTTP callback
- Identifying assets for upload
- Creating or updating titles
- Creating or updating lineups
- Deleting assets, titles, or lineups
- The closing tag for the manifest
The first tag identifies the XML document type and always looks exactly like this:
Example
<?xml version="1.0" encoding="utf-8"?>
The opening tag for the manifest
This Brightcove-specific tag marks the beginning of the upload manifest.
Example
<publisher-upload-manifest publisher-id="101" preparer="3rd Street Video" report-success="true">
The publisher-upload-manifest tag uses the following attributes.
| publisher-id | Required | Identifies which publisher the described files are for. Contact Brightcove Support to obtain the publisher ID needed for a publisher to use the batch upload system. If you've already been authorized to use the batch upload system, you can get your publisher ID in the Brightcove Console by clicking on "My Account" and then "Organization Profile." |
| preparer | Required | This attribute should contain identifying information for who submitted the manifest, this is especially helpful when a third party is preparing assets for a publisher and provisioning them directly to Brightcove. |
| report-success | Optional | TRUE or FALSE. Should Brightcove send an email notification when the upload succeeds? The default is FALSE; if you do not include this attribute and set it to TRUE, you will not receive any notification when your upload succeeds. |
The publisher-upload-manifest tag can include one or more of the following tags, each of which is described in detail in this document:
| notify | Address for notification email [Optional] |
| callback | URL to post status callback by HTTP [Optional] |
| asset | Identify assets for upload [Optional] |
| title | Creating or updating titles [Optional] |
| manual-lineup | Creating or updating manual lineups [Optional] |
| automatic-lineup | Creating or updating automatic lineups [Optional] |
Address for notification email or HTTP callback
The notify tag identifies where Brightcove will send the email notification of success or failure. You will receive notification only of failures, not successes, unless you have set the attribute report-success="true" in the publisher-upload-manifest tag. To send notification to multiple addresses, use a separate instance of this tag for each email address.
Example
<notify email="you@example.com"/>
<notify email="me@example.com"/>
The notify tag uses the following attribute:
notify attributes
| Required | Identifies one email address to send upload notifications to. |
You can also use the callback tag to send upload notifications to a web page. The notification is sent in a POST to the URL you provide in the entity-url attribute of the callback tag. The POST includes:
referenceId=<the reference id provided in the manifest>
id=<the id of the title, playlist, or asset in the database>
entity=<VIDEO, PLAYLIST, or ASSET>
action=<CREATE, DELETE, or UPDATE>
status=<FAILED,SUCCESS>
error=<an error message>
The status is always included in the callback post. In the event of a FAILED status, the other information may or may not be included in the callback post, depending on whether the information is available at the point of failure.
Example
<callback entity-url="http://example.com/batch-callback.php"/>
callback attribute
| entity-url | Required | Identifies one URL to post upload status notifications to. |
The asset tag describes a file that is being uploaded. You need to include a separate asset tag for each file being uploaded.
Example
<asset filename="MyVideo-preview.flv" refid="asset1" size="188812" hash-code="a4ade1e2b09d517ff7360f91527639b3" display-name="My Video (FLV preview)" type="FLV_PREVIEW"/>
The asset tag uses the following attributes:
Asset attributes
| filename | Required | The name of the file as it appears on disk. |
| refid | Required | A unique identifier so that a title can reference this asset from within the manifest file. This can be an ID used by your content management system. Use alphanumeric characters only. Note: You can't edit a reference ID once an asset is in the Brightcove service. If you need to change the reference ID, you can delete the asset and then upload it again with a new reference ID. |
| size | Required | The numeric size of the file in bytes. You may need to convert from kilobytes or megabytes to get this number in bytes. |
| hash-code | Required | The MD5 checksum (hash code) of the file. For information about how to create a checksum for your files, see Creating checksums. |
| display-name | Optional | A name for the file suitable for showing to the publisher in the Brightcove Console. If you don't set this attribute, the filename will be used for the display name. |
| type | Required | Identifies the type of asset for upload. The value must be one of the following uppercase strings: FLV_PREVIEW - A Flash Video (FLV) encoded video preview (maximum 30-sec. clip). WMV_PREVIEW - A Windows Media encoded video preview (maximum 30-sec. clip). FLV_FULL - A Flash Video (FLV) encoded full length video. FLV_BUMPER - A Flash Video (FLV) encoded bumper video (maximum 15-sec. clip). WMV_FULL - A Windows Media encoded full length video. THUMBNAIL - An image file used as a thumbnail in listings. VIDEO_STILL - A still image from the video (or a representative image from another source). BACKGROUND - A background image to use in video players. LOGO - A publisher logo image. LOGO_OVERLAY - An image used for branding over video. OTHER_IMAGE - Miscellaneous image type. |
The title tag describes the
titles
you want to create or update. Use a separate tag for each title you want to include in your upload.
Example
<title name="My Title"
refid="title1"
active="TRUE"
allow-brightcove-distribution="TRUE"
start-date="01/01/2007 12:00 AM"
end-date="01/01/2007 12:00 AM"
flash-preview-refid="asset1"
flash-full-refid="asset2"
wmv-full-refid="asset3"
thumbnail-refid="asset4"
video-still-refid="asset5"
flash-prebumper-refid="asset6"
color="TRUE"
language="English"
rating="TV-Y7"
release-date="10/5/2005"
genre1="3575"
genre2="3576"
economic-type="AD"
ad-keys="; key=value; key=value"
rental-price="1.99"
rental-period="3"
purchase-price="25.00">
<short-description>My short description.</short-description>
<long-description>My long description.</long-description>
<related-link-url>http://your-company.com/</related-link-url>
<related-link-text>Come learn about us!</related-link-text>
<award>Two Thumbs Award</award>
<award>Frank's Award</award>
<tag>funny</tag>
<tag>entertaining</tag>
<logo-overlay
asset-refid="12345"
click-thru="http://www.brightcove.com"
tooltip="Go to Brightcove"
alignment="bottom right" />
</title>
Title tags include a mix of attributes and sub-element tags which map closely to the fields found in the Brightcove Console 's Title creation form. Note, however, that there are three title attributes that you can set in the Brightcove Console, but which you cannot set using batch provisioning:
- Enable Viral Sharing
- Force Ad Policy
- Cue Points
| name | Required | The name of the title as it should appear in a Player . Viewers will see this title name when browsing or searching. The name can be no more than 60 characters long. |
| refid | Required | A unique identifier so that lineups can reference this title from within the manifest file. |
| active | Optional | TRUE or FALSE. Should this title should be active as soon as it is created? If you do not set this attribute, its value will be considered to be FALSE. |
| allow-brightcove-distribution | Optional | TRUE or FALSE. Should this title be distributed to Brightcove.tv? |
| start-date | Optional | The primary scheduling start date and time for the title. The required format is MM/DD/YYYY HH:MM AM. For example: start-date="01/01/2008 12:00 AM". Note: The input in the upload manifest for the start date is Pacific time. However, once you have completed your upload, the start date displayed in the Brightcove Console will be Eastern time. |
| end-date | Optional | The primary scheduling end date and time for the title. The required format is MM/DD/YYYY HH:MM AM. For example: start-date="12/31/2008 12:00 AM". Note: The input in the upload manifest for the start date is Pacific time. However, once you have completed your upload, the end date displayed in the Brightcove Console will be Eastern time. |
| flash-preview-refid | Optional | The reference ID parameter of a Flash
preview video
asset
.
|
| flash-full-refid | Optional | The reference ID attribute of a
Flash full-length video
asset to include in this title. This reference ID could be either one previously entered into the system or one specified in an asset tag within the same manifest file. |
wmv-full-refid | Optional | The reference ID parameter of a WMV full-length video asset to include in this title. This reference ID could be either one previously entered into the system or one specified in an asset tag within the same manifest file. |
| thumbnail-refid | Optional | The reference ID parameter of a
thumbnail
asset. This reference ID could be either one previously entered into the system or one specified in an asset tag within the same manifest file. |
| video-still-refid | Optional | The reference ID parameter of a
video still
asset. This reference ID could be either one previously entered into the system or one specified in an asset tag within the same manifest file. |
| flash-prebumper-refid | Optional | The reference ID parameter of a
bumper
video asset. This reference ID could be either one previously entered into the system or one specified in an asset tag within the same manifest file. |
| color | Optional | TRUE or FALSE. Indicates whether or not this title is in color. If you omit this attribute, its value will be considered to be TRUE. |
| language | Optional | The language the title is in. If you omit this attribute, no value will be assigned to this field. |
| rating | Optional | One of the following values: TV-Y, TV-Y7, TV-Y7FV, TV-G, TV-PG, TV-14, TV-MA, MV-G, MV-PG, MV-PG13, MV-R, MV-NC17, Not-Rated, Not Rated, Parental-Advisory, Parental Advisory, No-Parental-Advisory, No Parental Advisory |
| release-date | Optional | The date the title was released. Use the MM/DD/YYYY format. |
| genre1 | Optional | A numeric code that corresponds to a Brightcove genre. If you set this optional attribute, you must set it to a valid genre code. |
| genre2 | Optional | An additional numeric code that corresponds to a Brightcove genre. If you set this optional attribute, you must set it to a valid genre code. |
| economic-type | Optional | One of the following values: FREE, AD, PAID. If no economic type value is specified, the title will default to FREE. |
| ad-keys | Optional | A semi-colon separated string of key/value pairs, starting with a semi-colon. For example: ad-keys=";key=value;key=value;key=value" |
| rental-price | Optional | For a pay media title, the price of the rental in US dollars. The required format is xxx.xx. For example: rental-price="1.99". If you have set the economic-type to PAID, then you need to specify this value if you want to allow rental of your title. |
| rental-period | Optional | For a pay media title, the length of the rental for the pay media title in number of days. You can set the rental period to one of the following values: 1, 3, 7, 30. If you have set the economic-type to PAID and the rental-price to some amount, then you need to specify this value. |
| purchase-price | Optional | For a pay media title, the purchase price in US dollars. The required format required is xxx.xx. For example: rental-price="10.99". If you have set the economic-type to PAID, then you need to specify this value if you want to allow purchase of your title. |
| overlay-update | Optional | TRUE or FALSE. If true, and if this title already exists, only the attributes and sub-elements of this title that you explicitly set will be modified. If false (the default), any attributes or subelements of this title that you do not explicitly set will be set to null. |
A title tag can contain the following sub-element tags.
| short-description | Required | A brief description of the title, up to 255 characters. Depending on the Player style and whether viewers have subscribed to an RSS feed for the Player, viewers may see this description. |
| long-description | Optional | A longer description of the title. Viewers may see this description when browsing or searching in public search engines or web sites. |
| related-link-url | Optional | A related URL for the title. |
| related-link-text | Optional | Text for the optional related link URL. |
| award | Optional | One or more tags, each of which is a single award the title has received. You can use multiple instances of this element to list multiple awards. For example: <award="Oscar Best Short Subject 1992"/> |
| tag | Optional | One or more tags to assist in filtering and searching for the title. Tags can also help publishers filter titles in an automatic lineup. You can use multiple instances of this element to associate several tags with a single title. For example:
<tag="travel"/> |
| logo-overlay | Optional | The collection of metadata for defining an image that will be positioned over the video window for branding and to drive traffic to a specified location. This tag uses the logo-array attributes. |
The logo-array tag uses the following attributes to define an image that will be positioned over the video window for branding and to drive traffic to a specified location.
| asset-refid | Required | The reference ID parameter of the logo overlay asset. This reference ID could be either one previously entered into the system or one specified in an asset tag within the same manifest file. |
| click-thru | Optional | The URL of the browser window to be opened when the logo overlay image is clicked. |
| tooltip | Optional | The tooltip or alt tag to appear over the logo overlay image on rollover. |
| alignment | Optional | The alignment of the logo overlay image within the video window. The valid values are one of "top left", "top right", "bottom left" or "bottom right". For example: <alignment="top right"/> |
There are two types of lineup : manual and automatic.
- Manual Lineups - You determine the position of titles in the lineup by creating a list of all titles to include in the lineup. Use the manual-lineup tag.
- Automatic Lineups - All titles in the publisher account are automatically included in the lineup. You specify the method by which the titles are ordered, whether oldest to newest, newest to oldest, or alphabetical. Use the automatic-lineup tag.
You do not need to create any lineups using batch provisioning; you can instead use batch provisioning just to upload assets, or assets and titles, and create your lineups using the Brightcove Console.
Manual Lineups
For a manual lineup, use the manual-lineup tag. Within the manual-lineup tag, use a series of title-refid tags to list each title that is to be included in the lineup.
Example
<manual-lineup
name="My Manual Lineup"
refid="lineup1"
active="TRUE"
allow-brightcove-distribution="TRUE"
thumbnail-refid="asset4">
<title-refid>title1</title-refid>
<title-refid>title3</title-refid>
<title-refid>title137</title-refid>
</manual-lineup>
The manual-lineup tag uses a mix of attributes and sub-element tags which map closely to the fields found in the Brightcove Console's Lineup creation form.
manual-lineup attributes
| name | Optional | The name of the lineup as it should appear in Players . Viewers will see this lineup name when browsing or searching. |
| refid | Required | A unique identifier so that the lineup can be referenced later. |
| active | Optional | TRUE or FALSE. Should this title should be active as soon as it is created? If you do not set this attribute, its value will be considered to be FALSE. |
| allow-brightcove-distribution | Optional | TRUE or FALSE. Should this lineup be distributed to Brightcove.tv? |
| thumbnail-refid | Optional | The refid attribute of a Thumbnail asset to include in this manual lineup. This reference ID could be either one previously entered into the system or one specified in an asset tag within the same manifest file. |
Sub-element tag for the manual-lineup tag
| title-refid | The refid parameter of a title to include in this manual lineup. This reference ID could be either one previously entered into the system or one specified in an asset tag within the same manifest file. |
Automatic Lineups
For automatic lineups, use the automatic-lineup tag. You do not explicitly reference titles, but instead specify how to order the titles, using the type attribute. You can also filter titles using the tag-filter attribute and the title-tag sub-element.
Example
<automatic-lineup name="My Automatic Lineup"
refid="lineup2"
active="TRUE"
allow-brightcove-distribution="TRUE"
type="NEWEST_TO_OLDEST"
tag-filter="AND"
title-limit="50"
thumbnail-refid="asset4">
<title-tag>sporty</title-tag>
</automatic-lineup>
Automatic lineups have a mix of attributes and sub-element tags which map closely to the fields found in the Brightcove Console's Lineup creation form.
automatic-lineup Attributes
| name | Required | The name of the lineup as it should appear in Players . Viewers will see this lineup name when browsing or searching. |
| refid | Required | A unique identifier so that the lineup can be referenced later. |
| active | Optional | TRUE or FALSE. Should this lineup should be active as soon as it is created? If you do not set this attribute, its value will be considered to be FALSE. |
| allow-brightcove-distribution | Optional | TRUE or FALSE. Identifies whether or not this lineup should be distributed to Brightcove.tv |
| type | Optional | How this automatic lineup should display titles. Accepted values are: OLDEST_TO_NEWEST NEWEST_TO_OLDEST ALPHABETICAL |
| tag-filter | Optional | Accepted values are AND or OR. If you use tag filters to create this automatic lineup, the tag-filter attribute indicates whether tag filters should be considered an "and" query or an "or" query. For example, suppose you specify the tags "sports" and "soccer" in your title-tag element. If you set tag-filter="AND", the lineup will include titles tagged with both sports and soccer. If you set tag-filter=OR, the lineup will include titles tagged with either sports or soccer. |
| title-limit | Optional | The maximum number of titles to include in the lineup. You can not specify a title-limit of more than 100. |
| thumbnail-refid | Optional | The refid parameter of a Thumbnail asset to include in this automatic lineup. This reference ID could be either one previously entered into the system or one specified in an asset tag within the same manifest file. |
Sub-element tag for the automatic-lineup tag
| title-tag | Optional | You can use this element to filter the titles to be included in this automatic lineup. Use a separate title-tag element for each tag you want to use for filtering titles. See tag-filter for information about how to handle filtering with more than one tag. For example:
<automatic-lineup name="My Automatic Lineup" |
Deleting assets, titles, or lineups
You can also use the batch provisioning system to delete assets, titles, or lineups from your account. Warning: An asset cannot be deleted if it is referenced by a title, and a title can not be deleted if it is referenced by a lineup.
Example
<delete-asset refid="RandomAssetsRefID">
<delete-title refid="RandomTitlesRefID">
<delete-lineup refid="RandomLineupsRefID">
Use the following tags, setting the refid attribute to the refid of the asset, title, or lineup that you want to delete.
| delete-asset | Optional | Deletes the asset with the refid specified by the refid attribute. |
| delete-title | Optional | Deletes the title with the refid specified by the refid attribute. |
| delete-lineup | Optional | Deletes the lineup with the refid specified by the refid attribute. |
The closing tag for the manifest
The last tag marks the end of the manifest, indicating that the entire manifest is present.
</publisher-upload-manifest>
