Vollständiges XML für den Medien Import mit allen Optionen erklärt

Editionen: Ultimate, Corporate, Modul Medien Import
Versionen: 3.6.0+

Dieser Artikel zeigt und erklärt eine XML-Datei für den Medien-Import mit allen verwendbaren Knoten.

Es können Knoten entfernt werden, die Sie nicht benötigen. Die Reihenfolge muss aber immer beibehalten werden.
So muss der Knoten

<title></title>

z.B. direkt vor

<description></description>]

stehen.

Das Wurzelelement umschließt alle Informationen

<mediaimport version="1.0">
...
</mediaimport>

Darin gibt es zwei Bereiche (XML-Knoten), die herausstechen:

<locations>...</locations>
Darin werden Orte definiert, aus denen die Medien importiert werden sollen. Dies können lokale Verzeichnisse auf Ihrem Webserver sein oder auch externe Server und Verzeichnisse, von denen Sie per FTP, SFTP oder SCP importieren möchten. Jedem Medium, das Sie importieren, geben Sie eine <location> als Parameter mit.  Der locations-Block ist optional. Er wird nicht benötigt, wenn sich alle Medien in demselben Verzeichnis befinden wie das XML selbst.
<media>...</media>
Innerhalb dieses XML-Elements definieren Sie die Medien, die Sie importieren möchten.

Beispiel-XML für den Import:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mediaimport PUBLIC "-//MEDIAIMPORT//DTD MEDIAIMPORT//EN" "http://www.vimp.com/mediaimport-1.0.dtd">

<mediaimport version="1.0">

  <locations>
    <location id="loc1" type="filesystem">
      <path>/path/to/_import/</path>
    </location>
    <location id="loc2" type="ftp">
      <hostname>ftp.server.com</hostname>
      <port>21</port>
      <path>/path/to/_import</path>
      <username>user</username>
      <password>password</password>
      <passive>true</passive>
      <ssl>false</ssl>
    </location>
  </locations>

  <media>
    <medium location="loc1">
      <title>Maestro</title>
      <description>Maestro</description>
      <username>admin</username>
      <publication>public</publication>
      <categories>
        <category>entertainment</category>
      </categories>
      <tags>
        <tag>test</tag>
      </tags>
      <metadata>
        <title>Maestro</title>
        <description>Maestro</description>
        <keywords>Maestro</keywords>
        <author>unknown</author>
        <copyright>unknown</copyright>
      </metadata>

      <!-- media permissions -->
      <permissions>
        <permission>anonymous</permission>
      </permissions>
      <!-- /media permissions -->

      <!-- channel direct upload -->
      <channel>Test-Channel 1</channel>
      <!-- /channel direct upload -->

      <!-- media fields -->
      <fields>
        <field name="required_field">Test</field>
      </fields>
      <!-- /media fields -->
      
      <!-- chapters -->
      <chapters>
        <chapter lang="de">
          <name>Chapter 1</name>
          <description>Chapter 1</description>
          <timecode>00:00:00</timecode>
        </chapter>
      </chapters>
      <!-- /chapters -->
      
      <files>
        <file type="source">abc.wmv</file>
        <file type="transcoded">abc.mp4</file>
        <file type="thumbnail">abc.jpg</file>
        <html5>
          <file type="m4v">abc.m4v</file>
          <file type="ogv">abc.ogv</file>
          <file type="webm">abc.webm</file>
          <file type="mp3">abc.mp3</file>
          <file type="oga">abc.oga</file>
          <file type="wav">abc.wav</file>
        </html5>
        <previews>
          <file type="transcoded">abc.mp4</file>
          <file type="thumbnail">abc.jpg</file>
          <html5>
            <file type="m4v">abc.m4v</file>
            <file type="ogv">abc.ogv</file>
            <file type="webm">abc.webm</file>
            <file type="mp3">abc.mp3</file>
            <file type="oga">abc.oga</file>
            <file type="wav">abc.wav</file>
          </html5>
        </previews>
      </files>
    </medium>
  </media>

</mediaimport>

<locations> ... </locations>:

  <locations>

    <location id="loc1" type="filesystem">
      <path>/path/to/_import/</path>
    </location>

    <location id="loc2" type="ftp">
      <hostname>ftp.server.com</hostname>
      <port>21</port>
      <path>/path/to/_import</path>
      <username>user</username>
      <password>password</password>
      <passive>true</passive>
      <ssl>false</ssl>
    </location>

  </locations>

Das locations Element wird nur benötigt,

  • wenn Sie im Importieren-Dialog die Option "XML" wählen, und Ihre XML-Datei direkt im ViMP Backend hochladen
  • oder wenn Ihre Medien-Dateien nicht in demselben Verzeichnis liegen, wie das XML selbst
  • und natürlich wenn beides zutrifft.

Im Beispiel werden die wohl meistgenutzten Locations definiert, aus welchen Medien importiert werden: aus dem lokalen Filesystem Ihres Servers (loc1) und von einem FTP-Server (loc2).

Locations im Detail erklärt

<media> ... </media>

Innerhalb dieses Containers erstellen Sie für jedes Medium, das importiert werden soll ein Element.

<medium location="location-id"></medium>

Das location Attribut location="location-id" kann weggelassen werden, wenn kein location Element im XML vorhanden ist oder das Video im selben Ordner liegt wie das XML selbst.
Das medium Element ist für jedes zu importierende Medium unentbehrlich.
<title>Titel des Mediums</title>
Dieses Element beinhaltet den Titel des Mediums.
<username>moderator</username>
Dieses Element definiert den Benutzernamen, dem das Medium gehört.
Mögliche Werte sind die Benutzernamen, mit denen sich Benutzer in ViMP anmelden.
<publication>public</publication>
Dieses Element legt fest, ob das Medium öffentlich (public) oder privat (im Frontend nur vom Besitzer sichtbar) importiert wird. Die dritte Option versteckt (hidden), aktiviert den Directlink.
Mögliche Werte: public; private; hidden
<categories>
  <category>unterhaltung</category>
  <category>WisseNSCHaft</category>
  <category>9</category>
  <category>animals</category>
</categories>
Jede Kategorie benötigt ein eigenes category Element innerhalb des categories Knoten.
Das Beispiel ordnet das Medium vier unterschiedlichen Kategorien zu.
Mögliche Werte sind die Kategorienamen in den installierten Sprachen (Groß/Kleinschreibung wird nicht beachtet) oder die Kategorien IDs.
<tags>
  <tag>Tag1</tag>
  <tag>zweites Tag</tag>
  <tag>und ein 3. Tag</tag>
</tags>
Jedes Tag benötigt ein eigenes tag Element innerhalb des tags Elements
Das Beispiel fügt drei Tags hinzu.
<metadata>
  <title>Titel des Mediums</title>
  <description>Beschreibung zum Medium</description>
  <keywords>keyword1, keyword2, keyword3</keywords>
  <author>Name des Autors</author>
  <copyright>Name des Autors</copyright>
</metadata>
Meta-Tags werden in dem Container metadata beschrieben.
Die Meta-Tags sind beschränkt auf die vorgegebenen Elemente title, description, keywords, author und copyright.
<permissions>
  <permission>anonymous</permission>
  <permission>administrator</permission>
  <permission>moderator</permission>
</permissions>

Das Element permissions steht nur in ViMP Corporate zur Verfügung und gehört zur Erweiterung Medienrecht (Media Permission).

Mögliche Werte für das permission Element sind alle Rollennamen. Inhaber der gesetzten Rolle(n) können das Medium im Frontend sehen.
Wird das permissions Element in ViMP Corporate nicht im XML gesetzt, werden die Default-Rollen für das Medium gesetzt, die unter Backend -> Konfiguration -> Medienrecht definiert wurden
<channel>Mein Channel 1</channel>
<channel>mY ChaNNel 2</channel>
<channel>3</channel>
Das channel Element steht nur zur Verfügung, wenn die Channel Erweiterung für Ihr ViMP installiert ist.

Mögliche Werte sind die Channelnamen in allen definierten Sprachen (Groß-/Kleinschreibung wird nicht beachtet) oder eine Channel ID.
Wird das channel Element nicht im XML gesetzt, wird das Medium keinem Channel beim Import zugeordnet.
<fields>
  <field name="required_field">Wert</field>
  <field name="Feld Name">Wert</field>
</fields>
Die field Elemente innerhalb des fields Containers definieren die Werte für die individuellen Medien-Felder (Backend -> Medien-Felder).
Dem Attribut name muss dabei der unique Feld-Name (nicht Anzeige-Name) zugeordnet werden. Die IDs der Medienfelder können hier nicht verwendet werden.
<chapters>
  <chapter lang="de">
    <name>Chapter 1</name>
    <description>Chapter 1</description>
    <timecode>00:00:05</timecode>
  </chapter>
</chapters>
Alle Chapters/Kapitelmarken werden in einem <chapters>  ...  </chapters>  Knoten defniert
Definiert wird ein Chapter jeweils über einen Knoten <chapter>, immer mit dem "lang=".." Attribut für die Sprache (de = Deutsch, en = Englisch ...).
<chapter lang="de">  ...  </chapter>
Es folgt der Name des Chapters <name>Chapter 1</name>
gefolgt von der Beschreibung <description>Description Chapter 1</description>
und dem Timecode der Kapitelmarke (HH:MM:SS) 00:00:05    <timecode>00:00:05</timecode>

Der Knoten <files> ...  </files>

Der Knoten <files> ...  </files> kann weggelassen werden, wenn
das zu importierende Medium denselben Dateinamen hat wie das XML (ohne Dateiendungen).
Sie können also, wie mit dem "alten" Import ( < ViMP 3.6.0 ), mit je 1 XML-Datei und je 1 zu importierendem Medium arbeiten.

Wenn der XML-Dateiname nicht dem zu importierenden Medium entspricht oder mehrere Medien über ein XML importiert werden sollen, wird in jedem <medium>-Knoten ein <files> ... </files> Block benötigt.

Hier ein Beispiel, das alle Möglichkeiten berücksichtigt:

      <files>
        <file type="source">abc.wmv</file>         <file type="transcoded">abc.mp4</file>
        <file type="thumbnail">abc.jpg</file>
        <html5>
          <file type="m4v">abc.m4v</file>
          <file type="ogv">abc.ogv</file>
          <file type="webm">abc.webm</file>
          <file type="mp3">abc.mp3</file>
          <file type="oga">abc.oga</file>
          <file type="wav">abc.wav</file>
        </html5>
        <previews>
          <file type="source">abc.wmv</file>
          <file type="thumbnail">abc.jpg</file>
          <html5>
            <file type="mp4">abc.mp4</file>
            <file type="m4v">abc.m4v</file>
            <file type="ogv">abc.ogv</file>
            <file type="webm">abc.webm</file>
            <file type="mp3">abc.mp3</file>
            <file type="oga">abc.oga</file>
            <file type="wav">abc.wav</file>
          </html5>
        </previews>       </files>

Nur Source-Datei importieren (Transcoding erfolgt durch ViMP):

      <files>
        <file type="source">abc.wmv</file>
      </files>

Dieser Code ist ausreichend, wenn Sie wie beim normalen Upload alle Medien-Dateien von ViMP durch das Transcoding automatisch erstellen lassen möchten. Zusätzliche <file>-Elemente werden beim Transcoding überschrieben.

Source-Datei und Web-Formate importieren (Transcoding findet nicht statt):

      <files>
        <file type="source">abc.wmv</file>
        <file type="transcoded">abc.mp4</file>
        <file type="thumbnail">abc.jpg</file> 
      </files>

Sobald ein file mit Attribut type="transcoded" gesetzt ist, führt dies dazu, dass für das Medium nach dem Import der Status gesetzt wird, der unter Backend -> Konfiguration -> Medien-Import Einstellungen > Default Status konfiguriert wurde. Der Status kann "freigegeben" (Medium sofort im Frontend sichtbar) oder "überprüfen" (Medium muss von einem Administrator im Backend freigegeben werden) lauten.

<file type="source">abc.wmv</file>
Quellmedium. Aus der Source-Datei können durch Transcoding alle anderen Formate durch Transcoding erstellt werden.
<file type="transcoded">abc.mp4</file>
Transcodiertes Format. mp4-Videos werden im Browser (HTML5-Player) abgespielt.
<file type="thumbnail">abc.jpg</file>
Thumbnail. Wird für Vorschaubilder und das Posterbild im Player verwendet.

Zusätzliche Formate:

        <html5>
          <file type="m4v">abc.m4v</file>
          <file type="ogv">abc.ogv</file>
          <file type="webm">abc.wen,</file>
          <file type="mp3">abc.mp3</file>
          <file type="oga">abc.oga</file>
          <file type="wav">abc.wav</file>
        </html5>

Zusätzliche Formate werden im <html5> ... </html5> Knoten definiert. Für Videos sollte hier type="m4v" ausreichen, um Videos auf allen gängigen Mobilgeräten abspielen zu können.

Bei isntallierter Video-On-Demand Erweiterung lassen sich zusätzlich  Preview-/Vorschau-Videos importieren:

        <previews>
          <file type="transcoded">abc.mp4</file>
          <file type="thumbnail">abc.jpg</file>
          <html5>
            <file type="m4v">abc.m4v</file>
            <file type="ogv">abc.ogv</file>
            <file type="webm">abc.webm</file>
            <file type="mp3">abc.mp3</file>
            <file type="oga">abc.oga</file>
            <file type="wav">abc.wav</file>
          </html5>
        </previews>


Mit dem Medien-Import haben Sie also die Kontrolle über alle benötigten Formate, wenn Sie das wünschen, oder Sie importieren nur die Source-Medien und das Open Source Transcoding erstellt alle Formate automatisch.

Zuletzt aktualisiert am 26.04.2018 von Admin.

Zurück