MXFserver Integration

The MXFserver plugin allows Vidispine to integrate with MXFserver. The plugin allows collections to be created in Vidispine, representing business units, sections, modules, episodes and projects (here called entities.) Items added to a project collection will automatically be added to the MXFserver project.

Set up

The plugin can also extend LDAP so that business units and sections are created for imported users.

A JDBC resource should be configured in your application server for connecting to the MXFserver MySQL database. The databaseName element can be used to specify the JNDI name of the JDBC resource (default= jdbc/mxfserver). Typical connection pool settings are:

General settings
Datasource Classname com.mysql.jdbc.jdbc2.optional.MysqlDataSource
Resource Type javax.sql.DataSource
Additional properties
Url jdbc:mysql://<mxfserver-ip-addess>:3307/system5
User <username>
Password <password>

Requirements

Installation

  1. Configure the plugin by creating a MXFserver resource containing the MXFserver settings, by making a POST request to API/resource/mxfserver containing:

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <ResourceDocument xmlns="http://xml.vidispine.com/schema/vidispine">
      <mxfserver>
        <url>http://192.168.38.200:11000/mxfserver/</url>
        <workspaceUrl>file:///mnt/mxfserver/</workspaceUrl>
        <mxfServerWorkspacePath>C:\storage\Workspaces\</mxfServerWorkspacePath>
        <mxfServerUserId>1</mxfServerUserId>
        <mxfServerPathToStorage>C:\storage\Vidispine\</mxfServerPathToStorage>
        <storageId>VX-1</storageId>
        <db-host>192.168.38.200</db-host>
        <db-port>3307</db-port>
        <db-username>root</db-username>
        <db-password>Mastermeta</db-password>
        <atomShapes>atom</atomShapes>
        <importShapes>hd,original</importShapes>
      </mxfserver>
    </ResourceDocument>
    

    In the example above the (first) shape with the hd tag should be imported, if one exists, and the original shape should be used otherwise.

    The elements are:

    mxfServerWorkspacePath

    The path to the workspaces directory used by MXFserver.

    mxfServerUserId

    The Vidispine MXFserver user id.

    mxfServerPathToStorage

    The path to the Vidispine storage storageId as seen by MXFserver.

    storageId

    The storage that contains the files that should be imported into MXFserver. Must be on the same file system as the MXFserver workspaces directory.

    atomShapes

    Should contain the tags of the shapes that contain OP-Atoms, and for which QuickTime reference files will be created.

    importShapes

    Contains the shapes that should be considered for import into a MXFserver project, ordered by priority.

  2. Enable the plugin by setting the following configuration properties:

    Property Value Note
    collectionPluginBean MxfServerCommunicator  
    ldap.import.plugins MxfServerUserImportPlugin  
    ldap.attr.businessUnit Department  
    ldap.attr.section UoSCourse  
    ldap.groupsAsFunctions TRUE/FALSE (1)
    1. If enabled then MXFserver functions will be created with the same names as the groups found in the directory.
  3. To enable automatic import of new media added to projects, the MXFserver configuration file Mxfserver.ini needs to be updated with:

    [API_OPTIONS]
    notifyNewFilesHTTPLocation=http://[Vidispine server address]/MxfServerAPI/import
    

Usage

MXFserver entities are in Vidispine simply created as collections. A number of additional parameters are required, depending on the type of entity to create, as shown below. See Collections for more on how to manage collections.

Note that a collection will automatically be added as a child to the parent collection.

The query parameters are:

name={collection-name}
The name of the collection and MXFserver entity.
type={entity-type}
The type of MXFserver entity. Either businessUnit, section, programme, episode or project.
parent={parent-collection-id}
The id of the parent collection/entity.
projectType={project-type}
The type of MXFserver project.
projectBaseId={project-base-id}
The project template to extend.

Example

Creating the MXFserver project hierarchy.

POST /API/collection/?name=NameOfBusinessUnit&type=businessUnit
POST /API/collection/?name=NameOfSection&type=section&parent=VX-1
POST /API/collection/?name=NameOfProgram&type=programme&parent=VX-2
POST /API/collection/?name=NameOfEpisode&type=episode&parent=VX-3

With a FCP (projectType=2) project based on the FCP7 template ( projectBaseId=30).

POST /API/collection/?name=NameOfProject&type=project&parent=VX-4&projectType=2&projectBaseId=30

Caution

Note that projects can be created at any level in the hierarchy. However, the MXFserver client only allows projects to be created if an episode has been selected. An episode must also be selected before the details of a project can be edited and saved, which if done would cause Vidispine to be out of sync with MXFserver (it’s one way sync from VS to MXFserver only.)