Neues zu Infopark CMS Fiona

Fiona-7-Gem 1.5.5.4.0 erschienen

Das Fiona-7-Gem für die In-place-Bearbeitung, das das Scrivito-Frontend nutzt, wurde aktualisiert. Dieses Release enthält die folgenden Verbesserungen und Korrekturen:

  • Verbesserte Permalink-Handhabung in Detailansichten
  • Kompatibilitätsanpassungen für die In-place-Bearbeitung mit IE11
  • Optionale Garbage Collection (Bereinigung) für Widgets

Die Garbage Collection kann mit Hilfe eines Konfigurationsparameters umgeschaltet werden:

config.features.widget_gc_strategy = :revert_archive

Bitte aktualisieren Sie die Gem-Version in Ihrem Gemfile, oder, wenn dort keine konkrete Version angegeben ist, führen Sie bundle update infopark_fiona7 aus, um die neueste Version zu installieren.

Vielen Dank dafür, dass Sie CMS Fiona einsetzen!

Infopark CMS Fiona 7.0.1 erschienen

Infopark CMS Fiona 7.0.1 enthält etliche Bugfixes, verbessert die Bedienbarkeit von Dialogen und verfügt über eine Erweiterungsoption für den redaktionellen Workflow. Ferner ist diese neue Version auf SLES 11 lauffähig.

Bitte entnehmen Sie die Details den Release Notes.

Infopark CMS Fiona 7.0.0 erschienen

Ein neues Release von Infopark CMS Fiona wurde heute veröffentlicht. Version 7.0 bietet wieder zahlreiche Verbesserungen und Erweiterungen, die Sie im Detail den Release Notes entnehmen können.

Wartungsvertrag für edit-on Pro von RealObjects gekündigt

RealObjects hat den Wartungsvertrag für edit-on Pro mit uns gekündigt, da sie das Produkt ab dem 1. August 2014 einstellen. Einerseits betrachten sie Java auf dem Client als nicht mehr zeitgemäß (Tablets & Co), andererseits macht die aktuelle Release- und Update-Politik von Oracle eine sinnvolle Java-Applet-Entwicklung so gut wie unmöglich. Die diversen Probleme mit Java-Versionen aufgrund neuer und höherer Sicherheitseinstellungen konnten wir durchaus bei den letzten Releases nachvollziehen.

Die Alternative ist hier der bereits vielfach in Benutzung befindliche TinyMCE.

Das bedeutet, dass wir neue Versionen der Software Infopark CMS Fiona nicht mehr mit edit-on Pro ausliefern dürfen und auch keinen Support mehr von RealObjects dafür erhalten.

Sollten Sie Fragen hierzu haben, so wenden Sie sich bitte an unseren Support.

Service Pack 2 für Infopark CMS Fiona 6.10

Heute wurde das Services Pack 2 für Infopark CMS Fiona 6.10 veröffentlicht. Kunden, die Infopark CMS Fiona 6.10 einsetzen und die Template Engine oder Oracle verwenden, sollten dieses Service Pack auf Ihrem System einspielen. Es enthält alle Dateien aus dem Service Pack 1 (SP1) für Fiona 6.10 sowie zusätzlich ein TE-Binary und einen neuen Datenbank-Adapter für Oracle. Damit werden neben den Punkten, die mit dem SP1 gefixt wurden, auch folgenden Probleme behoben, die Infopark CMS Fiona 6.10 betreffen.

  • Bei Verwendung von Oracle als Datenbank konnte es zum Fehler bei der Bearbeitung von Inhalten kommen. Dieses Problem wurde behoben. (ID 13633)

  • Beim Export kommt es nicht mehr zu einem Datenbankfehler, wenn die selbe Datei innerhalb eines Exportzyklus umbenannt und gelöscht wird. (ID 13632)

Um das Service Pack auf Ihrem System einzuspielen, gehen Sie bitte folgendermaßen vor:

  1. Laden Sie das Service Pack von unserer Website herunter. Dieses Archiv enthält kein komplettes CMS-Package, sondern nur die aktualisierten Dateien.

    Service Pack 2 für Fiona 6.10 Linux
    Service Pack 2 für Fiona 6.10 Windows

    Das komplette CMS-Paket können Sie aus dem Download-Bereich unserer Webseite herunterladen.

  2. Entpacken Sie das ZIP-Archiv in ein temporäres Verzeichnis auf dem CMS-Server.

  3. Stoppen Sie CM und TE.

  4. Ersetzen Sie im Verzeichnis cmsDir/lib folgende Dateien durch die Dateien aus dem Service Pack:
    Linux: CM.bin, TE.bin, libHSDatabase.so
    Windows: CM.exe, TE.exe, Oracle11Adaptor.dll, Oracle10Adaptor.dll, Oracle9Adaptor.dll

  5. Ersetzen Sie das infopark-gui-6.10.0.jar unter instance/instanceName/webapps/GUI/WEB-INF/lib durch das neue GUI-Java-Archiv.

  6. Entfernen Sie den Parameter wantChildrenSorted aus der instance/instanceName/config/preferences.xml und fügen Sie diesen zur instance/instanceName/config/guiPreferences.xml hinzu:

    <wantChildrenSorted>true</wantChildrenSorted>

  7. Starten Sie CM und TE.

  8. Deployen Sie das GUI.

Kunden, die Infopark CMS Fiona 6.10 erst neu herunterladen, müssen das Service Pack nicht separat installieren. Sollten Sie Fragen hierzu haben, so wenden Sie sich bitte an unseren Support.

Service Pack 1 für Infopark CMS Fiona 6.10

Heute wurde ein Service Pack für Infopark CMS Fiona 6.10 veröffentlicht. Kunden, die bereits Infopark CMS Fiona 6.10 einsetzen, sollten dieses Service Pack auf Ihrem System einspielen. Es enthält ein CM-Binary und ein GUI-Java-Archiv. Damit werden die folgenden Probleme behoben, die Infopark CMS Fiona 6.10 betreffen.

  • Der Edit On Pro HTML-Editor (EOP) ermittelt seine Sprache wieder anhand der Sprache, die der Redakteur im GUI ausgewählt hat. (ID 13631)

  • Neue Vorlagen können wieder über das GUI angelegt werden. (ID 13630)

  • Wiedervorlagen werden auch wieder an die Mitglieder von Gruppen verschickt, die in der Wiedervorlage hinterlegt sind. (ID 13626)

Um das Service Pack auf Ihrem System einzuspielen, gehen Sie bitte folgendermaßen vor:

  1. Laden Sie das Service Pack von unserer Website herunter. Dieses Archiv enthält kein komplettes CMS-Package, sondern nur die beiden aktualisierten Dateien.

    Service Pack 1 für Fiona 6.10.0 Linux
    Service Pack 1 für Fiona 6.10.0 Windows

    Das komplette CMS-Paket können Sie aus dem Download-Bereich unserer Webseite herunterladen.

  2. Entpacken Sie das ZIP-Archiv in ein temporäres Verzeichnis auf dem CMS-Server.

  3. Stoppen Sie den CM.

  4. Ersetzen Sie das CM-Binary im cmsDir/lib Verzeichnis durch das neue CM-Binary.

  5. Ersetzen Sie das infopark-gui-6.10.0.jar unter instance/instanceName/webapps/GUI/WEB-INF/lib durch das neue GUI-Java-Archiv.

  6. Entfernen Sie den Parameter wantChildrenSorted aus der instance/instanceName/config/preferences.xml und fügen Sie diesen zur instance/instanceName/config/guiPreferences.xml hinzu:

    <wantChildrenSorted>true</wantChildrenSorted>

  7. Starten Sie den CM.

  8. Deployen Sie das GUI.

Kunden, die Infopark CMS Fiona 6.10 erst neu herunterladen, müssen das Service Pack nicht separat installieren. Sollten Sie Fragen hierzu haben, so wenden Sie sich bitte an unseren Support.

Infopark CMS Fiona 6.10 erschienen

Ein neues Release von Infopark CMS Fiona wurde heute veröffentlicht. Version 6.10 bietet wieder zahlreiche Verbesserungen und Erweiterungen, die Sie im Detail den Release Notes entnehmen können.

Java-Update 1.7.0_45 und inkompatible Sicherheitseinstellungen beim HTML-Editor EOP

Am 14. Januar 2014 hat Oracle eine neue Java-Version (Java 7 Update 51) veröffentlicht. Mehrere Infopark-Kunden, die noch mit dem EOP-Editor arbeiten, konnten nach dem Java-Update keine Inhalte mehr mit diesem Editor bearbeiten.

Dieser Effekt ist auf erhöhte Sicherheitsanforderungen zurückzuführen, die bereits mit dem Release von Java 1.7.0_45 eingeführt wurden. Da ältere Versionen des Edit On Pro nicht mit diesen Sicherheitsanforderungen kompatibel sind, empfehlen wir allen Kunden, ihren Edit on Pro auf eine neue Version zu aktualisieren.

Eine ausführliche Anleitung zum Aktualisieren des Editors sowie einen Link zur JAR-Datei finden Sie in unserer Knowledge Base. Bitte beachten Sie in diesem Artikel unbedingt die Hinweise zu den unterstützten Java-Versionen.

Gegenwärtig werden letzte Tests mit dem aktuellen EOP in der Version 5.3.258.337 durchgeführt. Diese Version wird nach erfolgreichem Abschluss der Tests auch in dem oben genannten Artikel zur Verfügung gestellt.

Obiges gilt analog auch für den Dialog zur Bearbeitung von Inhalten mit einer lokalen Anwendung". Wenn Sie eine lokale Anwendung nutzen und diese aufgrund von Java-Sicherheitseinstellungen nicht mehr ausgeführt wird, so nehmen Sie bitte Kontakt zu unserem Support auf.

Rails Connector 6.9.2 released

Infopark Rails Connector is now available in version 6.9.2.1.125136549.

This release no longer includes infrequently used features, as described in a previous blog post. The last version that includes these features is 6.9.1.3.22208381.

Infrequently used features removed from Rails Connector

We have been doing some cleaning and removed a number of infrequently used features from the Rails Connector gem.
Most of the projects used to build their own version of the removed features.

The removed features are:

  • Comments
  • CrmFormController
  • LinkHelper
  • Liquid Templates
  • MenuHelper
  • MicronavHelper
  • Ratings
  • RssController
  • SearchController
  • SeoHelper
  • SeoSitemapController
  • Timemachine
  • TrackingHelper
  • UserController

These features are still available as source code at: https://github.com/infopark/rails_connector_legacy_features

If one of your applications depends on these features and you wish to continue using the features, simply copy their source code from the archive to your application.

Rails Connector 6.9.0 released

The infopark_rails_connector and infopark_cloud_connector gems are now available in version 6.9.0.3.197272233.

What’s new?

A new helper for rendering CMS content, cms_tag, is now available. Example:

    <%= cms_tag :h2, @obj, :headline, class: "very_important" %>

This renders an h2 element containing the text of the headline attribute of @obj and assigns the tag the CSS class very_important.

This helper is meant to be a replacement for display_field and display_value and should be used preferably. The old helpers still work, but content rendered through display_field or display_value will not be detected by the upcoming inplace editing feature.

Inplace editing will enable your users to edit the CMS content directly inside your application (WYSIWYG). If you plan on offering inplace editing in your project, you should start using cms_tag in your templates.

If you do not yet know whether you want to offer inplace editing or not, don’t worry. Using cms_tag won’t hurt, even if you end up not making inplace editing available at all. We will introduce inplace editing more detailed as soon as it is ready for use.

Improvements and bug fixes

The caching of CMS objects has been improved, further increasing the speed of the connector in the following situations:

  • Delivering content after a working copy has been published
  • Delivering content from a working copy after it has been updated
  • Delivering content from a new working copy for the first time

Images stored in the CMS were formerly always linked using the http protocol. This caused browser security warnings when the page itself was served via https. Now the cloud connector automatically adjusts all links to images and other binary assets to match the protocol of the page that embeds the asset, thus avoiding security warnings.

Several kinds of network errors are now better handled by the cloud connector, including Errno::ETIMEDOUT, Errno::ECONNREFUSED, Timeout::Error. The cloud connector will try to re-establish the connection if one of these errors occurs. If the error persists, it will raise a RailsConnector::BackendNotAvailable error.

The new version is more stable in the case of network outages. If the Rails Connector cannot reach the CMS backend, it will try to serve content from its local cache. This will succeed for pages where the entire content (i.e. every object needed for the page) is present in the local cache, which is usually the case if the page has ever been served before in the current revision. A warning will be logged whenever this happens.

The Rails Connector now requires the latest security releases of Rails (3.2.13) and the JSON gem (1.7.7).

A bug has been fixed that caused the Rails Connector to issue the following warning in the development environment: warning: already initialized constant.

The new Rails Connector contains a workaround for a bug in Rails 3.x. The bug causes the error cannot generate tempfile when accessing a CMS object.

Infopark CMS Fiona 6.9.0 erschienen

Heute ist Infopark CMS Fiona 6.9.0 mit zahlreichen Verbesserungen und Erweiterungen erschienen! Die Einzelheiten finden Sie in den Release Notes.

Rails Connector mit neuer jQuery-Version

Ab Version 6.8.3.67.110847540 wird im Rails Connector eine neue Version von jquery-rails verwendet. Mit diesem Update wird jQuery in der Version 1.9.1 ausgeliefert und nicht mehr in der Version 1.7.1.

Rails Connector 6.8.3 erfordert Ruby 1.9.3

Der Rails Connector ab Version 6.8.3 kann nur noch mit Ruby ab Version 1.9.3 betrieben werden. Ruby 1.8.7 wird nicht mehr unterstützt.

Die Umstellung auf Ruby 1.9.3 lohnt sich nicht nur wegen der behobenen Fehler, sondern auch wegen der deutlich höheren Geschwindigkeit, mit der Webseiten ausgeliefert werden. Da Ruby 1.9.3 rückwärts kompatibel zu Ruby 1.8.7 ist, sind bei der Aktualisierung keine Probleme zu erwarten.

Rails Connector 6.8.3 mit schnellerer Vorschau

Ab Version 6.8.3 des Rails Connectors werden Vorschauseiten wesentlich schneller ausgeliefert. Dadurch wird die Arbeit mit der Vorschau des CMS produktiver und angenehmer.

Die Beschleunigung wird durch Caching erreicht. Zur Erstellung der Vorschauseiten braucht jetzt nur noch ein kleiner Teil der CMS-Objektdaten aus der Datenbank gelesen zu werden, wodurch sowohl die Zahl der Requests als auch das zu übertragende Datenvolumen abnimmt.

Rails Connector mit direkt erweiterbarem Obj - ObjExtensions entfallen

Ab Version 6.8.2 des Rails Connectors kann die Klasse Obj direkt erweitert werden. Es ist nicht mehr erforderlich und auch nicht mehr möglich, hierfür das Modul ObjExtensions zu nutzen.

Bis einschließlich Version 6.8.1 konnte Obj folgendermaßen mit Hilfe des Moduls ObjExtensions erweitert werden:

# lib/obj_extensions.rb

module ObjExtensions
  def self.enable
    Obj.class_eval do
      # Definieren Sie hier Ihre Methoden
    end
  end
end

Ab Version 6.8.2 kann das Model Obj in der Applikation angelegt und erweitert werden. Das Model muss von RailsConnector::BasicObj abgeleitet sein.

# app/models/obj.rb

class Obj < RailsConnector::BasicObj
  # Definieren Sie hier Ihre Methoden
end

Rails Connector unterstützt Ruby 1.9 und mysql2

Der Rails Connector in der Version 6.8.1 ist jetzt sowohl mit Ruby 1.8.7 als auch mit Ruby 1.9 kompatibel.

Die Ruby-Version 1.8.7 erreicht im Juni 2013 ihr “End of Life”. Ab diesem Zeitpunkt wird es für diese Version keine Sicherheitsupdates mehr geben. Aus diesem Grund ist es empfehlenswert, in den nächsten Monaten zum aktuellen Rails Connector zu wechseln und Ruby von Version 1.8.7 auf 1.9.3 zu aktualisieren. Ruby 1.9.3 ist derzeit die aktuelle stabile Version.

Ferner erfordert der Rails Connector 6.8.1 nun mysql2 anstatt mysql. Der Datenbank-Adapter mysql ist veraltet und kann folgendermaßen durch mysql2 ersetzt werden:

  • Ersetzen Sie in Ihrem Gemfile die Rails-Connector-Version durch die neue Version und entfernen Sie das Gem mysql. mysql2 wird indirekt hinzugefügt, da das Gem infopark_fiona_connector von mysql_blob_streaming in der Version 2.0.0 abhängt, das wiederum mysql2 erfordert.

  • Führen Sie bundle aus.

  • Ändern Sie den Wert von adapter in der Datei config/database.yml von mysql zu mysql2.

In dieser Rails-Connector-Version wurde auch Liquid von Version 2.0 auf 2.4 aktualisiert.

Rails-Mindestversion des Rails Connectors ist 3.2.11

Der Rails Connector (sowie der Cloud Connector und der Fiona Connector) müssen ab Version 6.8.0.539.x mit Rails 3.2.11 oder höher betrieben werden. Bisherige Versionen des Rails Connectors erfordern diese Rails-Version nicht, können jedoch unabhängig davon mit Rails 3.2.11 betrieben werden.

Mit dieser Änderung wird sichergestellt, dass in künftigen Projekten keine ältere und möglicherweise unsichere Rails-Version verwendet wird.

Verbessertes Routing im Rails Connector

Der Rails Connector verwendet jetzt den slug eines CMS-Objekts, um dessen Route zu berechnen. Sie wird nun also nicht mehr nach dem Schema obj.id/obj.name berechnet, sondern nach obj.id/obj.slug.

Im Fiona Connector liefert obj.slug den Namen des betreffenden CMS-Objekts, also obj.name, während der Cloud Connector den Titel verwendet und darauf parameterize von ActiveSupport aufruft.

Der slug von Objekten kann in den ObjExtensions überschrieben werden, um beispielsweise ein anderes Feld als Berechnungsgrundlage zu verwenden:

def slug
  self["title_de"].parameterize
end

PDF-Generator aus Rails Connector entfernt

Ab Version 6.8.0.518 enthält der Rails Connector den PDF-Generator nicht mehr. Damit entfällt auch die Abhängigkeit des Connectors vom Tidy-Gem. Die letzte Version, die noch den PDF-Generator enthält, ist 6.8.0.515.

Der PDF-Generator wurde entfernt, weil es bessere und leichter einzusetzende Lösungen (beispielsweise PDFKit) gibt.

Korrigierter cms_path-Helper und neue Konfiguration für das Blob-Cache-Verzeichnis

Der Helper cms_path beachtete bisher options nur dann, wenn er für Obj aufgerufen wurde. Jetzt werden die options auch für Link beachtet.

Ferner gibt es eine neue Konfiguration, RailsConnector::Configuration.blob_cache_dir, mit der das als Blob-Cache zu verwendende Verzeichnis festgelegt werden kann.

API-Dokumentation zum Infopark Rails Connector auf RubyDoc.info

Infopark hat die Gems des Infoparks Rails Connectors vor mehreren Monaten auf RubyGems.org verfügbar gemacht. Zusätzlich wurde nun auch die API-Dokumentation zu den Gems auf der zu RubyGems.org gehörenden Plattform RubyDoc.info zur Verfügung gestellt (siehe http://kb.infopark.de/resources).

Infopark Knowledge Base: Buch-Empfehlungen und Links zu anderen Ressourcen

Als eine zentrale Anlaufstelle für Ressourcen rund um die Web-Entwicklung wurde eine entsprechende Seite in der Infopark Knowledge Base erstellt: http://kb.infopark.de/resources

Dort sind auch die Links auf die API-Dokumentation zu den Infopark-Gems zu finden.

Clouds saas und saas-dev.infopark.net zusammengeführt

Die Clouds *.saas-dev.infopark.net und *.saas.infopark.net wurden zusammengeführt. Dadurch sind das CMS und das CRM nun stets gemeinsam auf kunde.saas.infopark.net erreichbar.

*.saas-dev.infopark.net wird noch rund vier Wochen lang parallel verfügbar sein.

Ferner endet die URL des WebCRM nun nicht mehr mit omc, sondern mit crm. Beispiel: kunde.saas.infopark.net/crm.

Release Notes zum Rails Connector für Infopark CMS Fiona 6.8.0

Grundlegende Änderungen

  • Der Rails Connector unterstützt ab jetzt sowohl den Betrieb mit Infopark CMS Fiona als auch mit der Infopark-Cloud-Platform. Aus diesem Grund werden nun jeweils zwei Gems benötigt, um den Rails Connector zu verwenden: Das Gem infopark_rails_connector enthält die Basisfunktionalität und wird immer benötigt. Zusätzlich ist für den Betrieb mit CMS Fiona das Gem infopark_fiona_connector und für den Betrieb mit der Infopark Cloud Plattform das Gem infopark_cloud_connector erforderlich. Im Gemfile der Applikation müssen jetzt also 2 Gems konfiguriert werden. Die Versionen der beiden Gems müssen identisch sein.

  • Der Rails Connector basiert jetzt auf Rails 3.2

  • Ab sofort nutzt der Rails Connector die Asset Pipeline von Rails für die Auslieferung von Javascript-, CSS- und Bilddateien. Dies hat für bestehende Anwendungen folgende Konsequenzen:

    • Ab dieser Version des Rails Connectors muss in Rails-Projekten die Asset-Pipeline aktiviert werden, um projektspezifische und vom Rails Connector bereitgestellte Dateien ausliefern zu können.
    • Die Javascript-Bibliothek jQuery wird jetzt vom Gem jquery-rails bereitgestellt. Es ist empfehlenswert, die Gem-Version mittels Gemfile einzufrieren, um den Zeitpunkt der jQuery-Aktualisierung selbst bestimmen zu können. Die jetzt ausgelieferte Version von jQuery ist jünger als die bisherige. Bei Anwendungen, die eigenen Javascript-Code enthalten, sollte geprüft werden, ob die implementierte Funktionalität vollständig erhalten geblieben ist.
    • Die Verzeichnisse public/javascripts/rails_connector, public/stylesheets/rails_connector und public/images/rails_connector werden ignoriert und können gelöscht werden. Die Dateien werden jetzt vom Gem infopark_rails_connector selbst bereitgestellt.
    • Die verbleibenden Dateien in public/{javascripts,stylesheets,images} müssen nach app/assets/ verschoben werden, die Verzeichnisstruktur kann dabei erhalten bleiben. Weitere Hinweise sind im oben genannten Rails-Guide zu finden. Insbesondere müssen die Hinweise zu Deployment und Server-Konfiguration beachtet werden.
    • Der mitgelieferte Generator rails_connector:install passt jetzt auch das Manifest app/assets/javascripts/application.js einer Rails-3.2-Anwendung an, damit die Assets des Rails Connectors automatisch ausgeliefert werden. Der vom Generator hinterlassene Diff sollte auf Duplikation überprüft werden (rails_connector_header_tags u.a.).
    • Weitere Javascript- und CSS-Dateien sollten in app/assets/ abgelegt werden, wodurch sie automatisch mit ausgeliefert werden. Dabei müssen Pfade in diesen Dateien (z.B. Referenzen auf Hintergrundbilder im CSS) angepasst werden. Assets werden unter einem einheitlichen URL-Pfad (voreingestellt /assets) ausgeliefert; die URL enthält weder stylesheets noch javascripts noch images.
  • Der Rails Connector ist nicht mehr kompatibel mit dem OMC 2. Stattdessen bindet er ab sofort das WebCRM an die Rails-Anwendung an:

    • Der Namensraum für den Connector ist jetzt Infopark::Crm, nicht mehr OmcConnector.
    • Der Namensbestandteil “Omc” in sämtlichen Konstanten ist zu “Crm” geändert worden.
    • Der contact_roles_callback wurde in live_server_groups_callback umbenannt. Personen haben nun die Eigenschaft live_server_groups, das Schlüsselwort in der Session wurde entsprechend angepasst.
    • Der Prozess bei der Registrierung hat sich geändert. Personen werden sofort im CRM angelegt, der Zugang für die Person wird erst aktiviert, nachdem ihr Passwort gesetzt wurde. Ab dem Versand der Bestätigungsmail ist der Prozess mit dem des Anforderns eines neuen Passworts identisch. Daher verweisen beide Mails auf die neue Controller-Action set_password.
    • Die Methode DefaultUserController#register_via_inquiry ist infolgedessen entfallen.
    • Alle Vorkommen von Infopark::Crm::Inquiry wurden durch Infopark::Crm::Activity ersetzt.
    • Die Eigenschaft summary einer Aktivität wurde analog zum WebCRM in title umbenannt. Dementsprechend wurden die Helper-Methoden has_summary_input_field? und summary_field_for in has_title_input_field? bzw. title_field_for umbenannt sowie die Localizer-Keys geändert.
    • Die DefaultUserController-Action request_password wurde in forgot_password umbenannt.
    • Der DefaultUserHelper hat eine neue Methode, mandatory_user_fields. Der Helper user_fields_for verwendet diese Methode, um Pflichtfelder zu markieren.
    • Der DefaultCrmFormController hat eine neue Methode, activity_state, die den Anfangszustand einer WebCRM-Aktivität festlegt.
    • Das Personenfeld language ist im WebCRM ein Pflichtfeld. Um bestehende Anwendungen nicht zu zwingen, in ihre Formulare die Auswahl der Sprache aufzunehmen, hat der DefaultCrmFormController die neue Methode default_language. Die Sprache einer neuen Person wird auf die Sprache festlegt, in der auch die Website angezeigt wird (I18n.locale).
    • Bei Personen sind Abonnements (Subscriptions) sowie die geschachtelten account_attributes und location_attributes weggefallen.
  • Das Addon infopark_tracking (Protokollierung von Seitenbesuchen mit dem OMC/WebCRM) wurde abgeschafft.

  • Das Recaptcha-Gem wurde aktualisiert.

  • Zur Steigerung der Performance des Rails Connectors beim Zugriff auf die CMS-Datenbank wird nun ein Query Cache eingesetzt. (ID 13057)

Nutzung in Rails-Projekten

  • Der Rails Connector hat eine Konfigurationsoption, mit der der Captcha-Schutz (mittels ReCaptcha) im Registrierungsformular ein- und ausgeschaltet werden kann: use_recaptcha_on_user_registration.

  • Es gibt einen neuen Callback, über den die Auswahl der Homepage abhängig vom Request gesteuert werden kann. In der Datei config/initializers/rails_connector.rb wird dazu folgende Zeile eingetragen:

    RailsConnector::Configuration.choose_homepage do |env|
    # env is the rack environment of the current request
    # must return an Obj to be used as the homepage
    end

    Der Callback wird aufgerufen, wenn der Rails Connector die Homepage aufliefern soll, also beispielsweise die URL / angefragt wird. Der Callback muss das Obj zurückgeben, das ausgeliefert werden soll. Ist der Callback nicht definiert, wird Obj.homepage als Voreinstellung verwendet, das wiederrum voreingestellt auf Obj.root zurückgreift.

  • Die mitgelieferte Implementierung von Obj#find_all_for_sitemap liefert nicht mehr alle Objs des ganzen CMS, da dies inperformant ist. Stattdessen werden Obj#homepage und zwei weitere Ebenen von Ordnern und Dokumenten unterhalb von Obj#homepage in die Sitemap aufgenommen. Dieses Verhalten kann geändert werden, indem Obj#find_all_for_sitemap überschrieben wird.

  • NamedLink.get_object wirft eine Exception, falls der NamedLink nicht gefunden werden kann. Diese Exception ist ab jetzt vom Typ RailsConnector::NamedLink::NotFound, damit sie gezielt abgefangen werden kann. Vorher war sie vom Typ RuntimeError.

  • Mit der neuen Methode DefaultCmsController#use_for_obj_dispatch? kann festgelegt werden, ob ein Controller als vorlagenspezifischer Controller gelten soll. Dadurch ist es zum einen möglich, Controller als nicht vorlagenspezifisch zu markieren, obwohl sie vom DefaultCmsController abgeleitet werden. Zum anderen können auch Controller, die nicht vom DefaultCmsController abgeleitet werden, als vorlagenspezifisch markiert werden.

  • Beim CmsController haben sich die Filter ensure_obj_is_active und ensure_obj_is_permitted geändert. Ist das angefragte Obj nicht aktiv bzw. ist der aktuelle Benutzer nicht berechtigt, dass Obj anzuzeigen, so wurde bisher das angefragte Obj als Variable @obj an das Template für die Fehlerseite (voreingestellt entweder 410_gone.html.erb oder 403_forbidden.html.erb) übergeben. Dies ist jetzt nicht mehr der Fall, um zu verhindern, dass der Programmierer versehentlich Inhalte anzeigt, deren Veröffentlichungsdatum noch nicht erreicht wurde bzw. die der aktuelle Nutzer nicht sehen darf. Falls das Obj nicht aktiv ist (ensure_obj_is_active), werden stattdessen die beiden Veröffentlichungsdaten des angefragten Obj in den Variablen @valid_from und @valid_until übergeben. Hat der aktuelle Benutzer nicht das Recht, das angefragte Obj zu sehen (ensure_obj_is_permitted), so werden gar keine Variablen mehr an das Fehlertemplate übergeben. Es kann erforderlich sein, bestehende Fehlertemplates entsprechend anzupassen.

    Hinweis: Anpassungen an der Fehlerseitenlogik einer Applikation können über die Methode render_obj_error in CmsAccessible bzw. im CmsController vorgenommen werden. Insbesondere, wenn eine angepasste Fehlerseite das Layout der Applikation nutzt, kann es zu Fehlern kommen, wenn das Layout voraussetzt, dass es die Variable @obj gibt.

  • Die Methode Obj#suppress_export sollte nicht mehr verwendet werden. Stattdessen sollte die Methode Obj#suppressed? eingesetzt werden, die true oder false liefert.

  • Mit Hilfe der neuen Methode Obj#body_data_url kann der Rails Connector anstelle eines Obj eine externe URL verlinken, um beispielsweise Bilder oder PDF-Dateien von einem externen Speicherdienst oder CDN einzubinden. Weitere Informationen hierzu finden Sie in der RDoc.

  • Die Konfiguration der Suche, die bisher manuell per Configuration.search_options vorgenommen werden musste, kann jetzt in einer Konfigurationsdatei hinterlegt werden. Diese Datei liegt in der Applikation unter config/rails_connector.yml. Dort wird unter dem Schlüsselwort search ein Dictionary mit den Konfigurationswerten hinterlegt, die auch in Configuration.search_options gespeichert werden können. Die Konfiguration aus der Datei wird vom RailsConnector genutzt, wenn Configuration.search_options nicht explizit gesetzt ist. Die konkreten Konfigurationsmöglichkeiten hängen von der eingesetzten Suchtechnik ab. Für den Search Server (SES) mit der Engine von Verity siehe z.B. RailsConnector::VeritySearchRequest.

  • Wenn der Rails Connector ein Obj nicht finden kann, wurde bisher ein Fehler vom Typ ActiveRecord::RecordNotFound geworfen. Jetzt gibt es eine neue Bezeichnung (einen Alias) für diesen Fehler, nämlich RailsConnector::ResourceNotFound. Es wird empfohlen, dass Applikationen die neue Bezeichnung nutzen, wenn sie den Fehler fangen wollen. Die neue Bezeichnung funktioniert sowohl im Infopark Fiona Connector als auch im Infopark Cloud Connector, die alte hingegen funktioniert ausschließlich im Infopark Fiona Connector. Insbesondere bei einem möglichen Umstieg auf die Infopark-Cloud-Plattform ist dies also wichtig.

  • Zusätzlich zu den vorlagenspezifischen Controllern gibt es jetzt die dateispezifische Controller-Action. Damit kann jedes Obj definieren, welche Action des jeweiligen Controllers aufgerufen werden soll, wenn dieses Obj von der Rails Applikation ausgeliefert wird. Siehe Obj#controller_action_name.

  • Lizenzen können mit einem neuen Rake-Task auf Gültigkeit überprüft werden: rake cms:license:check

  • Wenn ein Redakteur versehentlich mehr als ein NamedLink-Objekt angelegt hat, wird kein Fehler 500 mehr geworfen. Stattdessen wird das zweite NamedLink-Objekt ignoriert, und eine Warnung wird ins Protokoll geschrieben.

Behobene Fehler

  • Über die Methode Obj#reload kann ein Obj neu aus der Datenbank geladen werden. Hierbei werden jetzt auch die zusätzlichen (kundenspezifischen) Felder des Obj invalidiert. Zuvor blieben diese Felder über den Reload hinaus erhalten und wurden nicht neu abgeholt. (Keine ID)

  • Falls der Fehler ActiveRecord::RecordNotFound (bzw: RailsConnector::ResourceNotFound) im Rails-Connector auftritt, so kann der Fehler nun in der Rails-Applikation kundenspezifisch behandelt werden, einschließlich angepasster Fehlerseite. Davor wäre der Fehler nicht durch den Standard-Rails Mechanismus rescue_action_in_public abgefangbar gewesen. (ID 13445)

  • Die ObjExtensions wurden erst nach der Initialisierung der Anwendung geladen. Sie stehen jetzt wieder während der Initialisierung zur Verfügung. (ID 13426)