Zwischen Arbeitsversionen und veröffentlichten Inhalten umschalten

Umschalten als Redakteur: automatische Wahl der Datenbanktabelle

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.

Umschalten als Entwickler: auf der Konsole

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.