Document toolboxDocument toolbox

Vidispine

MXFserver Integration [VC 21.3.1 GEN]

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

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