Wenn Sie eine Rails-Anwendung mit einem Rails Connector vor Version 6.8.0 betreiben, so gehen Sie bitte nach dieser Anleitung vor, um Ihre Anwendung auf den Rails Connector 6.8.0 umzustellen. Die Rails-Anwendung als solche muss bereits auf Rails 3.2 aktualisiert worden sein, bevor der Rails Connector auf Version 6.8.0 aktualisiert wird.
Der Rails Connector enthält auch in Version 6.8.0 einen Generator, der die benötigten Dateien in einer Rails-Anwendung installiert. Dieser Generator ist zwar darauf optimiert, den Rails Connector in eine leere Rails-Anwendung zu installieren, er kann jedoch auch verwendet werden, um eine bestehende Anwendung zu aktualisieren. Der Generator überschreibt bestehende Dateien erst, nachdem eine entsprechende Rückfrage bestätigt wurde.
Aktualisieren Sie den Rails Connectors auf Version 6.8.0 in den folgenden Schritten:
Der Rails Connector besteht ab Version 6.8.0 aus zwei Gems. Zusätzlich zum Gem infopark_rails_connector
ist das Gem infopark_fiona_connector
erforderlich. Installieren Sie zunächst beide Gems mit gem install
.
Installieren Sie jetzt den Rails Connector in Ihre Anwendung:
rails generate rails_connector:install
Der Generator überschreibt bestehende Dateien erst nach Bestätigung. Prüfen Sie die Änderungen, die der Generator vornehmen möchte, indem Sie seine Rückfrage mit ‘d’ beantworten.
Die folgenden Dateien enthalten potenziell applikationsspezifische Änderungen und sollten nicht ohne Weiteres überschrieben werden:
config/initializers/rails_connector.rb
lib/obj_extensions.rb
app/views/layouts/application.html.erb
Anpassungen zur Nutzung der Asset Pipeline von Rails 3.2
Bereits in Rails 3.1 wurde die Asset Pipeline als Framework für die effiziente Auslieferung von CSS-, JavaScript- und Bilddateien (Assets) eingeführt. Der Rails Connector liefert seine CSS- und JavaScript-Dateien bereits darüber aus.
Ab Version 6.8.0 des Rails Connectors für CMS Fiona werden keine Assets mehr vom Generator in die Anwendung kopiert, sondern direkt vom Gem ausgeliefert. Dies bedeutet insbesondere, dass in bestehenden Anwendungen alle bisher generierten Assets ignoriert werden und daher entfernt werden können. Dies betrifft im Einzelnen:
public/javascripts/rails_connector/*
public/stylesheets/rails_connector/*
public/images/rails_connector/*
public/javascripts/rails.js
public/javascripts/jrails.js
public/javascripts/jquery.js
Um auch die übrigen Assets durch die Pipeline ausliefern zu lassen, sollten die Unterordner javascripts
, stylesheets
und images
aus dem Ordner public
in den Ordner app/assets
verschoben werden. Danach müssen die betreffenden Pfade in der Anwendung und in CSS- sowie JavaScript-Dateien angepasst werden.
Beachten Sie bitte, dass Assets unter einem einheitlichen URL-Pfad (voreingestellt /assets
) ausgeliefert werden; die URL enthält weder stylesheets
noch javascripts
noch images
.
Wegen der Verwendung eines Pfad-Präfixes in der Rails-Vorschau im GUI sollte in CSS- und JavaScript-Dateien von absoluten URLs wie /assets/icon.png
Abstand genommen werden, da solche Assets bei einem Pfad-Präfix wie /default
nicht gefunden werden. Stattdessen sollten relative URLs verwendet werden.
Frieren Sie die Version des Gems jQuery
ein Die JavaScript-Bibliothek jQuery
wird durch das Gem jquery-rails
und die Asset Pipeline zur Verfügung gestellt. Demzufolge ist die verwendete jQuery-Version jetzt an dieses Gem geknüpft. Frieren Sie daher die Version des Gems im Gemfile
ein, um den Zeitpunkt der Aktualisierung von jQuery selbst festlegen zu können. Im Gemfile
von Playland ist die von uns getestete Version eingefroren.
Entfernen Sie die folgenden Dateien, sofern vorhanden:
lib/tasks/rails_connector_addons.rake
lib/tasks/rspec.rake
Lokalisierungsdateien
Seit Version 6.7.3 sind im Lieferumfang des Rails Connectors keine Lokalisierungsdateien von Ruby on Rails mehr enthalten. Für den Betrieb einer Rails-Connector-Applikation in einer anderen Sprache als Englisch werden Lokalisierungsdateien benötigt.
Benutzerattribute in der Session
Seit Version 6.7.3 werden die Attribute eines angemeldeten Benutzers, die in der Session zwischengespeichert werden, nicht mehr im UserController
festgelegt. Die Attribute werden jetzt in der Datei config/initializers/rails_connector.rb
und auf folgende Weise definiert:
RailsConnector::Configuration.store_user_attrs_in_session = [:login, :first_name, :last_name, :email, :id]
Die ID der betreffenden Person (contact_id
) wird immer in der Session gespeichert, auch dann, wenn sie in dieser Liste nicht aufgeführt ist.