Spiegeldateien

Aufgabe und Verwendung

CMS Fiona unterstützt so genannte Spiegeldateien (jedoch nicht bei Einsatz des Rails Connectors für CMS Fiona). Mit Hilfe von Spiegeldateien können Inhalte an mehreren Stellen in einer Ordnerhierarchie verwendet werden. Insbesondere kann der Inhalt einer Datei auf diese Weise mit verschiedenen Layouts exportiert werden.

Eine Spiegeldatei hat keinen eigenen Inhalt, also keine eigenen Versionsfelder. Stattdessen wird bei der Anzeige und beim Export der Inhalt der Originaldatei verwendet. Auch ihre Dateifelder bezieht eine Spielgeldatei vom Original, bis auf die folgenden Ausnahmen:

  • Dateiname (name),
  • darüber liegender Ordner (parent),
  • das Recht permissionRoot

Ändert man eines dieser Felder in der Originaldatei, wirkt sich die Änderung nicht auf die Spiegeldatei aus (und umgekehrt). Ändert man hingegen ein anderes Feld in der Originaldatei, betrifft die Änderung auch die Spiegeldatei.

Beim Anlegen von Spiegeldateien gelten die gleichen Regeln wie bei anderen Dateien auch. Der Benutzer benötigt zusätzlich jedoch das globale Recht permissionGlobalMirrorHandling. Ferner erbt eine Spiegeldatei ihr Administrationsrecht (permissionRoot) von dem Recht permissionCreateChildren des Ordners, in dem die Spiegeldatei angelegt wird. Dadurch wird sichergestellt, dass ein Benutzer, der eine Spiegeldatei anlegt, diese auch umbenennen oder löschen kann.

Eine Datei, von der eine oder mehrere Spiegeldateien existieren, kann nicht gelöscht werden. Die Verbindung zwischen einer Originaldatei und ihren Spiegeldateien bleibt auch dann erhalten, wenn eine dieser Dateien in der Hierarchie verschoben wird.

Wenn ein Ordner gespiegelt wird, so ist die komplette Hierarchie darunter im Spiegelordner ebenfalls vorhanden, d.h. Teilhierarchien werden vollständig gespiegelt. Es ist nicht möglich, in einer gespiegelten Teilhierarchie neue Dateien anzulegen.

Automatische Aktualisierung von Spiegelordnern

Legt man eine Datei in einem originalen Ordner an (d.h. in einem Ordner, der keine Spiegeldatei ist), so enthalten die gespiegelten Ordner automatisch die entsprechenden Spiegeldateien. Beispiel:

Die obige Ordnerhierarchie ist folgendermaßen entstanden:

  • internal und external wurden von Hand angelegt.
  • external/news wurde ebenfalls von Hand angelegt.
  • external/news wurde in die Zwischenablage kopiert.
  • internal wurde markiert.
  • Die Zwischenablage wurde als Spiegeldatei eingefügt, so dass nun internal/news eine Spiegeldatei ist.
  • Nun wurde external/news/article-01 von Hand angelegt.
  • Das System hat die Spiegeldatei external/news/article-01 automatisch angelegt.

Gibt es mehrere Spiegeldateien eines Ordners (im obigen Beispiel des Ordners external/news), so erscheint in jedem dieser Spiegelordner eine Spiegeldatei, wenn zum Originalordner eine Datei hinzugefügt wird.

Sämtliche Operationen in einem Originalordner oder seiner Teilhierarchie (Dateien löschen, verschieben) sind auch in den Spiegelordnern wirksam.