Release Notes FirstSpirit™ 2022.2

Release Notes

FirstSpirit™ 2022.2

1 Administration

1.1 Fallback für sprachabhängige Medien ohne Inhalt

Ist ein Medium sprachabhängig angelegt, sollten Bilddateien bzw. Dateien anderer Medinformate für jede vorhandene Sprache hinterlegt werden. Standardmäßig wird das Medium sonst nicht ausgegeben und / oder das Medium verlinkt auf eine nicht-vorhandene URL.

Mit dem aktuellen Release kann jetzt definiert werden, dass für die Sprache, für die keine Datei hinterlegt ist, die Datei der Mastersprache verwendet wird.
Dazu die Option „Mastersprache verwenden“ auswählen (FirstSpirit ServerManager / Projekteigenschaften / Ersetzungen, „Sprachersatz (Medien“)):

UID=servermanager_sprachersatz_fuer_medien

Ist die Option „Ignorieren“ gewählt (dies ist die Standardeinstellung), wird in der Sprache des Mediums, für die keine Datei hinterlegt ist, nichts angezeigt.

Hinweis: In folgenden Fällen wird weiterhin kein Medium angezeigt:

  • Für ein sprachabhängiges Medium ist in der Mastersprache keine Datei hinterlegt.
  • Für ein sprachunabhängiges Medium ist keine Datei hinterlegt.
  • Für ein sprachabhängiges Medium ist in einer Sprache ungleich der Mastersprache keine Datei hinterlegt, und bei „Sprachersatz (Medien)“ ist die Option „Mastersprache verwenden“ nicht aktiviert.

Für diese Fälle wird eine entsprechende Lösung mit einem der folgenden FirstSpirit-Releases bereitgestellt.

Im Kontext dieser neuen Funktionalität wurde auch die FirstSpirit Access-API erweitert, um auf diese Projekteinstellung reagieren zu können: Package de.espirit.firstspirit.access.project, Interface Project.

1.2 Health-Status: Erweiterungen für Web-Applikationen und Webserver u.a.

Im „Health Center“ (FirstSpirit ServerMonitoring) kann der aktuelle Gesundheitszustand des FirstSpirit Servers abgelesen werden. Der Zustand degraded (Symbol: Ausrufungszeichen auf rotem Hintergrund) kann beispielsweise darauf hindeuten, dass es Probleme hinsichtlich des zur Verfügung stehenden Speicherplatzes oder eine zu hohe Last auf dem Server gibt.
Aber auch, wenn die Web-Applikationen, die standardmäßig von FirstSpirit mitgeliefert werden, beim FirstSpirit-Start nicht korrekt ausgerollt („deployed“) wurden, führt dies zum Zustand degraded.
Detailliertere Informationen liefert die Datei server-incidents.log (herunterladbar im FirstSpirit ServerMonitoring unter „FirstSpirit / Monitoring / Kennzahlen“ über das Umschlag-Icon; Meldung „Server status is degraded!“). Hier können Ursachen abgelesen werden, die zu dem problematischen Zustand führen bzw. geführt haben.
Befindet sich der Server im Status degraded, sollten geeignete Maßnahmen ergriffen werden, die die Probleme beheben.

Ein FirstSpirit Server wird jetzt auch als degraded angesehen, wenn ein aggregierender Webserver verwendet wird und eine Web-Applikation nicht auf allen Webservern des aggregierenden Webservers erfolgreich ausgerollt werden kann.
Meldung in der Datei server-incidents.log:

Web server errors detected: #

wobei # die Anzahl der entsprechenden Warnungen ist.

Die Meldung

Some core web applications are not running: ...

besagt, dass mindestens eine Web-Applikation nicht korrekt ausgerollt werden konnte, und welche.

In seltenen Fällen wurde keine explizite Fehlermeldung ausgegeben, wenn eine Web-Applikation oder eine Web-Komponente nicht auf einem Webserver ausgerollt werden konnte. Dieser Fehler wurde jetzt ebenfalls behoben.

Darüber hinaus wurde das MBean HealthManager um zwei weitere Informationen erweitert:

  • LastWebServerError
  • WebServerErrorsPerDay

Meldungen zum Health-Status sind jetzt auch in der Datei fs-server.log enthalten. Sie werden über die Klasse de.espirit.firstspirit.server.HealthStatus ausgegeben. So können entsprechende Meldungen auch nachträglich aufgefunden werden. Beispiel:

INFO  19.01.2022 14:14:47.570 (de.espirit.firstspirit.server.HealthStatus): 
RUN_LEVEL (de.espirit.firstspirit.server.RunLevelHolder) Reached run level:
STARTED(100)

Hinweis: In einigen Fällen werden Meldungen jetzt zweimal ausgegeben.

Im Kontext des Health-Status wurden zudem einige Schwellenwerte, ab denen ein unter hoher Last stehender FirstSpirit Server als degraded angesehen wird, aufgrund bisher gewonnener Erfahrungen, erhöht.

2 FirstSpirit Content Experience Tools (CXT)

Aktuelle Modul-Versionen

Folgende Modul-Versionen für „FirstSpirit Content Experience Tools“ werden von FirstSpirit 2022.2 unterstützt.

Modul- / DateinameVersionsnummer
FirstSpirit CXT Plattform
platform-[version].fsm
2.5.2
FirstSpirit CXT DAP Bridge
dataservice-[version].fsm
1.44.2
FirstSpirit CXT FragmentCreator
fragment-creator-[version].fsm
3.4.5
FirstSpirit Fragment DAP
fragmentdap-[version].fsm
1.40.5
FirstSpirit Media DAP
mediadap-[version].fsm
1.31.3*
FirstSpirit PageRef DAP
pageref-[version].fsm
1.9.3
FirstSpirit Markdown Editor
markdown-editor-[version].fsm
1.29.2*
FirstSpirit Tagging Editor
tagging-editor-[version].fsm
1.29.2
FirstSpirit CXT FragmentCreator - CaaS Integration
caas-integration-[version].fsm
1.31.3

* Diese Module benötigen ab dieser Version FirstSpirit 2020-03 oder höher.

3 Modul-Entwicklung, Skripte, API

ModuleAdminAgent: Änderung für getProjectAppConfig() im Fehlerfall

Die Methode ModuleAdminAgent.getProjectAppConfig() (FirstSpirit Developer-API, Package de.espirit.firstspirit.agency) gibt – wie in der API-Dokumentation beschrieben – bereits seit FirstSpirit 2022.1 eine IllegalArgumentException zurück, wenn die Projekt-Komponente nicht im betreffenden Projekt hinzugefügt / installiert ist.
Zuvor wurde eine leere Konfiguration angelegt und zurückgegeben.

Hinweis: Dies gilt nur für Server, die im „Isolated Mode“ betrieben werden. Für Server, die noch im abgekündigten „Legacy Mode“ betrieben werden, wurde seit jeher die IllegalArgumentException zurückgegeben.

4 Vorlagenentwicklung

4.1 FS_CATALOG: Duplizieren von Einträgen steuern

FirstSpirit-Eingabekomponenten lassen sich durch Projektentwickler äußerst flexibel und feingranular an die Anforderungen des jeweiligen Projekts und der Redakteure anpassen.
Die Eingabekomponente FS_CATALOG ermöglicht beispielsweise die komfortable Erstellung von Listen, die aus Absätzen oder Verweisen bestehen können.
Zentrale Funktion dabei ist das Anlegen von neuen Einträgen.
Diese Funktion kann durch eine spezifische Regel-Definition kontrolliert werden, und zwar über die Eigenschaft NEW.
An dieser Eigenschaft hing bisher auch die Funktionalität „Duplizieren“, die im FirstSpirit ContentCreator im Formular per Icon ausgeführt werden kann:

UID=contentcreator_fs_catalog_duplizieren

im FirstSpirit SiteArchitect per Kontextmenü:

UID=sitearchitect_fs_catalog_duplizieren

Bisher konnten die Funktionen „Neu“ und „Duplizieren“ nur zusammen aktiviert und deaktiviert werden.
Mit dem aktuellen Release können die Funktionen „Neu“ und „Duplizieren“ jetzt getrennt voneinander gesteuert werden, und zwar über die neue Eigenschaft COPY:

PROPERTY name="COPY"

Aus Kompatibilitätsgründen wird für COPY der Status von NEW berücksichtigt, sofern keine explizite Definition für COPY erfolgt.
Um „Duplizieren“ zu ermöglichen, „Neu“ aber nicht, muss COPY explizit aktiviert werden, NEW deaktiviert, z. B.:

<RULES>
<RULE>
<WITH>
<TRUE/>
</WITH>
<DO>
<PROPERTY name="COPY" source="catalog"/>
<NOT>
<PROPERTY name="NEW" source="catalog"/>
</NOT>
</DO>
</RULE>
</RULES>

Hinweis: Die Icons in der Vorschau (EasyEdit-Icons) können durch Regeln nicht beeinflusst werden. Um das Duplizieren in der Vorschau generell zu unterbinden, kann dafür die Tailored-UI-Funktionalität genutzt werden.

Zu weiteren Informationen siehe:

4.2 JSON: Debugging von nicht auflösbaren Referenzen

Nicht auflösbare Referenzen bei der JSON-Generierung führen jetzt zu Log-Meldungen des Levels WARN.

Dies ist beispielsweise der Fall, wenn ein verlinktes Medium nicht im Freigabestand erreichbar ist, weil es niemals freigegeben wurde, oder sich ein niemals freigegebener Ordner in der Vaterkette des Mediums befindet.

Beispiel:

WARN  24.01.2022 14:26:24.248{g-node=850537} (de.espirit.firstspirit.generate.
SiteProduction): Reference 'xyz' [type=MEDIASTORE_LEAF] is set but not accessible!
It may have been deleted or is not correctly released.

Übersicht

ID Beschreibung Kategorien
CORE-14023

Mit dem aktuellen Release wurde das Monitoring für Web-Applikationen und Webservern erweitert.

Weitere Informationen können dem Kapitel „Administration: Health-Status: Erweiterungen für Web-Applikationen und Webserver u.a.“ entnommen werden.

Debugging, FirstSpirit-Administrator, Monitoring
CORE-14052

In FS_CATALOG-Komponenten kann jetzt das Anlegen und Duplizieren von Einträgen getrennt voneinander aktiviert bzw. deaktiviert werden.

Weitere Informationen können dem Kapitel „Vorlagenentwicklung: FS_CATALOG: Duplizieren von Einträgen steuern“ entnommen werden.

ContentCreator, Dynamische Formulare, Eingabekomponenten, Entwickler, Redakteur
CORE-14058

Nicht auflösbare Referenzen bei der JSON-Generierung führen jetzt zu Log-Meldungen des Levels WARN.

Weitere Informationen können dem Kapitel „Vorlagenentwicklung: JSON: Debugging von nicht auflösbaren Referenzen“ entnommen werden.

Debugging, Entwickler, Freigabe, Generierung, JSON-Unterstützung
CORE-14099

Fallback für sprachabhängige Medien ohne Inhalt

Weitere Informationen können dem Kapitel „Administration: Fallback für sprachabhängige Medien ohne Inhalt“ entnommen werden.

FirstSpirit-Administrator, Medien, ServerManager
CORE-14132

Es wurde ein Fehler behoben, der bei nicht validen Benutzereinstellungen (Datei system_properties) in sehr seltenen Fällen dazu führen konnte, dass die FirstSpirit Startseite für die entsprechenden Benutzer nicht mehr angezeigt wird.

FirstSpirit Startseite, FirstSpirit-Administrator, Redakteur
CORE-14135

Fehler in Aufträgen, die dazu führen, dass eine FATAL-Meldung protokolliert wird (z. B. Beanshell-Skripte mit ungültiger Syntax oder eine java.langRuntimeException) führen jetzt nicht mehr dazu, dass der Server im ServerMonitoring bzw. im MBean HealthManager als degraded eingestuft wird.

Aufträge, Debugging, FirstSpirit-Administrator, Health Center, Monitoring, ServerMonitoring
CORE-14145

Es wurde ein Fehler behoben, der in sehr seltenen Fällen dazu führen konnte, dass der FirstSpirit Server aufgrund von Locks im Streaming Manager (regelt den Datenstrom) nicht mehr erreichbar war.

FirstSpirit-Administrator
CORE-14155

Mit FirstSpirit 2022.1 wurde die Einstellung der Checkbox „Autom. Zuschnitt standardmäßig aktiv“ des Dienstes „FS Image Recognition - AWS Connector“ des Moduls „FirstSpirit Image Recognition“ nicht korrekt ausgewertet: War diese Checkbox aktiviert und die Projekt-Komponente „FS ImageRecognition - Configuration“ für das betreffende Projekt nicht installiert, wurden Bilder beim Upload nicht mehr automatisch zugeschnitten. Dieser Fehler wurde behoben.

ContentCreator, Entwickler, FirstSpirit-Administrator, Medien, Module
CORE-14159

FirstSpirit Content Experience Tools: Aktuelle Modul-Versionen

Weitere Informationen können dem Kapitel „FirstSpirit Content Experience Tools (CXT): Aktuelle Modul-Versionen“ entnommen werden.

Entwickler, FirstSpirit Content Experience Tools (CXT), FirstSpirit-Administrator, FragmentCreator, Module
CORE-14177

Die Methode ModuleAdminAgent.getProjectAppConfig() (FirstSpirit Developer-API, Package de.espirit.firstspirit.agency) gibt jetzt eine IllegalArgumentException zurück, wenn die Projekt-Komponente nicht im betreffenden Projekt hinzugefügt / installiert ist.

Weitere Informationen können dem Kapitel „Modul-Entwicklung, Skripte, API: ModuleAdminAgent: Änderung für getProjectAppConfig() im Fehlerfall“ entnommen werden.

Entwickler, FirstSpirit-API, Isolated mode, Modul-Entwicklung, Module
CXT-2492

Im FirstSpirit ContentCreator wurden bei der Verwendung von Regeln für CMS_INPUT_DATE nicht alle Tags korrekt ausgewertet (speziell ADD und GREATER_THAN). Darüber hinaus werden jetzt innerhalb einer ValueService-Implementierung (Package de.espirit.firstspirit.service.value, FirstSpirit Developer-API) wieder Werte aus einer CMS_INPUT_DATE-Eingabekomponente korrekt verwendet.

ContentCreator, Dynamische Formulare, Eingabekomponenten, Entwickler
CXT-2501

Das mehrfache Ausführen der Funktionen „Menüpunkt in Seite umwandeln“ oder „Seite in Menüpunkt umwandeln“ hintereinander wird jetzt verhindert.
Zuvor konnte dies dazu führen, dass ungewünscht übergeordnete Menüebenen gelöscht wurden, beispielsweise wenn die Ansicht (speziell im Falle einer langsamen Internetverbindung) nicht zeitnah aktualisiert werden konnte.
Jetzt wird statt dessen eine entsprechende Fehlermeldung angezeigt („Das Element wurde zwischenzeitlich geändert. Ihre Änderungen können nicht übernommen werden.“) und die Funktion wird nicht ausgeführt.

ContentCreator, Performance, Redakteur
CXT-2512

Hat ein Redakteur für einen Teilbereich eines Projekts keine Rechte, konnte dies in seltenen Fällen dazu führen, dass sich das Projekt im FirstSpirit ContentCreator nicht öffnen ließ. Stattdessen wurde ein 500er-Fehler angezeigt.
Jetzt wird die dafür verantwortliche AccessSecurityException entsprechend behandelt, der ContentCreator lässt sich öffnen und die Rechte werden korrekt ausgewertet.

ContentCreator, Entwickler, Rechte

Deprecations

Funktion Abgekündigt mit Entfällt / Entfallen mit
Eingabekomponente CMS_INPUT_CONTENTAREALIST 5.2R3
Eingabekomponente CMS_INPUT_CONTENTLIST 5.2R3
Eingabekomponente CMS_INPUT_FILE 5.2R3
Eingabekomponente CMS_INPUT_LINKLIST 5.2R3
Eingabekomponente CMS_INPUT_OBJECTCHOOSER 5.2R3
Eingabekomponente CMS_INPUT_PAGEREF 5.2R3
Eingabekomponente CMS_INPUT_PICTURE 5.2R3
Eingabekomponente CMS_INPUT_TABLIST 5.2R3
FirstSpirit Access-API: de.espirit.firstspirit.agency.GroupsAgent 5.2R15
FirstSpirit Access-API: delete (de.espirit.firstspirit.access.AccessUtil) 5.2R18
FirstSpirit Access-API: release (de.espirit.firstspirit.access.AccessUtil) 2018-06
FirstSpirit Access-API: getLastLoginAsDate (de.espirit.firstspirit.agency.UserStatisticsAgent) 2018-07
FirstSpirit Access-API: remainingDurationOfCurrentStageInMillis (de.espirit.firstspirit.server.MaintenanceModeInfo) 2018-07 2025-13
FirstSpirit Access-API: getStartingTimeOfStageAsDate (de.espirit.firstspirit.server.MaintenanceModeInfo) 2018-07 2025-13
FirstSpirit Access-API: getSelectedWebserverConfiguration (de.espirit.firstspirit.access.serverConfiguration) 2018-10 2025-13
FirstSpirit Access-API: setSelectedWebserverConfiguration (de.espirit.firstspirit.access.serverConfiguration) 2018-10 2025-13
FirstSpirit Access-API: getSelectedWebServer (de.espirit.firstspirit.access.project.Project) 2018-10 2025-13
FirstSpirit Access-API: setSelectedWebServer (de.espirit.firstspirit.access.project.Project) 2018-10 2025-13
FirstSpirit Access-API: getLostAndFoundStoreNodes(); (de.espirit.firstspirit.feature.FeatureInstallResult) 2018-10
FirstSpirit Access-API: getDeletedStoreNodes(); (de.espirit.firstspirit.feature.FeatureInstallResult) 2018-10
FirstSpirit Access-API: de.espirit.firstspirit.access.store.Previewable 2019-01
WebSphere Application Server Support für FirstSpirit 2019-05
Legacy mode für den FirstSpirit-Server 2019-06 2022-03
Datenbank-Layer Oracle Database 11g/12c 2020-12 2025-05
FirstSpirit Access-API: redirectTemplateLogToDefaultLog() (Interface RenderingAgent.Renderer) 2021-05