Mit dem Plugin „Externe Dateien in der Mediathek“ ist es möglich, innerhalb einer Multisite-Installation alle Dateien in einer gemeinsamen Mediathek zu speichern – erreichbar für jede Subsite innerhalb des Multisite-Netzwerks. Dadurch kann man die mehrfache Speicherung von Dateien vermeiden und somit Speicherplatz sparen. Wie das geht, wird hier im Artikel beschrieben.
Vorbemerkungen
Das Plugin „Externe Dateien in der Mediathek“ ist eigentlich dazu konzipiert, extern liegende Dateien auf zuverlässigem Weg in die Mediathek von WordPress zu integrieren, damit man diese an beliebigen Stellen im Projekt verwenden kann. „Extern“ sind aus Sicht von einzelnen Websites durchaus ebenfalls Dateien, die einfach nur in einer anderen Website liegen. In einer WordPress-Multisite gibt es theoretisch beliebig viele Websites, die parallel zueinander im gleichen Hostingbereich liegen, sich aber ansonsten nicht sehen.
Die Idee die WordPress-Multisite als eigene externe Quelle innerhalb des Plugins „Externe Dateien in der Mediathek“ zu ermöglichen, kam mir nach einem Gespräch beim WordPress Meetup in Leipzig. Die Umsetzung ging erstaunlich schnell, da das Plugin alles dafür schon mitbringt. Ich musste lediglich die Netzwerk-spezifischen Einstellungen hinterlegen und schon vorhandene und vielfach bereits genutzte Möglichkeiten verwenden.
Voraussetzungen
Du benötigst für die Umsetzung der Beschreibungen in diesem Artikel eine WordPress-Multisite mit einer beliebigen Anzahl Websites in dieser. Du musst als Super-Administrator in dieser angemeldet sein, um das Plugin installieren und aktivieren sowie die Einstellungen vornehmen zu können.
Warnung
Meine Empfehlung wäre, diese Einrichtung nicht in bestehenden Projekten vorzunehmen, sondern nur bei Neuinstallationen. Grund ist, dass durch die Anpassung, die das Plugin vornimmt, bereits vorhandene Dateien ggfs. verloren gehen könnten.
Vorbereitungen
- Erstelle zunächst ein Backup vom gesamten Projekt. Das ist ohnehin immer zu empfehlen.
- Wenn du unsicher bist, ob es das richtige für dich ist, probiere es am besten in einem Test-System.
Einrichtung
Installation vom Plugin
Installiere das Plugin „Externe Dateien in der Mediathek“ wie gewohnt unter Plugins als Super-Administrator und aktiviere es Netzwerk-weit.
Du solltest anschließend unter „Plugins“ diese Ansicht haben:

Zwischenstand
- In jeder Website der Multisite können dafür berechtigte Nutzer externe Dateien in der Mediathek hochladen.
- Die Berechtigungen dazu sind pro Website die gleichen wie bei einer Einzelinstallation und können nach den eigenen Wünschen angepasst werden.
- Beachte, dass der Super-Administrator immer auf alle Einstellungen in allen Websites vollen Zugriff hat. Dies ist eine Eigenschaft dieser Rolle in WordPress und wird durch das Plugin nicht beeinflusst.
Einheitliche Mediathek aktivieren
- Rufe als Super-Administrator die Netzwerkverwaltung auf.
- Gehe dort auf Einstellungen und scrolle bis zu „Externe Dateien in der Mediathek“. Hier findet man die netzwerk-bezogenene Einstellungen des Plugins.
- Wähle bei „Eine Mediathek für alle Websites“ die Website aus, die als primäre Mediathek dienen soll.
- Speichere die Einstellungen.

Zwischenstand
- In jeder Website außer der gewählten Haupt-Website, wurde die Haupt-Website als externe Quelle angelegt. An jeder sind Export- und Synchronisationseinstellung hinterlegt und aktiviert. Für den Export wurde die gewählte Haupt-Website als Export-Ziel für alle hinzuzufügenden Dateien festgelegt.
- In den gleichen Websites darf niemand mehr auf Einstellungen des Plugins zugreifen (auch kein Administrator, dafür aber der Super-Administrator).
- Ebenfalls in diesen Websiten dürfen weiterhin sowohl externe URLs oder andere externe Quellen hinterlegt werden. Ebenso wie beim normalen Hochladen werden diese in der zentralen Mediathek gespeichert.
- In der Haupt-Website wurde keinerlei Einstellung angepasst.
Die gespeicherten Einstellungen sind in jeder Website unter Medien > Deine externen Quellen zu sehen:

Ein erster Test
- Rufe in einer beliebigen Website, die nicht deine Haupt-Seite für die Mediathek ist, das Backend auf.
- Gehe auf Medien > Mediadatei hinzufügen. Du wirst unterhalb einen Hinweis sehen, dass die Dateien beim Hochladen in der Haupt-Seite gespeichert werden.
- Lade wie gewohnt eine Datei hoch und rufe anschließend die Mediathek auf. Du wirst die Datei dort sehen mit dem Hinweis, dass sie extern gespeichert wurde.
- Rufe dann die Website auf, die als zentrale Mediathek dient. Schau hier in die Mediathek und du wirst die eben hochgeladene Datei dort liegen sehen. Sie wird nicht als externe Datei behandelt, da es sich hierbei um die Quelle für alle anderen Websites handelt.


Synchronisation
Damit jede Website im Netzwerk weiß, welche Dateien überhaupt zur Verfügung stehen, wird die im Plugin vorhandene Synchronisation verwendet. Diese gleich in regelmäßigen Intervallen die verfügbaren Dateien zwischen den Mediatheken im Netzwerk ab. Dabei werden die Dateien aus der zentralen Mediathek in den anderen Websites nur als externe Dateien hinterlegt und nicht als tatsächliche Dateien im Dateisystem.
Die Synchronisation läuft 1 Mal stündlich. Die Einstellung dazu kann pro Website angepasst werden.
Berechtigungen weiter beschränken
Möglicherweise möchte man verhindern, dass Nutzer der Websites weitere externe Quellen einbinden und diese dann verwenden, statt der Haupt-Mediathek, die man gerade eingerichtet hat. Dazu gibt es im Plugin auch eine Option.
- Rufe als Super-Administrator die Netzwerkverwaltung auf.
- Gehe dort auf Einstellungen und scrolle bis zu „Externe Dateien in der Mediathek“.
- Hier findest du ein Häkchen „Optionen verstecken“.
- Setze dieses Häkchen und speichere die Einstellungen.
Das Setzen dieser Einstellung führt nun dazu, dass die in WordPress verwalteten Berechtigungen aller Rollen für alle Websites so beschränkt werden, dass sie in Bezug auf die Mediathek sprichwörtlich nur noch Dateien hochladen können. Die können weder externe URLs hinzufügen, noch externe Quellen aufrufen und diese auch nicht als weitere Quellen speichern.
Aber die URLs der Dateien .. ?
Jede auf diesem Weg in der zentralen Mediathek gespeicherte Datei, wird wie jede andere externe Datei auch hinsichtlich ihrer URL behandelt. Das Plugin nutzt einen eigenen Proxy um die URLs für zugreifende Benutzer zu verschleiern und auch gleichzeitig einen Datenschutz-konformen Aufruf zu ermöglichen. Dadurch sieht man z.B. bei Verwendung unterschiedlicher Domains in einer Multisite von außen nicht, dass die Datei eigentlich woanders gespeichert ist.
Fazit
Damit habe ich gezeigt, wie man mit dem Plugin „Externe Dateien in der Mediathek“ eine Mediathek innerhalb einer Multisite-Installation verwenden kann. Es kann kostenfrei genutzt werden. Bei Fragen gerne im Supportforum melden.
Übrigens ginge an der Stelle noch mehr: in der Website, die man als Haupt-Mediathek verwendet, könnte man eine externe Quelle hinterlegen, in der alle Dateien gespeichert werden sollen. So könnte man alle Dateien aller Multisite-Websites zu einem externen Dienstleister mit mehr Speicherplatz auslagern und das ganze zentral verwalten.

Schreibe einen Kommentar