Voraussetzungen
Als Ausgangspunkt der Installation dient eine Rails-Anwendung in der Version 4.1. 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.1
- jQuery und jQuery-ujs
- CMS Fiona, mit freigeschaltetem XML-Zugang, railsifiziert
- MySQL-Datenbank
- ImageMagick
Schritt 1: Das Gem installieren
Tragen Sie das Fiona-7-Gem in die Datei „Gemfile“ im Hauptverzeichnis der Applikation ein:
gem 'infopark_fiona7'
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 installDie 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 fiona7Diese 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: Zugänge konfigurieren
Für eine Applikation mit dem Fiona-7-Gem müssen zwei Arten von Zugängen eingerichtet werden:
- Direkter Zugang zu der MySQL-Datenbank, die an das CMS angebunden ist
- XML-Schnittstelle des CMS
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-Schnittstelle 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
Zeile 2: Der Instanzname, in der Regel ist dies „default“.
Zeile 3: Der Hostname oder die IP-Adresse des CMS Servers.
Zeile 4: Die Portnummer des XML-Zuganges; siehe die CMS-Datei „config/server.xml“.
Zeile 5: Das Login eines Benutzers mit dem Recht „permissionGlobalRoot“.
Zeile 6: Das „secret“ der Instanz; siehe die CMS-Datei „config/server.xml“.
Zeile 7: Der Modus der Applikation, „:legacy“ oder „:standalone"“. Erläuterungen zu dieser Einstellung finden Sie im Abschnitt Zwei Betriebsarten.
Achtung! 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 5: 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.
Schritt 6: Link zur Anmeldung mitteilen
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 7: Die CMS-Instanz initialisieren
Bevor Sie eine Anwendung mit Fiona 7 entwickeln können, ist es erforderlich, jede CMS-Instanz mit der folgenden Anweisung zu initialisieren:
bundle exec rake fiona7:initialize
Dieser Befehl überprüft die Zugänge, Strukturen und Einstellungen des CMS auf Kompatibilität mit Fiona 7 und passt sie bei Bedarf an.
Anschließend kann die Site hochgefahren und aufgerufen werden. Nach der Anmeldung erscheinen die Marker und sämtliche weiteren Bearbeitungselemente.