Defining an AWS (Internal) Video Content Type

The AWS video content type must at least have the following:

  • A media child element belonging to the namespace http://xmlns.escenic.com/2013/media. This element must have a type attribute set to video, thereby identifying the content type as a video content type managed by the Video plug-in.

  • A parameter called com.escenic.article.staging set to false, which specifies that content item staging must be disabled for this content type. If content item staging is disabled generally at your installation or for the whole publication, then you can omit this parameter.

  • A link field for holding a link to a locally stored video file. The link element must have a child relation element containing the value com.escenic.edit-media.

  • A basic field with:

    • mime-type set to application/json

    • a video sub-element with an enabled attribute set to true. This element must belong to the namespace http://xmlns.escenic.com/2010/video.

  • A decorator called videoArticleDecorator

  • An interface-hints element called list-style set to video to show proper listing at CUE.

The following example shows such a minimal content-type:

<content-type name="aws-video">
  <media xmlns="http://xmlns.escenic.com/2013/media" type="video" enabled="true" dropable="true"/>
  <parameter name="com.escenic.article.staging" value="false"/>
  <ui:decorator name="videoArticleDecorator"/>
  <panel name="main">
    <field name="binary" type="link">
      <relation>com.escenic.edit-media</relation>
    </field>
    <field name="video" type="basic" mime-type="application/json">
      <video xmlns="http://xmlns.escenic.com/2010/video" enabled="true"/>
    </field>
  </panel>
</content-type>

When a new content item of this type is created in CUE, the is required to upload a suitable file to the link field. You can use a constraints element to limit the file types it is possible to upload. For example:

<field name="binary" type="link">
  <constraints>
    <mime-type>video/mpeg</mime-type>
    <mime-type>video/mp4</mime-type>
    <mime-type>application/mxf</mime-type>
  </constraints>
</field>

Here is a more realistic version of an AWS video content type, this time including a title field, label and so on, but with the important parts highlighted.

<content-type name="aws-video">
  <media:media type="video"/>
  <parameter name="com.escenic.article.staging" value="false"/>
  <ui:icon>graphic</ui:icon>
  <ui:label>VideoCloud video</ui:label>
  <ui:title-field>title</ui:title-field>
  <ui:decorator name="videoArticleDecorator"/>
  <ui:list-style>video</ui:list-style>
  <panel name="main">
    <field name="title" type="basic" mime-type="text/plain"/>
    <field name="binary" type="link">
      <constraints>
        <mime-type>video/mpeg</mime-type>
        <mime-type>video/mp4</mime-type>
        <mime-type>application/mxf</mime-type>
      </constraints>
    </field>
    <field name="video" type="basic" mime-type="application/json">
      <video xmlns="http://xmlns.escenic.com/2010/video" enabled="true"/>
    </field>
  </panel>
</content-type>