Für die Seiten, die mit Fiona und Rails erstellt wurden, werden zwei Datenbank-Tabellen genutzt: In einer Tabelle namens INSTANZNAME_objs
werden alle freigegebenen Inhalte gespeichert; in der anderen, INSTANZNAME_preview_objs
, befinden sich die aktuellen Arbeitsversionen (bzw. die freigegebenen Inhalte, wenn keine Arbeitsversion vorhanden ist). Wenn eine Datei eine eingereichte Version hat (und keine Arbeitsversion), dann wird diese als Arbeitsversion betrachtet.
Die Bearbeitungsleiste von Fiona 7 erlaubt es dem Redakteur, sehr leicht zwischen den veröffentlichten Inhalten und der Arbeitsversion umzuschalten. Technisch wird dabei die abgefragte Tabelle umgeschaltet. Dies geschieht im Kontext von HTTP-Requests, d.h. sämtlicher Code, der die Inhalte mit dem Fiona Connector aus der Datenbank abholt, wird mit den passenden Daten versorgt.
Die Regeln für die Umschaltung lauten: hat der ausgewählte Workspace die ID rtc
und ist der Benutzer erfolgreich gegen das CMS authentifiziert worden, dann wird auf INSTANZNAME_preview_objs
umgestellt. Andernfalls wird die Tabelle INSTANZNAME_objs
verwendet.
Wenn Sie auf der Rails-Konsole arbeiten oder Skripte nutzen, muss der zu verwendende Workspace vorher festgelegt werden. In der Standardkonfiguration (unabhängig davon, ob der Modus standalone
oder legacy
ist), ist der Workspace published
vorausgewählt. Dadurch ist es möglich, die veröffentlichten Inhalte abzuholen, jedoch nicht, Daten zu manipulieren. Wenn man also mit Arbeitsversionen arbeiten möchte, muss zuerst auf den Workspace rtc
umgestellt werden, zum Beispiel mit Scrivito::Workspace.use('rtc')
.
Im legacy
-Modus gibt es einen wichtigen zu beachtenden Punkt: Oft werden die APIs des Scrivito SDKs und des Fiona Connectors gemischt verwendet. Für den Fiona Connector lässt sich in der Konfiguration festlegen, welche Tabelle verwendet wird (über RailsConnector::Configuration.mode
). Im development
-Modus ist es sinnvoll und üblich, dass der Fiona Connector mit der Tabelle INSTANZNAME_preview_objs
startet sowie mit dem Workspace published
. Dies kann bei der Ausführung von Skripten und der Arbeit in der Konsole zu unerwarteten Effekten führen.
Die aktuellen Best Practices bestehen in der richtigen Konfiguration, die wenig Raum für Überraschungen lässt. Bedenken Sie bitte, dass diese sich nur auf die Rails-Konsole und die Skripte auswirkt. Die redaktionelle Arbeit und insbesondere die Inhalte, die dem Besucher angezeigt werden, sind davon nicht betroffen.
In der Entwicklungsumgebung (development
in Rails) sollte RailsConnector::Configuration.mode
auf :editor
gesetzt sein, ferner sollte immer beim Laden von Skripten und bei der Arbeit auf der Konsole Scrivito::Workspace.use('rtc')
ausgeführt werden. Die Umgebung für das redaktionelle System sollte exakt gleich konfiguriert sein.
Das produktive Live-System kommt in der Regel mit der Standardkonfiguration aus, d.h. der RailsConnector::Configuration.mode
ist :live
. Die Ausführung von Scrivito::Workspace.use('published')
ist implizit.
Wenn zwischen Live-System und Redaktionssystem nicht unterschieden wird, sollte die Konfiguration für das Redaktionssystem verwendet werden.