MXFserver Integration¶
The MXFserver plugin allows VidiCore to integrate with MXFserver. The plugin allows collections to be created in VidiCore, 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¶
- The MySQL JDBC driver ,
installed into GlassFish ($GLASSFISH/lib).
Installation¶
- Configure the plugin by creating a MXFserver resource containing the MXFserver settings, by making a - POSTrequest to- API/resource/mxfservercontaining:- <?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 - hdtag should be imported, if one exists, and the- originalshape should be used otherwise.- The elements are: - mxfServerWorkspacePath
- The path to the workspaces directory used by MXFserver. 
- mxfServerUserId
- The VidiCore MXFserver user id. 
- mxfServerPathToStorage
- The path to the VidiCore storage - storageIdas 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. 
 
- 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) - If enabled then MXFserver functions will be created with the same names as the groups found in the directory.
 
- To enable automatic import of new media added to projects, the MXFserver configuration file - Mxfserver.inineeds to be updated with:- [API_OPTIONS] notifyNewFilesHTTPLocation=http://[VidiCore address]/MxfServerAPI/import 
Usage¶
MXFserver entities are in VidiCore 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,episodeorproject.
- 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 VidiCore to be out of sync with MXFserver (it’s one way sync from VS to MXFserver only.)