Eine neue Rails-Anwendung anlegen

Diese Anleitung setzt eine voll funktionsfähige Installation von CMS Fiona voraus. Bitte beachten Sie die Installationsvorraussetzungen.

  1. Die Anwendung und von ihr abhängige Komponenten installieren

    Erstellen Sie zunächst eine neue Rails-Applikation:
    $ rails new meinProject --skip-bundle
    Wechseln Sie in das neu erstellte Verzeichnis Ihrer Applikation:
    $ cd meinProject
    Fügen Sie die erforderlichen Rails-Connector-Gems zum Gemfile hinzu:
    gem 'mysql2'
    gem 'infopark_rails_connector', '~> x.y.z'
    gem 'infopark_fiona_connector', '~> x.y.z'
    Installieren Sie anschließend die zusätzliche Software:
    $ bundle install
    Bis Version 6.8.0: Kopieren Sie Ihre Lizenzdatei license.xml in das Verzeichnis config.
  2. Datenbank von CMS Fiona vorbereiten

    Damit der Rails Connector auf die Datenbank des Content Managers (CM) zugreifen kann, muss dessen Datenbank auf MySQL umgestellt und für den Rails Connector optimiert werden. Wechseln Sie dazu in das Verzeichnis der entsprechenden Instanz und führen Sie den folgenden Befehl aus:
    # Der voreingestellte Instanzname lautet "default".
    $ cd FIONA/instance/Instanzname 
    $ ./bin/CM -railsify
    Da der Rails Connector nur lesend auf die Datenbank des CM zugreift, ist zu empfehlen, der Applikation einen gesonderten, nur leseberechtigten Datenbank-Benutzer zur Verfügung zu stellen. Diesen können Sie über die folgenden Kommandos anlegen.
    $ mysql -u root -p
    Enter password:
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 18
    Server version: 5.0.41-community MySQL Community Edition (GPL)
    Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
    mysql> grant read on fiona_cm.* to fiona_cm_ro@localhost identified by 'fiona_cm_ro';
  3. Zusätzliche Datenbanken für die Rails-Anwendung anlegen

    Legen Sie mit den folgenden Kommandos zusätzliche Datenbanken für die Live-Daten an. Sie benötigen je Umgebung (development, production, preview und test) eine solche Datenbank.
    $ mysql -u root -p
    Enter password:
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 18
    Server version: 5.0.41-community MySQL Community Edition (GPL)
    Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
    mysql> create database meinProject_development;
    Query OK, 1 row affected (0.00 sec)
    mysql> grant all on meinProject_development.* to fiona@localhost identified by 'fiona';
    Query OK, 1 row affected (0.00 sec)
    mysql> create database meinProject_production;
    Query OK, 1 row affected (0.00 sec)
    mysql> grant all on meinProject_production.* to fiona@localhost identified by 'fiona';
    Query OK, 1 row affected (0.00 sec)
    mysql> create database meinProject_preview;
    Query OK, 1 row affected (0.00 sec)
    mysql> grant all on meinProject_preview.* to fiona@localhost identified by 'fiona';
    Query OK, 1 row affected (0.00 sec)
    mysql> create database meinProject_test;
    Query OK, 1 row affected (0.00 sec)
    mysql> grant all on meinProject_test.* to fiona@localhost identified by 'fiona';
    Query OK, 1 row affected (0.00 sec)
    mysql> exit
    Bye
  4. Datenbankverbindungen anpassen

    In Verbindung mit dem Rails Connector verwendet Ihre Rails-Anwendung zwei Datenbanken, die in jedem Environment konfiguriert sein müssen:
    • Eine Datenbank mit dem CMS-Inhalt (cms)
    • Eine Datenbank mit den Rails-spezifischen Inhalten (development, production, preview oder test)
    Die Konfigurationsdatei für die Datenbankverbindungen, database.yml, befindet sich im Verzeichnis config. Passen Sie die Konfigurationen darin an Ihr Datenbank-Setup an.
    cms:
       adapter: mysql2
       database: fiona_cm
       username: fiona_cm_ro
       password: fiona_cm_ro
       encoding: utf8
       host: IHR_CMS_DATENBANK_SERVER
    development:
       adapter: mysql2
       database: meinProject_development
       username: fiona
       password: fiona
       encoding: utf8
       host: IHR_RAILS_DATENBANK_SERVER
    test:
       adapter: mysql2
       database: meinProject_test
       username: fiona
       password: fiona
       encoding: utf8
       host: IHR_RAILS_DATENBANK_SERVER
    production:
       adapter: mysql2
       database: meinProject_production
       username: fiona
       password: fiona
       encoding: utf8
       host: IHR_RAILS_DATENBANK_SERVER
    preview:
       adapter: mysql2
       database: meinProject_preview
       username: fiona
       password: fiona
       encoding: utf8
       host: IHR_RAILS_DATENBANK_SERVER
  5. Rails-Connector-Installation abschließen

    Wechseln Sie zurück in das Hauptverzeichnis der Rails-Applikation und stoßen Sie die automatische Installation des Rails Connectors an:
    $ cd meinProject
    $ rails generate rails_connector:install
          create  config/initializers/rails_connector.rb
          create  app/models/obj.rb
          create  config/local/configuration.rb
          append  app/assets/javascripts/application.js
            gsub  app/assets/stylesheets/application.css
          remove  public/index.html
          remove  app/assets/images/rails.png
            gsub  app/views/layouts/application.html.erb
            gsub  app/views/layouts/application.html.erb
    Dieses generate-Kommando erstellt die erforderlichen zusätzlichen Dateien, die der Rails Connector benötigt oder bereitstellt.
  6. Einstellungen der CMS-Instanz anpassen

    Sofern Sie nicht die default-Instanz verwenden, muss der Instanzname explizit in der Datei config/initializer/rails_connector.rb angegeben werden:
    RailsConnector::Configuration.instance_name = "Instanzname" 
  7. Vorschau-Rails-Umgebung anlegen

    Um später die CMS-Vorschau über den Rails Connector ausliefern lassen zu können, benötigen Sie eine geeignete Rails-Umgebung. Diese leiten Sie am besten von der produktiven Umgebung ab, indem Sie diese kopieren:
    $ cp config/enviornments/production.rb config/environments/preview.rb
    Erweitern Sie anschließend diese Datei um die folgende Zeile, um den Rails-Connector-Modus zu ändern:
    RailsConnector::Configuration.mode = "editor"
  8. Anwendung testen

    Starten Sie den Server mit dem folgenden Befehl in der development-Umgebung:
    $ rails s
    => Booting WEBrick
    => Rails 3.2.19 application starting in development on http://0.0.0.0:3000 Call with -d to detach
    => Ctrl-C to shutdown server
    Überprüfen Sie die Funktionsfähigkeit der Anwendung, indem Sie deren Startseite unter http://localhost:3000/ aufrufen.
  9. Rails-Vorschau integrieren

    Integrieren Sie die Rails-Vorschau ins CMS-GUI.