FirstSpirit™ VideoManagement

e-Spirit AG

2018-12-31
Table of Contents

1. Introduction

The VideoManagement module is used to integrate the video streaming service provided by MovingImage24 into a FirstSpirit project. This module enhances the functionality of the FirstSpirit JavaClient, enabling the editor to drag-and-drop a video onto a page in form of a section.

MovingImage24 is integrated using the AppCenter. This document explains how to install and configure the VideoManagement module and describes use of the module in FirstSpirit’s JavaClient.

1.1. Functional scope

The VideoManagement module provides the following options for the editor in the FirstSpirit JavaClient:

  • Adding a video to a content page
  • Editing a video that has been added to a page
  • Exchanging a video
  • Viewing statistics related to a video
  • Syncing metadata of videos used in FirstSpirit

1.2. How it works

Use of the VideoManagement module in FirstSpirit requires a MovingImage24 account. An account can be set up by registering with MovingImage24 on www.movingimage24.de.

Also, the section template described in Chapter Input components must be included in the FirstSpirit project. This template is used to add a video to a page and provides the necessary code for displaying the video in the preview area of the JavaClient.

2. Components required

Before installing the VideoManagement module the following steps should be completed.

2.1. FirstSpirit-Server

For information on the installation of a FirstSpirit-Server please refer to the FirstSpirit Installation Guide. The VideoManagement module can be used with the FirstSpirit-Server Version 4.2.437. Older versions of the server are not supported.

2.2. MovingImage24 account

In order to use the functionality provided by the module a valid MovingImage24 account is required. The API key and the developer key provided with the account are also needed. These keys are provided by email after an account has been set up.

Important requirements

The API interface of MovingImage24 must be licensed with the account. Additional costs are incurred for the MovingImage24 account.

3. Installing and configuring the VideoManagement module in FirstSpirit

Use the videomanagement-<VERSIONSNUMMER>.fsm file supplied to install the module on the FirstSpirit-Server and add it to the project so it can be configured on a project specific basis.

3.1. Installation

To install the module, open the ServerManager and select Server propertiesModules.

Module management in the server properties
Figure 1. Module management in the server properties


The main panel contains a list of all the modules installed on the FirstSpirit-Server. Click Install, then select the videomanagement-<VERSIONSNUMMER>.fsm and click Open to confirm the selection.

The module contains a service, which is used for the communication with MovingImage24. While installing the module you will be asked if this service should be started automatically. It is recommended to answer this question with yes.

Once the installation has been successfully completed, the folder VideoManagement is added to the list. Select the newly installed module, click on Configure, check the box to grant All permissions and click OK to close the server properties dialog.

For details of the installation, refer to the FirstSpirit Documentation for administrators.

The module has to be added to the project in which you want to use the VideoManagement function. Open the project properties of the desired project by double-clicking it in the project overview.

Project components
Figure 2. Project components


Select the project components menu option. You will see a list of all modules that have already been added to the project. Click Add and select VideoManagementProjectConfiguration to install the module in the project. After clicking OK, it should appear in your list of project components.

3.2. Configuration of the project component

When you double-click the newly installed component VideoManagementProjectConfiguration, a configuration dialog opens. The options described below need to be customized to your needs.

module configuration
Figure 3. module configuration


API key
Enter here the API key provided by MovingImage24.
Developer key
Enter here the Developer key provided by MovingImage24.
Account
The account name used to log in. There is no need to configure administrative permissions (all rights respectively) for this account, only access permissions are required. Whether to configure additional permissions or not has to be decided according to the project. Be clear on the fact that all editors make use of the same technical user.
Pass user information (optional)
If needed, user information can be transmitted and saved to the corresponding MovingImage video during uploads. To be able to use this functionality simply tick the checkbox as this feature is disabled by default.
FirstSpirit parameters

The value of the Media Folder field should be set to the UID of the media folder that will contain the thumbnails of the videos to be used in the project. The folder defined here must exist in the project and must be created manually if it doesn’t already exist when configuring the settings.

The entry in the Resolve conflicts workflow field refers to the workflow that is to be started if a conflict occurs on synchronizing the video metadata. The default entry is the workflow imported into the project when the module is installed (see chapter Dealing with deleted videos in VideoManager ).

MovingImage24 parameters
These options are all set automatically during the installation of the module and usually do not need to be altered.

3.3. Set the web service url

The url of the MovingImage24 web service can be set in the configuration dialog of the service MovingImage24ApiService, which was installed with the module (see figure Web service url). A default value is set during the installation of the module. This value can usually be maintained.

Web service url
Figure 4. Web service url


3.4. Proxy suppport

If all Internet access is made via a proxy server, this server and if necessary information for authentification need to be made known to the module. This is done via the congfiguration dialog of the service MovingImage24ApiService which was installed with the module (see proxy settings).

proxy settings
Figure 5. proxy settings


If a specific proxy is required for the module, it can be configured using the configuration dialog. This proxy will then only be used by the VideoManagement module.

Furthermore the following service domains have to be released for the proxy:

  • dl.edge-cdn.net
  • edge-cdn.net
  • podcast.edge-cdn.net
  • flash.edge-cdn.net
  • jpn.edge-cdn.net
  • download.edge-cdn.net
  • cdn.edge-cdn.net
  • media.cdn.edge-cdn.net
  • jpn.cdn.edge-cdn.net
  • download.cdn.edge-cdn.net

It is also possible to use the wildcard *:

  • *.edge-cdn.net (MovingIMAGE24 Service-Domain)
  • *.movingimage24.de (MovingIMAGE24 Service-Domain)
  • *.movingimage24.com (MovingIMAGE24 Service-Domain)
  • *.akamai.net (Akamai Service-Domain)
  • *.edgesuite.net (Akamai Service-Domain)
  • *.akamaistream.net (Akamai Service-Domain)
  • *.edgefcs.net (Akamai Service-Domain)

If the domains above are not released for the proxy, the following exception might occur:

java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
  at java.util.LinkedList.entry(Unknown Source)
  at java.util.LinkedList.get(Unknown Source)
  at de.espirit.firstspirit.opt.pm.video.VideoService.handleDrop(VideoService.java:202)
  at de.espirit.firstspirit.opt.pm.video.HandleVideoDropExecutable.handleDrop(HandleVideoDropExecutable.java:39)
  at de.espirit.firstspirit.opt.pm.video.HandleVideoDropExecutable.execute(HandleVideoDropExecutable.java:28)
  at de.espirit.firstspirit.opt.pm.video.HandleVideoDropExecutable.execute(HandleVideoDropExecutable.java:20)

4. Expanding the FirstSpirit Project

In order to use the VideoManagement function in FirstSpirit a special section template is imported into the project when the module is installed. You can find the form and the HTML presentation channel in appendix Form of the Video streaming section template of this document.

The following section describes the implementation of the required components.

4.1. Expanding metadata

For every video referenced in FirstSpirit, a proxy object is created in the Media Store. This object contains the metadata of the video. Therefore, several input components have to be added to the project’s metadata template. If the project does not yet have a metadata template one must be created.

The necessary additions to the metadata template can be found in appendix Expanding the metadata template.

Further Information about the metadata template can be found in the FirstSpirit Documentation for administrators.

4.2. Input components

The module adds a section template, VideoManagement Example Section, to the project. This template can serve as a model for the actual implementation. The template itself should not be used, because it will be overwritten with every update of the module. The template is ready to use immediately, but should be customized to the project requirements, especially the output (HTML presentation channel).

The section template consists of various input components which are explained in the following.

4.2.1. Combobox for choosing the player skin

This combobox enables the editor to determine the appearance of the video player, which is displayed on the page. The code used for this box is shown here in shortened form:

<CMS_INPUT_COMBOBOX name="st_video_skin" useLanguages="no">
    <ENTRIES>
        <ENTRY value="1">
            <LANGINFOS>
                <LANGINFO lang="*" label="Fully featured (content area, 500x307)" />
            </LANGINFOS>
        </ENTRY>
        <ENTRY value="2">
            <LANGINFOS>
                <LANGINFO lang="*" label="Recommended features (content area, 500x307)" />
            </LANGINFOS>
        </ENTRY>
    </ENTRIES>
    <LANGINFOS>
        <LANGINFO lang="*" label="Player skin" description="Please select the player skin" />
    </LANGINFOS>
</CMS_INPUT_COMBOBOX>

Depending on the editor’s selection, a corresponding invocation code is rendered to the page. The VideoManager can be used to define custom player skins. The combobox and the HTML output channel can be manually enhanced with these skins.

4.2.2. Reference

This component shows the selected video. In the code it is important to make sure that the folder from the module configuration is used and that this folder actually exists.

 <FS_REFERENCE
  name="st_video"
  imagePreview="yes"
  noBreak="no"
  upload="no">
  <FILTER>
    <HIDE type="all"/>
    <ALLOW type="picture"/>
  </FILTER>
  <LANGINFOS>
   <LANGINFO lang="*" label="Video" description="Insert a video"/>
  </LANGINFOS>
   <PROJECTS>
     <LOCAL name=".">
       <SOURCES>
         <FOLDER name="movingimage24" store="mediastore"/>
       </SOURCES>
     </LOCAL>
   </PROJECTS>
</FS_REFERENCE>

4.2.3. Width and height of the player

The width and height of the player can be modified by entering specific values in these input components.

Buttons

The four buttons (FS_BUTTON) are used to integrate the VideoManager via the AppCenter. No changes are necessary. These buttons are described in Chapter Using the VideoManagement in FirstSpirit.

4.3. HTML output channel

The section template provides the code necessary for inserting a video into a page. Also, the title of the video is used as a headline. If additional video metadata (length of the video, tags, etc.) is to be displayed on the page, this can be achieved by the same mechanisms. The HTML section of the template can be found in appendix HTML channel of the Video streaming section template.

4.4. Remote media support

In order to save the proxy objects for pieces of media not in the local but in a remote project, several changes are to be done.

Within the remote media project:

  • Adapt the metadata template as described in appendix Expanding the metadata template
  • Create a folder in the media store. The reference name of this folder must match Media folder in the configuration
  • Add the VideoManagement project component

Within the local project where the remote pieces of media for the VideoManagement are used:

  • Set the favoured remote project within the project settings
  • Extend the form. The component holding the reference name st_dropTarget needs an additional parameter called remoteProject. This parameter specifies the symbolic name of the remote project that is used. The following configuration example may be used provided that the symbolic name of the remote project is mithras:
<FS_BUTTON
  name="st_dropTarget"
  icon="media:droptargeticon"
  noBreak="no"
  onDrop="class:VideoManagementHandleDropExecutable"
  style="link">

    <DROPTYPES>
        <MIME type="application/fs_video" classname="de.espirit.common.util.Pair" />
    </DROPTYPES>
    <LANGINFOS>
        <LANGINFO lang="*" label="" />
    </LANGINFOS>
    <PARAMS>
        <PARAM name="target">#field.st_video</PARAM>
        <PARAM name="remoteProject">mithras</PARAM>
    </PARAMS>
</FS_BUTTON>

When the adaptions are done, the dragged and dropped media items are created within the remote project and not within the current project. The metadata synchronization script may be used as usual.

5. Using the VideoManagement in FirstSpirit

The VideoManagement functions are integrated into FirstSpirit using the AppCenter. The VideoManager opens in a new tab after the Open MI24 button in the new section has been clicked.

Page in an AppCenter tab
Figure 6. Page in an AppCenter tab


Five different functions of the VideoManagement application can be directly controlled using the various buttons. Furthermore, all VideoManager functions can be accessed using the web interface.

5.1. Thumbnail resolution

For thumbnails, the highest available resolution provided by MovingImage24 (512 x 288 pixel) is used. Other resolutions can be created with the default FirstSpirit resolution. Hints to do this are provided in the FirstSpirit Documentation for administrators.

5.2. Adding a video

A video can be added to a page in one of two ways.

If a video is to be used that has already been referenced elsewhere in the project it can be selected using the folder button.

Possibilities to add a video
Figure 7. Possibilities to add a video


Alternatively, the MI24 page can be opened in the preview tab using the Open MI24 button. The application opens and shows a list of videos that can be filtered using the search mechanism in the upper part of the page. The desired video can be integrated into the page by dragging and dropping the blackberry-colored area onto the marked area in the editing form.

Drag & Drop area
Figure 8. Drag & Drop area


A thumbnail of the selected video is then created in the folder Movingimage24 in the Media Store. The video metadata is added in the Media tag in the thumbnail’s metadata.

Video metadata
Figure 9. Video metadata


The respective videos can be linked to the channels which are linked in the left area of the page. The green marked area of the videothumbnail therefore needs to be dragged and dropped onto the particular channel.

5.3. Editing a video

A selected video can be edited using the Edit button. The detail page for the video opens in a new tab in the AppCenter.

Video detailpage to edit further information
Figure 10. Video detailpage to edit further information


5.4. Sync metadata

If a video has been edited as in chapter Editing a video and thereby the metadata has been changed, these metadata does not sychronize by itself in FirstSpirit. The syncing process needs to be triggered manually by an editor, if no regular schedule script exists.

It is also possible to only synchronize the metadata of the currently referenced video by using the button Synchronize metadata. Referring to the image Sync metadata, the metadata of the referenced picture mi24_232554 would be synchronized.

Sync metadata
Figure 11. Sync metadata


The metadata for all videos in FirstSpirit can be updated using the script which has been supplied with the module (see chapter Manual sync (using the FirstSpirit client)).

5.5. Changing a video

There are two ways to change a video.

A video that has already been imported into FirstSpirit can be selected using the folder button.

Alternatively, the Open MI24 button can be used to open the detail page of the video currently selected. The Video list link opens an overview of all videos. Here a new video can be selected and dragged onto the purple button; this adds the video to the page and replaces the old one with the selected video.

5.6. Show statistics

The Statistics button opens the statistics page for the selected video in a new tab in the preview area of FirstSpirit. This statistics page is provided by MI24.

MovingIMAGE24 statistic of a seleted video
Figure 12. MovingIMAGE24 statistic of a seleted video


In this tab different statistics are displayed automatically, for which different viewing periods can be selected. Furthermore an export of the statistics is available.

6. Syncing Metadata

When using a video for the first time the video’s metadata is transferred to the FirstSpirit project and saved in the media object created in the Media Store. If subsequent changes are made to the video’s metadata these changes are not automatically updated in FirstSpirit. Instead, an update must be specifically initiated.

6.1. Manual sync (using the FirstSpirit client)

The syncing process can be triggered manually by an editor either for the video referenced in the input component or for all videos in FirstSpirit.

The module adds a script Synchronize metadata to the project which can be run using the ExtrasExecute scriptVideoManagement menu and which triggers the syncing process for all videos in FirstSpirit. Furthermore it is possible to only synchronize the metadata of the currently referenced picture by using the button Synchronize metadata (see chapter Sync metadata).

6.2. Syncing using a scheduler entry

In many cases, regular, automatic metadata updates are required. The module provides a script which can be used as a task within schedule entries. When using this script in this way, a separate connection has to be set up for this task. The user must have the rights/permissions necessary to change, delete and release the proxy objects in the Media Store.

The following use cases are supported.

6.2.1. Syncing before generation

The idea is to update the metadata before the generation task, so that up-to-date information is available when creating the pages. The sync script task is simply run as a task preceding generation. If syncing fails, the generation can be canceled. For further details, see the FirstSpirit Documentation for administrators.

6.2.2. Recurring sync

In this scenario, a scheduling entry is created that only contains the update script. This entry is run at predefined intervals. Please note that this can result in generations that use outdated metadata. This scheduling entry can also be configured to be run interactively, so that editors can perform this task whenever they wish.

6.3. Dealing with deleted videos in VideoManager

When metadata is updated, it is possible that a video that has been deleted in VideoManager is still used and referenced inside the FirstSpirit project. This conflict cannot be resolved automatically. An editor has to resolve the situation by:

  • removing all the references to the object
  • choosing a different video
  • restoring the video inside VideoManager

The module assists the editor by providing a workflow that can be run on the proxy object inside FirstSpirit. In this way, all responsible editors are given the task of taking care of the broken reference or getting an email.

If a different workflow is desired it can be configured in the module’s config dialog.

7. Appendices

7.1. Expanding the metadata template

 <CMS_INPUT_TEXT name="m_video_name" hFill="yes" noBreak="no" singleLine="yes" useLanguages="no">
    <LANGINFOS>
      <LANGINFO lang="*" label="Titel" description="video title"/>
      <LANGINFO lang="DE" label="Title" description="Titel des Videos"/>
    </LANGINFOS>
  </CMS_INPUT_TEXT>

 <CMS_INPUT_TEXT name="m_video_source" hFill="yes" length="10" noBreak="no" singleLine="yes" useLanguages="no">
    <LANGINFOS>
      <LANGINFO lang="*" label="Media source " description="Insert a media source comment"/>
      <LANGINFO lang="DE" label="Medienquelle" description="Geben Sie Informationen zur Medienquelle ein"/>
    </LANGINFOS>
  </CMS_INPUT_TEXT>

  <CMS_INPUT_TEXT name="m_video_displayDate" hFill="yes" length="20" noBreak="no" singleLine="yes" useLanguages="no">
    <LANGINFOS>
      <LANGINFO lang="*" label="Date" description="Insert a date string"/>
      <LANGINFO lang="DE" label="Datum" description="Datum des Videos"/>
    </LANGINFOS>
  </CMS_INPUT_TEXT>

  <CMS_INPUT_TEXT name="m_video_id" hFill="yes" length="10" noBreak="no" singleLine="yes" useLanguages="no">
    <LANGINFOS>
      <LANGINFO lang="*" label="Media ID" description="Insert the media ID"/>
      <LANGINFO lang="DE" label="Medien-ID" description="Geben Sie die Medien-ID ein"/>
    </LANGINFOS>
  </CMS_INPUT_TEXT>

  <CMS_INPUT_TEXT name="m_video_length" hFill="yes" length="10" noBreak="no" singleLine="yes" useLanguages="no">
    <LANGINFOS>
      <LANGINFO lang="*" label="Length" description="Length of the video"/>
      <LANGINFO lang="DE" label="Länge" description="Länge des Videos"/>
    </LANGINFOS>
  </CMS_INPUT_TEXT>

  <CMS_INPUT_TEXTAREA name="m_video_keywords" hFill="yes" rows="5" useLanguages="no">
    <LANGINFOS>
      <LANGINFO lang="*" label="Keywords" description="Insert keywords"/>
      <LANGINFO lang="DE" label="Schlagworte" description="Geben Sie inhaltliche Schlagworte an"/>
    </LANGINFOS>
  </CMS_INPUT_TEXTAREA>

  <CMS_INPUT_TEXT name="m_video_url" hFill="yes" hidden="yes" noBreak="yes" singleLine="yes" useLanguages="no">
    <LANGINFOS>
      <LANGINFO lang="*" label="Media URL" description="Insert the media URL"/>
      <LANGINFO lang="DE" label="Medien-URL" description="Geben Sie den Medien-URL ein"/>
    </LANGINFOS>
  </CMS_INPUT_TEXT>

  <CMS_INPUT_TEXT
    name="m_video_thumbnailUrl"
    hFill="yes"
    hidden="yes"
    noBreak="yes"
    singleLine="yes"
    useLanguages="no">
    <LANGINFOS>
      <LANGINFO lang="*" label="Thumbnail URL" description="Insert the media URL"/>
      <LANGINFO lang="DE" label="Thumbnail-URL" description="Geben Sie den Thumbnail-URL ein"/>
    </LANGINFOS>
  </CMS_INPUT_TEXT>

7.2. Form of the Video streaming section template

 <CMS_MODULE>

  <CMS_GROUP tabs="top">

    <CMS_GROUP>
      <LANGINFOS>
        <LANGINFO lang="*" label="Video selection"/>
        <LANGINFO lang="DE" label="Videoauswahl"/>
      </LANGINFOS>

      <CMS_INPUT_COMBOBOX name="st_video_skin" useLanguages="no">
        <ENTRIES>
          <ENTRY value="1">
            <LANGINFOS>
              <LANGINFO lang="*" label="Fully featured (content area, 500x307)"/>
              <LANGINFO lang="DE" label="Vollausgestattet (Inhaltebereich, 500x307)"/>
            </LANGINFOS>
          </ENTRY>
          <ENTRY value="2">
            <LANGINFOS>
              <LANGINFO lang="*" label="Recommended features (content area, 500x307)"/>
              <LANGINFO lang="DE" label="Empfohlener Funktionsumfang (Inhaltebereich, 500x307)"/>
            </LANGINFOS>
          </ENTRY>
          <ENTRY value="3">
            <LANGINFOS>
              <LANGINFO lang="*" label="No features (content area, 500x307)"/>
              <LANGINFO lang="DE" label="Keine Bedienelemente (Inhaltebereich, 500x307)"/>
            </LANGINFOS>
          </ENTRY>
          <ENTRY value="4">
            <LANGINFOS>
              <LANGINFO lang="*" label="No features, with autostart (marginal area)"/>
              <LANGINFO lang="DE" label="Keine Bedienelemente, mit Autostart (Marginalspalte)"/>
            </LANGINFOS>
          </ENTRY>
          <ENTRY value="5">
            <LANGINFOS>
              <LANGINFO lang="*" label="No features, without autostart (marginal area)"/>
              <LANGINFO lang="DE" label="Keine Bedienelemente, ohne Autostart (Marginalspalte)"/>
            </LANGINFOS>
          </ENTRY>
        </ENTRIES>
        <LANGINFOS>
          <LANGINFO lang="*" label="Player skin" description="Please select the player skin"/>
          <LANGINFO lang="DE" label="Player-Skin" description="Bitte den Player-Skin wählen"/>
        </LANGINFOS>
      </CMS_INPUT_COMBOBOX>

      <FS_REFERENCE
        name="st_video"
        allowEmpty="no"
        hFill="no"
        imagePreview="yes"
        noBreak="no"
        upload="no"
        useLanguages="no">
        <FILTER>
          <HIDE type="all"/>
          <ALLOW type="picture"/>
        </FILTER>
        <LANGINFOS>
          <LANGINFO lang="*" label="Video" description="Insert a video"/>
          <LANGINFO lang="DE" label="Video" description="Wählen Sie hier ihr Video aus"/>
        </LANGINFOS>
        <PROJECTS>
          <LOCAL name=".">
            <SOURCES>
              <FOLDER name="movingimage24" store="mediastore"/>
            </SOURCES>
          </LOCAL>
        </PROJECTS>
      </FS_REFERENCE>

      <FS_BUTTON
        name="st_showVideo"
        icon="media:selectfile"
        noBreak="yes"
        onClick="class:VideoManagementOpenVideoAppExecutable"
        style="firstspirit">
        <LANGINFOS>
          <LANGINFO lang="*" label="Open MI24"/>
          <LANGINFO lang="DE" label="MI24 Öffnen"/>
        </LANGINFOS>
        <PARAMS>
          <PARAM name="target">#field.st_video</PARAM>
        </PARAMS>
      </FS_BUTTON>

      <FS_BUTTON
        name="st_editVideo"
        icon="media:edit"
        noBreak="yes"
        onClick="class:VideoManagementOpenEditVideoExcecutable"
        style="firstspirit">
        <LANGINFOS>
          <LANGINFO lang="*" label="Edit"/>
          <LANGINFO lang="DE" label="Editieren"/>
        </LANGINFOS>
        <PARAMS>
          <PARAM name="target">#field.st_video</PARAM>
        </PARAMS>
      </FS_BUTTON>

      <FS_BUTTON
        name="st_showStatistics"
        icon="media:overlay_statistik"
        noBreak="yes"
        onClick="class:VideoManagementOpenStatisticsExecutable"
        style="firstspirit">
        <LANGINFOS>
          <LANGINFO lang="*" label="Statistics"/>
          <LANGINFO lang="DE" label="Statistik"/>
        </LANGINFOS>
        <PARAMS>
          <PARAM name="target">#field.st_video</PARAM>
        </PARAMS>
      </FS_BUTTON>

      <FS_BUTTON
        name="st_syncMeta"
        alwaysEnabled="yes"
        icon="media:mi24_sync"
        noBreak="yes"
        onClick="class:VideoManagementSyncVideoMetadataExecutable"
        style="firstspirit">
        <LANGINFOS>
          <LANGINFO lang="*" label="Synchronize metadata"/>
          <LANGINFO lang="DE" label="Metadaten synchronisieren"/>
        </LANGINFOS>
        <PARAMS>
          <PARAM name="target">#field.st_video</PARAM>
        </PARAMS>
      </FS_BUTTON>

      <FS_BUTTON
        name="st_dropTarget"
        icon="media:droptargeticon"
        noBreak="no"
        onDrop="class:VideoManagementHandleDropExecutable"
        style="link">
        <DROPTYPES>
          <MIME type="application/fs_video" classname="de.espirit.common.util.Pair"/>
        </DROPTYPES>
        <LANGINFOS>
          <LANGINFO lang="*" label=""/>
        </LANGINFOS>
        <PARAMS>
          <PARAM name="target">#field.st_video</PARAM>
        </PARAMS>
      </FS_BUTTON>

    </CMS_GROUP>

    <CMS_GROUP>
      <LANGINFOS>
        <LANGINFO lang="*" label="Video settings"/>
        <LANGINFO lang="DE" label="Videoeinstellungen"/>
      </LANGINFOS>
      <CMS_LABEL bold="no" size="12">
        <LANGINFOS>
          <LANGINFO lang="*" label="These settings will override the corresponding values in the predefined player skins"/>
          <LANGINFO lang="DE" label="Diese Einstellungen überschreiben die entsprechenden Werte innerhalb der vordefinierten Player-Skins"/>
        </LANGINFOS>
      </CMS_LABEL>

      <CMS_INPUT_TEXT name="st_video_width" hFill="yes" singleLine="no" useLanguages="no">
        <LANGINFOS>
          <LANGINFO lang="*" label="Width"/>
          <LANGINFO lang="DE" label="Breite"/>
        </LANGINFOS>
      </CMS_INPUT_TEXT>

      <CMS_INPUT_TEXT name="st_video_height" hFill="yes" singleLine="no" useLanguages="no">
        <LANGINFOS>
          <LANGINFO lang="*" label="Height"/>
          <LANGINFO lang="DE" label="Höhe"/>
        </LANGINFOS>
      </CMS_INPUT_TEXT>

    </CMS_GROUP>

  </CMS_GROUP>

7.3. HTML channel of the Video streaming section template

$--
  this section ships as a sample with the VideoIntegration module
  It displays the heading of the referenced video and uses the javascript based invocation code

  You should create your own section template for your project, as this template may be overwritten during a VideoIntegration module update
--$

<div>
  $-- get title from the linked video and display it as the heading --$

  $CMS_IF(!st_video.media.meta.get("m_video_name").empty &&
          !st_video.media.meta.get("m_video_name").getEditor().get(#global.language).empty)$
  <h3 style="margin: 0 0 10px 0;">
    $CMS_VALUE(st_video.media.meta.get("m_video_name").getEditor().get(#global.language))$
  </h3>
  $CMS_END_IF$

    $-- use invocation code base on the choosen presets --$

  $CMS_IF(!st_video.media.meta.get("m_video_id").empty &&
          !st_video.media.meta.get("m_video_id").getEditor().get(#global.language).empty)$
    $CMS_IF(st_video_skin.equals("2"))$
      <div style="width:500px">
        <div>
          <script type="text/javascript" src='https://www.edge-cdn.net/videojs_$CMS_VALUE(st_video.media.meta.get("m_video_id").getEditor().get(#global.language))$?width=$CMS_VALUE(st_video_width,default:"500")$&height=$CMS_VALUE(st_video_height,default:"307")$&player=v2&scwm=4&adbtn=0&adbtn2=0&adbtn5=0&chapter=0&overlays=0&cbarPlayPauseFlag=0&cbarTrackFlag=1&cbarTimeTotalFlag=1&cbarTimeDurationFlag=1&cbarvolumeBarFlag=1&volumeBtn=0&cbarFullScreenFlag=0&bg=D7DBE3&bg2=D7DBE3&ctlstyle=none&fg=2f3745&ctcb1=2f3745&ctcb2=ffffff&ctcb3=ffffff&ctcb4=ffffff&ctcb5=ffffff&ctcb6=807e7e&ctcb7=424141&ctg1=393838&ctg2=b2b1b1&ctg3=ffffff&ctg4=000000&ctg5=70&ctab1=969595&ctab2=424141&ctab3=a1a0a0&ctab4=747373&ctab5=ffffff&ctab6=ffffff&lc=000000&start=0&volume=70&thumbasfs=0&loadtime=0&wmode=window&fupdate=1&cwm=0&ctp=0&qd=2'>
          </script>
        </div>
      </div>
    $CMS_ELSIF(st_video_skin.equals("3"))$
      <div style="width:500px">
        <div>
          <script type="text/javascript" src='https://www.edge-cdn.net/videojs_$CMS_VALUE(st_video.media.meta.get("m_video_id").getEditor().get(#global.language))$?width=$CMS_VALUE(st_video_width,default:"500")$&height=$CMS_VALUE(st_video_height,default:"307")$&player=v2&scwm=4&adbtn=0&adbtn2=0&adbtn5=0&chapter=0&overlays=0&cbarPlayPauseFlag=0&cbarTrackFlag=0&cbarTimeTotalFlag=0&rtimer=1&cbarTimeDurationFlag=0&cbarvolumeBarFlag=0&volumeBtn=0&cbarFullScreenFlag=0&qs=2&bg=D7DBE3&bg2=D7DBE3&ctlstyle=none&fg=2f3745&ctcb1=2f3745&ctcb2=ffffff&ctcb3=ffffff&ctcb4=ffffff&ctcb5=ffffff&ctcb6=807e7e&ctcb7=424141&ctg1=393838&ctg2=b2b1b1&ctg3=ffffff&ctg4=000000&ctg5=70&ctab1=969595&ctab2=424141&ctab3=a1a0a0&ctab4=747373&ctab5=ffffff&ctab6=ffffff&lc=000000&start=0&volume=70&thumbasfs=0&loadtime=0&wmode=window&fupdate=1&cwm=0&ctp=0&qd=2'>
          </script>
        </div>
      </div>
    $CMS_ELSE$
      <div style="width:500px">
        <div>
          <script type="text/javascript" src='https://www.edge-cdn.net/videojs_$CMS_VALUE(st_video.media.meta.get("m_video_id").getEditor().get(#global.language))$?width=$CMS_VALUE(st_video_width,default:"500")$&height=$CMS_VALUE(st_video_height,default:"307")$&player=v2&scwm=4&adbtn=0&adbtn2=0&adbtn5=0&chapter=1&overlays=1&cbarPlayPauseFlag=1&cbarTrackFlag=1&cbarTimeTotalFlag=1&cbarTimeDurationFlag=1&cbarvolumeBarFlag=1&volumeBtn=1&cbarFullScreenFlag=1&bg=D7DBE3&bg2=D7DBE3&ctlstyle=none&fg=2f3745&ctcb1=2f3745&ctcb2=ffffff&ctcb3=ffffff&ctcb4=ffffff&ctcb5=ffffff&ctcb6=807e7e&ctcb7=424141&ctg1=393838&ctg2=b2b1b1&ctg3=ffffff&ctg4=000000&ctg5=70&ctab1=969595&ctab2=424141&ctab3=a1a0a0&ctab4=747373&ctab5=ffffff&ctab6=ffffff&lc=000000&start=0&volume=70&thumbasfs=0&loadtime=0&wmode=window&fupdate=1&cwm=0&ctp=0&qd=2'>
          </script>
        </div>
      </div>
    $CMS_END_IF$
  $CMS_END_IF$
</div>

7.4. Sync script

#!executable-class
VideoManagementSyncVideoMetadataExecutable

9. Disclaimer

This document is provided for information purposes only. e-Spirit may change the contents hereof without notice. This document is not warranted to be error-free, nor subject to any other warranties or conditions, whether expressed orally or implied in law, including implied warranties and conditions of merchantability or fitness for a particular purpose. e-Spirit specifically disclaims any liability with respect to this document and no contractual obligations are formed either directly or indirectly by this document. The technologies, functionality, services, and processes described herein are subject to change without notice.