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_connectorist das Geminfopark_fiona_connectorerforderlich. Installieren Sie zunächst beide Gems mitgem install. -
Installieren Sie jetzt den Rails Connector in Ihre Anwendung:
rails generate rails_connector:installDer 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.rblib/obj_extensions.rbapp/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.jspublic/javascripts/jrails.jspublic/javascripts/jquery.js
Um auch die übrigen Assets durch die Pipeline ausliefern zu lassen, sollten die Unterordner
javascripts,stylesheetsundimagesaus dem Ordnerpublicin den Ordnerapp/assetsverschoben 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 wederstylesheetsnochjavascriptsnochimages.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.pngAbstand genommen werden, da solche Assets bei einem Pfad-Präfix wie/defaultnicht gefunden werden. Stattdessen sollten relative URLs verwendet werden. -
Frieren Sie die Version des Gems
jQueryein Die JavaScript-BibliothekjQuerywird durch das Gemjquery-railsund 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 imGemfileein, um den Zeitpunkt der Aktualisierung von jQuery selbst festlegen zu können. ImGemfilevon Playland ist die von uns getestete Version eingefroren. -
Entfernen Sie die folgenden Dateien, sofern vorhanden:
lib/tasks/rails_connector_addons.rakelib/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.