Installation

Voraussetzungen

Diese Anleitung bezieht sich auf eine bestehende Fiona-on-Rails-Applikation, die mit Fiona 7 im Legacy-Modus betrieben werden soll.

Als Ausgangspunkt der Installation dient eine Rails-Anwendung in der Version 4.2. Dabei kann es sich um eine RailsConnector-Applikation oder eine reine Rails-Applikation handeln. Um wie vorgesehen zu funktionieren, benötigt das Fiona-7-Gem zwingend:

  • Rails in der Version 4.2
  • jQuery und jQuery-ujs
  • Infopark CMS Fiona, mit freigeschaltetem XML-Zugang, railsifiziert in einer Version ab 6.9.0
  • MySQL-Datenbank ab Version 5.5.29 oder 5.6.x
  • Infopark Search Cartrige
  • ImageMagick
Optional kann der FionaConnector eingesetzt werden. Dieser wird immer über die Fiona-7-Gem-Abhängigkeiten mitinstalliert.

Schritt 1: Das Gem installieren

Tragen Sie das Fiona-7-Gem in die Datei „Gemfile“ im Hauptverzeichnis der Applikation ein:

gem 'infopark_fiona7'

Falls Sie „turbolinks“ einsetzen, entfernen Sie es bitte, da es von Scrivito nicht unterstützt wird. Dies betrifft:

  • Den Eintrag in der Gemfile-Datei
  • JavaScript-Assets in app/assets/javascripts/application.js
  • Das Application-Layout in app/views/layouts/application.html.erb
    (entfernen Sie die Tag-Attribute „data-turbolinks-track“)

Das Fiona-7-Gem wird wie der RailsConnector (jetzt auch FionaConnector) auf RubyGems.org veröffentlicht. Daher kann es mit dem folgenden Aufruf installiert werden:

bundle install

Die erforderlichen Komponenten für die Kompatibilität mit Scrivito werden automatisch berücksichtigt.

In den folgenden Schritten wird die Applikation für die Zusammenarbeit mit dem Fiona-7-Gem konfiguriert.

Schritt 2: CSS und JavaScript inkludieren

Um die volle Funktionalität des Gems freizuschalten, müssen in der Applikation CSS- und JavaScript-Komponenten inkludiert werden.

CSS-Komponenten

Diese Anleitung geht davon aus, dass in der Datei „application.css“ weder SCSS oder LESS, noch eine andere Lösung verwendet wurde. Erweitern Sie die Datei „app/assets/stylesheets/application.css“ um die folgende Zeile, idealerweise oberhalb oder unterhalb von *= require_self:

*= require fiona7

JavaScript-Komponenten

Diese Anleitung geht ferner davon aus, dass in der Datei „application.js“ keine Erweiterung wie CoffeeScript o.ä. verwendet wurde. Erweitern Sie die Datei „app/assets/javascripts/application.js“ um die folgende Zeile:

//= require fiona7

Diese Zeile muss zwingend unmittelbar hinter den folgenden Zeilen stehen:

//= require jquery
//= require jquery_ujs

Schritt 3: Basisklasse implementieren

Um mit Fiona 7 in Ihrer Applikation arbeiten zu können, benötigen Sie eine Implementation der Klasse Obj. Legen Sie hierfür das Model Obj, das von RailsConnector::BasicObj abgeleitet ist, in der Datei „app/models/obj.rb“ an:

class Obj < RailsConnector::BasicObj
end

Schritt 4: Basiscontroller implementieren

Damit Sie in Ihrer Applikation auf Objekte der Klasse Obj zugreifen können, binden Sie im CmsController die Scrivito::ControllerActions ein. Legen Sie hierfür die Datei „app/controllers/cms_controller.rb“ an:

class CmsController < ApplicationController
  include Scrivito::ControllerActions
end

Schritt 5: Zugänge konfigurieren

Für eine Applikation mit dem Fiona-7-Gem müssen drei Arten von Zugängen eingerichtet werden:

  • Direkter Zugang zu der MySQL-Datenbank, die an das CMS angebunden ist
  • XML-Schnittstelle des CMS
  • XML-Schnittstelle der CMS-SES 

Die MySQL-Konfiguration ist vollkommen identisch zu der beim RailsConnector (oder FionaConnector), d.h. der „cms:“-Eintrag in der Datei „config/database.yml“ muss derselbe sein.

Geben Sie die Zugangsdaten für die XML-Schnittstellen in der Datei „config/initializers/fiona7.rb“ an. Das folgende Beispiel illustriert die Konfigurationswerte und deren Format:

Fiona7.configure do |config|        # 1
  config.instance = 'playland'      # 2
  config.host = '33.33.33.10'       # 3
  config.port = 7001                # 4
  config.username = 'root'          # 5
  config.secret = 'MYSECRET'        # 6
  config.mode = :legacy             # 7
end
Fiona7::VeritySearchEngine::VeritySearchRequest.configured_host = '33.33.33.10' # 8 Fiona7::VeritySearchEngine::VeritySearchRequest.configured_port = 7011 # 9

Die obigen Zeilen bedeuten oder bewirken:

  1. Der Konfigurationsaufruf
  2. Der Instanzname, in der Regel ist dies „default“.
  3. Der Hostname oder die IP-Adresse des CMS Servers.
  4. Die Portnummer des XML-Zuganges für den CM; siehe die CMS-Datei „config/server.xml“.
  5. Das Login eines Benutzers mit dem Recht „permissionGlobalRoot“.
  6. Das „secret“ der Instanz; siehe die CMS-Datei „config/server.xml“.
  7. Der Modus der Applikation, :legacy oder :standalone. Erläuterungen zu dieser Einstellung finden Sie im Abschnitt Zwei Betriebsarten.
  8. Der Hostname oder die IP-Adresse des CMS-Servers
  9. Die Portnummer des XML-Zugangs für den SES; siehe die CMS-Datei „config/server.xml“.

Mit dem Login unter username und dem angegebenen secret wird man als CMS-Benutzer mit root-Rechten authentifiziert. Aus diesem Grund sollten diese Zugangsdaten niemals veröffentlicht (oder in ein Repository eingecheckt) werden. Wir empfehlen, die Zugangsdaten mittels Rails Secrets zu persistieren. Ferner sollte der Zugang zur XML-Schnittstelle mit einer Firewall auf die bekannten IP-Adressen beschränkt werden.

Schritt 6: Benutzeroberfläche freischalten

Schalten Sie die Benutzeroberfläche frei, indem Sie in den HEAD-Abschnitt des Layouts

<%= fiona7_head_tags %>

sowie in den BODY-Abschnitt

<%= fiona7_body_tags %>

eintragen.

Optional können Sie Workflows oder die Tag-Filterfunktion des Content Browsers aktivieren oder deaktivieren.

Um in der Vorschau arbeiten zu können, ist es erforderlich, sich anzumelden. Die Anmeldemaske ist voreingestellt versteckt und muss erst freigeschaltet werden. Fügen Sie hierzu mit der folgenden Zeile den Button zur Anmeldung an einer geeigneten Stelle ins Layout ein:

<%= fiona7_login_button %>

Schritt 8: Die Website-Anwendung starten

Beim ersten Start einer auf Fiona 7 basierenden Applikation wird die dazu gehörende CMS-Instanz automatisch initialisiert. Hierbei werden die Zugänge, Strukturen und Einstellungen des CMS auf Kompatibilität mit Fiona 7 überprüft und bei Bedarf angepasst.

Nachdem die Anwendung gestartet und die Site im Browser aufgerufen wurde, können Sie sich anmelden und im Bearbeitungsmodus Inhalte erstellen und bearbeiten.