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:


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 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

email 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.

Identify assets for upload

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.



Creating or updating titles

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

Title attributes

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 .
  • If you are updating an existing title, match the flash-preview-refid attribute previously entered into the Brightcove system.
  • If you are creating a new title, match the refid attribute you specified for this item's asset tag within this manifest file.
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.

Title sub-element tags

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"/>
<award="Sundance Best Short Animation 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"/>
<tag="Mozambique"/>

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.

Logo-overlay 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"/>



Creating or updating lineups

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"
...
tag-filter="AND">
<title-tag>sports</title-tag>
<title-tag>soccer</title-tag>
</automatic-lineup>

In this example, only titles that were given both the tag "sports" and the tag "soccer" will show up in this 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>