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.
<mediaimport version="1.3">
...
</mediaimport>
<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.
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mediaimport PUBLIC "-//MEDIAIMPORT//DTD MEDIAIMPORT//EN" "http://www.vimp.com/mediaimport-1.3.dtd"> <mediaimport version="1.3"> <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="transcoded" format="480p">bcd.mp4</file> <file type="transcoded" format="720p">cde.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> <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,
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
Innerhalb dieses Containers erstellen Sie für jedes Medium, das importiert werden soll ein Element.
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>
<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>
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.
<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.
<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.