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:
name
),parent
),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.
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.internal/news
eine Spiegeldatei ist.external/news/article-01
von Hand
angelegt.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.