Upgrade

Installation

1. Ältere Versionen

Die älteste Version, von der aus ein Upgrade für Intrexx 19.03 ausgeführt werden kann, ist Intrexx Version 7.

2. Upgrade auf Intrexx 19.03

Mit Intrexx 19.03 erhalten Sie eine komplett überarbeitete Version der Low-Code-Plattform Intrexx. Durch umfangreiche Maßnahmen sind Ihre Portale nun noch sicherer, z.B. mit der verpflichtenden Umstellung auf HTTPS, Passwortverschlüsselung im PBKDF2-Verfahren u.v.m. Die Architektur der Web-Connectoren in Bezug auf Sicherheit und zukünftige Erweiterungen (Load Balancing, TLS-Offloading, Flexibilität) wurde vereinfacht. Intrexx 19.03 hat eine vollkommen neue Businesslogik-Engine mit erheblicher Erweiterung für die Applikationsgestaltung.

Alle diese Änderungen haben an vielen Stellen Erweiterungen und Anpassungen an bestehenden APIs und Schnittstellen erfordert. Wir sind bestrebt in höchstem Maße abwärtskompatibel zu bleiben, können aber nicht immer garantieren, dass alle Stellen zuverlässig migriert werden können. Insbesondere betrifft dies Verwendung von internen JavaScript-Methoden, für die es in der Vergangenheit kein API gab. Planen Sie daher Ihr Upgrade sorgfältig und führen Sie dieses zunächst auf Ihrer Testumgebung durch. Planen Sie auch ein Zeitfenster für eventuelle Anpassungen ein. Ihr Intrexx-Partner unterstützt Sie gerne dabei.

Vor dem Upgrade sollten Sie auf jeden Fall ein Backup des Portal Servers und der Datenbank durchführen! Deaktivieren Sie für die Dauer des Upgradevorgangs eventuell vorhandene Virenscanner. Beachten Sie, dass ein Portalexport alleine kein ausreichendes Backup darstellt. Bitte führen Sie das Upgrade im ersten Schritt auf einem Testsystem aus und nicht direkt innerhalb der Produktivumgebung.

3. HTTPS

Intrexx setzt nun per Voreinstellung voraus, dass Portale mit einer verschlüsselten HTTP-Verbindung (HTTPS) betrieben werden. Daraus ergeben sich die folgenden Vorteile:

4. Vorbereitung

Prüfen Sie vor dem Upgrade eines Intrexx Portal Servers unter Windows mit integrierter Authentifizierung und vorgelagertem Internet Information Server bitte unbedingt, ob ein HTTPS-Zertifikat vorhanden ist. Die folgenden Komponenten müssen installiert sein:

5. Javascript-API changes

6. Velocity-Funktionen

Die Methode DsucUser#changePassword(JdbcConnection, int, byte[]) wurde nach 4 Jahren Deprecation endgültig entfernt.

7. Intrexx-Authentifizierung

Intrexx 9 unterstützt das Intrexx-Challenge-Response-Verfahren zur Authentifizierung nicht mehr. Daraus ergeben sich notwendige Änderungen beim Deployment und bei Webservice-Logins in Intrexx 9:

8. Portale und Portlets

Mit dem neuen Portlet-Framework können responsive Portalseiten aufgebaut werden. Der Aufbau der Grid-Strukturen orientiert sich dabei an den Einstellungen im Modul Applikationen.

Portlets über mehrere Spalten:

Nach dem Upgrade werden bestehende Portalseiten in das neue Format überführt. Dabei kann jedoch nicht berücksichtigt werden, ob ein Portlet über mehrere Spalten gezogen wurde. Diese Einstellungen müssen nach dem Upgrade im Grid vorgenommen werden.

Portlets in Anwendungsseiten:

Da das Portlet-Framework komplett asynchron arbeitet, müssen eventuelle Request-Werte über den Portletcontainer an die eingebundenen Seiten weitergegeben werden. Dies kann beim Upgrade leider nicht automatisiert übernommen werden. Wenn also Filter von eingebundenen Portlets auf Request-Werte zugreifen, sollten Sie Ihre Aufmerksamkeit auf diese Stelle richten.

Laden von Seiten aus Portlets heraus

Wenn Schaltflächen mit der Zielseitenoption Im aktuellen Fenster öffnen aus Portlets heraus Seiten laden, so werden die Seiten im Portlet angezeigt. Bei umfangreichen Seiten werden dann u.U. nicht alle Seitenelemente angezeigt. Für diesen Fall ist die Einstellung Im Hauptfenster öffnen besser geeignet, da die geladene Seite damit vollständig angezeigt werden kann.

9. TinyMCE 5

Allgemeine Informationen zur neuen TinyMCE-Editor-Version finden Sie hier.

Mapping der Expert-Attribute auf die Editor-Konfiguration

Alle auf den Editor bezogenen Expert-Attribute, mit Ausnahme von "tiny-userconfiguration" werden mit dem Update ungültig. Bisher verwendete Expert-Attribute werden gepatcht.

Expert-Attribut Editor-Konfiguration
tiny-theme theme (string)
tiny-themeurl theme_url (string)
tiny-languages languages - verfügbare Sprachen (de,en)
tiny-defaultlanguage language
tiny-showmenubar menubar (boolean)
tiny-menubar-items menubar (string)
tiny-skin ***DELETED***
tiny-skinurl ***DELETED***
tiny-additional-plugins plugins ( bzw. an plugins anhängen)
tiny-toolbar-location toolbar_location (default:top)
tiny-toolbar-align toolbar_align (default left)
theme-advanced-path ***DELETED***
tiny-statusbar statusbar (boolean)
tiny-statusbar-location statusbar_location
force_br_newlines forced_root_block
tiny-templates templates

Weitere Informationen zur Migration von TinyMCE 4.x zu TinyMCE 5.0 finden Sie hier.

10. Sonstiges

Schaltflächen

Schaltflächen mit Schaltflächentyp "Schaltfläche" und Sprung "auf die Startseite des Portals" werden nicht mehr unterstützt. Sie werden in eine Schaltfläche mit Typ "Text" gepatcht. Die Styleklasse wird zu Link_Standard gepatcht, individuelle Styles werden entfernt.

Ansichtstabellen

Javascript in Ansichtstabellen mit Velocity-Zugriff auf den jeweiligen Datensatz der Tabelle: Scripts, die $drRecord verwenden funktionieren nicht mehr, da $drRecord an dieser Stelle nicht mehr aufgelöst wird. Stattdessen sollte der Velocity-Part z.B. in ein data-Attribut ausgelagert und im Anschluss per JavaScript wieder ausgelesen werden.

Beispiel:
ActionControl in einer Ansichtstabelle mit folgendem Skriptaufruf:
takeOverTest($drRecord.getValueHolder('integervcontrolB53C1BD7').getValue(), getElement("195D00AD893B2C017E050B1D916688927AAFE825"));
Der Teil
$drRecord.getValueHolder('integervcontrolB53C1BD7').getValue()
wird auf dem Reiter Expert als Wert eines Attributs "data-bugid" eingetragen und der Skriptaufruf in
takeOverTest(this.dataset.bugid, getElement("195D00AD893B2C017E050B1D916688927AAFE825"));
geändert.

Weitere Änderungen

  1. PlainPasswordLoginModule wurde entfernt. Es kann gleichwertig durch IntrexxLoginModule ersetzt werden.
  2. editcontrols/datetime/UpDateTimeMainEditControl: toLocalDateString() entfernt, statt dessen kann 'upDateControl.toLocalFormat()' verwendet werden
  3. Intrexx-Challenge-Response-Verfahren zur Authentifizierung wird nicht mehr unterstützt. Daraus ergeben sich notwendige Änderungen beim Deployment und bei Webservice-Logins:
    • Es wird empfohlen, Webservices nur noch mit TLS-Verschlüsselung anzubieten.
    • Webservice-Aufrufe von Clients, vor allem auch Intrexx-Clients, die das Challenge-Response-Verfahren nutzen, müssen auf Login mit Benutzername, Domäne und Passwort umkonfiguriert werden.
    • Bei der Umstellung auf TLS kann es notwendig werden, den konsumierenden Clients oder Portalen das SSL-Zertifikat des Intrexx-Servers bekannt zu machen.
    • Die Klasse de.uplanet.lucy.server.auxiliaries.RemoteAuthProxy, die in der Vergangenheit von ein paar wenigen Kunden eingesetzt wurde, wurde entfernt. Sollte es noch Kunden geben, die diese Klasse benötigen, kann sie auf Anfrage wieder zur Verfügung gestellt werden.
  4. Callable DSPassword wurde entfernt
  5. Methode DsucUser#changePassword(JdbcConnection, int, byte[]) wurde nach 4 Jahren Deprecation endgültig entfernt
  6. Das Sessionmanagement per URL-Parameter rq_SId wird nicht mehr unterstützt
  7. Aus Sicherheitsgründen gibt es nur noch HTTP-Only-Cookies mit (im Fall von HTTPS) gesetztem Secure-Flag
  8. Die Klasse PortalServerPath wurde entfernt