Mediawiki-Vimeo

Crystal Clear action run.png
Mediawiki-Vimeo

Status: stable

Mediawiki-vimeo.png
Beschreibung Mediawiki Extension für Vimeo-Videos
Autor: schinken
Version 1
PayPal Spenden für Mediawiki-Vimeo


Beschreibung

mediawiki-vimeo ist eine Mediawiki-Extension, um Vimeo-Videos in eine Wikiseite einzubinden. Es existierte bereits eine Widget-Vorlage, welche die Videos per iFrame von Vimeo eingebunden hat.

Leider resultierte daraus eine höhere Seitenladezeit, welches unter anderem vom angezeigten Flash-Objekt verursacht wurde. Des Weiteren wurde auf der geladenen Seite ein Google Analytics-Tag eingebunden.

Da wir keine Daten unserer Besucher an Vimeo oder Google weitergeben wollen, kam die Verwendung auf unserer Seite nicht in Frage. Hier musste nach einer anderen, einfach verwendbaren Lösung gesucht werden.

Die Wahl fiel hierbei auf eine Mediawiki-Extension, da sie relativ einfach zu programmieren ist, und alle Funktionen von PHP genutzt werden können. Ausserdem konnte ShoogleList als Vorlage wiederverwendet werden.

Technische Beschreibung

Um Video-Thumbnails auf der Webseite einzubinden, wird einfach das <vimeo>-Tag verwendet:

 <vimeo width="200" height="110">
 123123
 322423
 232323
 </vimeo>

Die Parameter width und height sind optional. Die Erweiterung läd nun die Videodaten von der Vimeo-API als JSON-Objekt und prüft diese auf Gültigkeit. Als Fallback (z.B. wenn die API nicht erreichbar oder die Video-ID ungültig ist) wird das Bild "error.jpg" verwendet.

Das Ergebnis der Abfrage wird im APC-Cache gespeichert, damit nicht bei jedem Seitenaufruf die API abgefragt werden muss.

Installation

Wechseln in den mediawiki/extensions-Ordner:

 cd /var/www/mediawiki/extensions

mediawiki-vimeo aus dem Repository klonen:

 git clone https://github.com/schinken/mediawiki-vimeo.git

oder als Tarball herunterladen:

 wget 'https://github.com/schinken/mediawiki-vimeo/tarball/master' -O VimeoList.tar.gz
 tar xvfz VimeoList.tar.gz

In die LocalSettings.php eintragen (/var/www/mediawiki)

 include_once("$IP/extensions/VimeoList/VimeoList.php");

Sonstiges

Den Code findest du hier: GitHub