CJW Network Home

Die CJW Mediaconnector Extension

Freitag, 07. September 2012: Jan Meier

CJW Mediaconnector Extension

Der CJW Mediaconnector ist eine eZ Publish Extension, mit der Dateien auf externen Servern abgelegt und verwaltet werden können.
Dies können einfache Netzwerkfilesysteme wie zum Beispiel FTP und WebDAV aber auch externe Speicherdienste wie zum Beispiel Youtube oder Slideshare sein.

Download bei projects.ez.no/cjw_mediaconnector

Die Extension beinhaltet den "cjwmediaconnector" Datentyp.

Dieser basiert ursprünglich auf dem ezmedia Datentyp, der mit Hooks angereichert wurde, die Aktionen wie "Speichern" und "Löschen" von Dateien bei externen Speicherdiensten triggern. Die Tabelle für Persistent Objekte zum Speichern von Dateimetadaten wurde den Anforderungen entsprechend angepasst.

Der Datentyp beinhaltet eine simple Plug-in-Infrastruktur. Die spezifischen Anforderungen des jeweiligen Dienstes sind in einem Plug-in implementiert.
Derzeit sind 3 Plug-ins realisiert:

  • FTP
  • WebDAV
  • Youtube

Dies sind funktionstüchtige Beispiel-Implementierungen, die durchaus noch verbessert werden können.
Das Schreiben eigener Plug-ins ist recht einfach, wenn man zum Beispiel das FTP-Plug-in als Ausgangsbasis verwendet.
Der tatsächlich Aufwand für die Programmierung hängt von der Komplexität des zu implementierenden Dienstes ab
Die Installation der Extension ist einfach:

  1. Download der Extension: projects.ez.no/cjw_mediaconnector
  2. Prüfen der PHP Installation, ob php-curl verfügbar ist
  3. Die Extension "cjw_mediaconnector" entpacken und unter "extension" in der ez Publish Installation platzieren
  4. Datenbanktabelle ("extensions/cjw_mediaconnector/sql/mysql/cjwmediaconnector.sql") in die aktuelle eZ Publish Datenbank einlesen, dazu können Sie einen MySQL Admin benutzen oder diesen Befehl aus dem eZ Publish Wurzelverzeichnis ausführen, wobei Sie alle Werte mit Anführungszeichen mit Ihren eigenen ersetzen sollten: mysql -u "user" -p"password" -h"host" "database" < extensions/cjw_mediaconnector/sql/mysql/schema.sql
  5. die Extension "cjw_mediaconnector" im Administrationsinterface unter ( Setup -> Extensions ) aktivieren oder unter ActiveAccessExtensions[] in "settings/override/site.ini.append.php":
        [ExtensionSettings]
        ActiveAccessExtensions[]=cjw_mediaconnector
  6. die "cjw_mediaconnector.ini" ("extensions/cjw_mediaconnector/cjw_mediaconnector.ini" -> "settings/override/cjw_mediaconnector.ini.append.php") für das aktuelle Projekt überschreiben und anpassen
  7. Das Autoloadarray erneuern: diesen Befehl aus dem eZ Publish Wurzelverzeichnis ausführen: php bin/php/ezpgenerateautoloads.php --extension oder im Administrationsinterface unter ( Setup -> Extensions ) auf den Knopf "Regenerate autoload arrays" drücken
  8. Alle Caches löschen (im Administrationsinterface Setup Reiter oder mit der Kommandozeile).
  9. eine neue Datei Contentklasse mit dem cjw_mediaconnector Datentyp anlegen
  10. ausprobieren und genießen

Die CJW Mediaconnector Extension ist Beta und verbesserungsfähig aber durchaus für den praktischen Einsatz geeignet und schon im Produktionseinsatz.

In einem weiterem Artikel beschreibe ich den Einsatz der CJW Mediaconnector Extension mit Youtube als Storage Backend.

Download be projects.ez.no/cjw_mediaconnector

Coolscreen.de - internet development, audits and consulting Jac Systeme - software development, support and maintenance Webmanufaktur - alles ausser gewöhnlich eZ Publish Silver Partner