Szenario Staging System
Ein Staging- ist vom Produktivsystem unabhängig, es werden jedoch zu einem definiertem Zeitpunkt die Dateien von der Stagingumgebung in das Produktvsystem kopiert. Die UI-Anwendung ist in diesem Fall mit der Staginganwendung verbunden, Analytics wird mit den Such- und Trackinglogfiles aus dem Produktivsystem versorgt.
Variante 1: FACT-Finder Deployment Feature
FACT-Finder verfügt über ein eingebautes Deployment Feature, das Anwendungsdaten aus einem in ein anderes System kopieren kann. Hierzu ist es jedoch notwendig, dass beide Anwendungen Zugriff auf die Speicherpfade der jeweiligen Ressourcen haben. Werden beide Systeme beispielsweise auf unterschiedlichen Systemen betrieben, ist dies leider nicht möglich.Zusätzlich ist es vorgesehen, dass beide Instanzen auf unterschiedlichen Applicationservern und Ports betrieben werden.
In der Datei conf/fff.properties
des Stagingsystem müssen folgende Einstellungen vorgenommen werden:
Key | Beschreibung | Standardwert |
---|---|---|
useDeployment | Gibt an, ob das Deployment Feature aktiv sein soll oder nicht und muss daher auf true gesetzt werden. | false |
deploymentPort | Port unter dem die Staginganwendung erreichbar ist. Dies kann auch eine kommagetrennte Liste sein. | 8081 |
developmentServerMainDir | staging | |
productiveServerMainDir | leer | |
deployment.copyIndexes | Gibt an, ob bei einem Deployment die jeweilige Datenbank (Suche oder Suggest) mit übertragen werden soll oder nicht. | false |
Im Anschluss lassen sich über die UI-Anwendung, die an das Stagingsystem angeschlossen sein muss, die Datenbanken und Konfigurationsdateien vom Staging- in das Produktivsystem übertragen.
Variante 2: Externe Synchronisation von Dateien
Alternativ zum internen Deployment Feature besteht die Möglichkeit die entsprechenden Dateien auch anderweitig vom Staging- auf das Produktivsystem zu übertragen. Welche Dateien übertragen werden sollen hängt zum einen davon ab, ob alle Konfigurationen auf einmal übernommen werden sollen oder ob ein feingranulares Deployment möglich sein soll. Zusätzlich sollten Sie für sich einen Trigger definieren, wann die Daten synchronisiert werden.
Die Granularität kann neben dem Modul auch Channelseitig sein. In der weiteren Erklärung gehen wir davon aus, dass wir die Synchronisation je Modul und je Channel (Beispiel channel-a
) durchführen möchten. Ab der Version 7.3 ist zu beachten, dass zwischen den Channels auch eine Beziehung existiert, so müssen Parent- und dessen Childchannel immer im Verbund behandelt werden, da es sonst zu Fehlern kommen kann.
Suche und Navigation
Folgende Dateien müssen für diese beiden Module übertragen werden:
- Alle Dateien in
indexes/search/
, die mitff.channel-a.db
beginnen (zBff.channel-a.db
,ff.channel-a.db.multi
) conf/search/config.channel-a.xml
conf/ranking/config.channel-a.xml
Sollte der Channel channel-a
in einer Parent-/Childstruktur sein, so müssen in diesem Schritt alle zugehörigen Channels ebenfalls übertragen werden. Falls Sie auf dem Stagingsystem ein anderes Produktdatenset verwenden, dürfen die Daten unter indexes/search
nicht mitkopiert werden, es ist jedoch essentiell, dass die Suchdatenbank auf dem Zielsystem mit der dortigen Suchdatenbank zusammenpasst. Sollten Sie strukturelle Änderungen in der Struktur gemacht haben (zB Felder hinzufügen oder löschen), so müssen Sie auf dem Zielsystem nach dem Kopiervorgang und einem Neuladen der Konfiguration einen Datenimport anstoßen. Bitte beachten Sie auch, dass wenn die Suchdatenbank nicht mitkopiert wird, Einstellungen, die einen Import voraussetzen (zB Thesauruseinträge) noch nicht produktiv sind. Einen Import können Sie über eine API durchführen lassen.
Kampagnen Manager
Die Kampagen sind in der Datei campaigns/campaigns.channel-a.xml
enthalten. Bitte beachten Sie, dass neue Kampagnen greifen, wenn die Konfiguration neugeladen wurde und nach dem der Cache geleert wurde.
Suggest
Bei einem Deployment des Suggestmoduls müssen foglende Dateien kopiert werden:
indexes/suggest/ff.channel-a.db
conf/suggest/config.channel-a.xml
Bitte beachten Sie hier ebenfalls die Informationen, die bei "Suche und Navigation" stehen. Im Unterschied dazu muss gegebenenfalls ein Suggestimport angestoßen werden.
Recommendation Engine
Um die Daten der Recommendation Engine vom Staging- auf das Produktivsystem zu übertragen müssen folgende Dateien kopiert werden:
indexes/recEngine/recommendation.channel-a.ser
indexes/recEngine/recommendation.channel-a.ser.xml
conf/recommendation/config.channel-a.xml
Auch hier müssen in dem Fall, dass sich channel-a in einer Parent-/Childstruktur befindet, alle zugehörigen Channels gemeinsam übertragen werden.