Release Notes FirstSpirit™ 2021.7

Release Notes

FirstSpirit™ 2021.7

1 Administration

Data protection: Deleting user data

The Datenschutzgrundverordnung (DSGVO) is an EU regulation (internationally referred to as “General Data Protection Regulation” (GDPR)), that protects the fundamental rights of European citizens to privacy and regulates the handling of personal data. Among other things, the DSGVO regulates the option to delete personal data (“Right to be forgotten”).

FirstSpirit stores personal system data (e.g., names and contact data of editors), which is used in different places, such as the version history or in release workflows to be able to contact an editor of a page, if necessary.
In some places, only IDs that do not permit any conclusions to be drawn with respect to a user will be processed. In other places, the respective user can be determined by using the user name and/or login.

With the current release, data that permits the determination of the respective user can be deleted in FirstSpirit.
In comparison to an anonymisation using the privacy.anonymizeDeletedUsersData=true parameter in the fs-server.conf configuration file, this new implementation is a permanent anonymisation: while an anonymisation using privacy.anonymizeDeletedUsersData=true can be reversed by setting the parameter to false or remove it from the fs-server.conf file, data that is deleted by way of permanent anonymisation cannot be restored.

An anonymization only affects deleted users, which means, for example, users that were deleted with “FirstSpirit ServerManager” / “User” / “Delete”.
The login of the respective user must be known for a permanent anonymisation (“Login” field when creating or editing users).
In the ServerManager, under “User”, the “Anonymize” option must then be opened:

UID=servermanager_anonymisieren

The login of the user to be anonymized must be entered in the text field. There is no differentiation between upper and lower case.
Multiple user logins can be entered separated by commas or blank spaces.

The anonymization begins with “OK”.
The process can (depending on the project size) take some time.
The data of deleted users can then no longer be determined. A user name/login will no longer be displayed in the version history and other places, or {DELETED USER}.

If the login of a user who has not been deleted is entered in the text field, the corresponding error message will be displayed:

Anonymizing deleted users failed! User 'Editor' is not deleted!

Log files, contents of archives, backups or other export files will not be anonymized. These files (incl. potential user data they contain) can be deleted as soon as they are no longer needed.

For more information, see also:

2 General

Code signing certificate update

As of the current FirstSpirit release, the content of FirstSpirit jar files and the FirstSpirit Launcher is signed with a new certificate. An update of the FirstSpirit Server is not necessary.

3 ContentCreator

3.1 Beta status: Automatic image cropping via “Image Recognition” module

Images are always important for an Internet presence to be able to relay contents clearly and emotionally.
The concept of the “image resolutions” in FirstSpirit has thereby always enabled a uniform use of image sizes in online presences. The system automatically calculates and generates the desired resolutions for a project as standard.
However, depending on the image material and project settings, these automatically generated resolutions often have to be checked and adjusted manually by the editor: in some project set-ups (e.g., when concrete page lengths are specified), the resolutions are distorted and the proportions of the supplied image material do not match the proportions and sizes that are needed for the Internet presence. In other cases, a special focus is to be selected in the available images to move a specific section into the “focus”.

The “FirstSpirit Image Recognition” module integrates AI-assisted image recognition into the editing processes so that faces, objects and texts on images can be automatically recognized: during the upload in the ContentCreator, the images are enriched with matching data and cut to size automatically upon request.

UID=contentcreator_imagerecognition

The functionality has been successfully used for quite some time by selected customers and partners. With the current release, e-Spirit is extending the number of users to obtain further feedback and findings resulting from concrete application cases.
The functionality itself already underwent an intensive quality assurance process. However, it has not yet been officially released. It is therefore recommended to test it in a development environment if there is any interest.

  • Cloud customers who want to try out the functionality will have to activate it for the desired project or projects.
    Depending on the desired form, a corresponding option must be activated in the FirstSpirit ServerManager and/or the metadata template of the project must be adjusted.
  • Customers who operate FirstSpirit itself must install the module first: imagerecognition-module-[version].fsm.
    Prerequisite: The module uses the image recognition service for the “Amazon Rekognition” image recognition service. This requires an Amazon account with credentials that permits the use of “Amazon Rekognition” and (optional) an S3 Bucket.

If you are interested in this functionality, please contact your e-Spirit contact person.

An official release of the module for all customers is planned for one of the upcoming releases.

3.2 Media: Workflows and other improvements for handling media

Corporate processes usually provide for the publication of new contents for online presences or changes to existing contents after a review, such as by the Chief Editor and, if necessary, other instances. For this purpose, FirstSpirit works with “workflows”: new content or a change must pass through the provided workflow before it will be publicly visible on the generated page.
This also applies to Media.

Until now, the user guidance in the FirstSpirit ContentCreator stipulated that media are not released individually, but instead the page on which the medium is used.
Only the presentation of media in the workspace that was introduced with FirstSpirit 2020-01 (“Media management”) enables extended view and editing options for media.
With the current release, the Media management now also offers the starting and moving of workflows to individual media, not only for the current project but also for possible remote projects.

For this purpose, media can be selected with a click in the Media management (multiple selection within a folder with Ctrl or Shift ):

UID=cc_medien_verwaltung_medien_ausgewaehlt

Selected media can be deselected again by:

  • selecting another element
  • icon X for “Selected elements” above the workspace

In the Dashboard, the desired workflow can be started or switched:

UID=contentcreator_medien_verwaltung_dashboard

It must thereby be observed that the workflow that can be switched via the Status display (also “Element Status”, in the menu bar, marked green in the example above) always refers to the higher level folder.

When multiple elements are located in the same workflow step, the workflow is switched for these elements at the same time by pressing the corresponding button (in the example above: “Release”).
Switching a large number of elements at the same time can require a lot of time. This is why a corresponding note is displayed starting at 20 elements. In case of a large number of elements, it is recommended to start (and switch) a workflow on the higher level folder as long as a suitable workflow is available.

If a higher level element that is write-protected is located in a workflow, it is not possible to start or switch a workflow for a subordinate element.
The following message will be displayed:

The changes has been saved, but the workflow could not be started. Object cannot be edited.

In this case, the higher level element must be switched so that the subordinate element in the workflow can be switched.

If a workflow has been started, it can be completed dialog-supported as usual, for example,

UID=contentcreator_medien_verwaltung_arbeitsablauf_dialog

See also https://docs.e-spirit.com/contentcreator/report-area/tasks/workflows/index.html.

The state of media and whether or not they have to be released, if necessary, can be read from the corresponding icons on the respective element in the Media management, for example,

Modified
Modified

In workflow
In workflow

For folders, these status visualizations are also shown in the folder view/navigation bar:

UID=contentcreator_medien_verwaltung_ordnerstruktur

Within a media folder, media can also be displayed filtered by their state using the “All media” drop-down list, depending on the workflow, for example,

State: Modified
State: Modified

State: Release requested
State: Release requested

State: Released
State: Released

To improve working with media and tasks, the user guidance was also adapted to the new conditions in other places:

  • Clicking on a medium in the Report area now opens the respective folder in the Media management and the medium is selected.
  • Double-clicking on an image in the Media management opens the image in a layer in a size that is adapted to the browser window. Clicking again will close the layer again.
  • The breadcrumb, which maps the structure of the Media management, can now be found below the work view.
  • If access to media from other projects is possible (“remote”), the desired project can be selected in the “Tasks” report. The media from the project that are in a workflow will then be displayed.

Note: The new option described here for executing workflows for manually selected media elements is preferred over potential grouping by WebeditElementStatusProviderPlugin (https://docs.e-spirit.com/odfs/plug-developmen/contentcreator/interactive-fea/element-status/code-example/index.html) so that grouping by WebeditElementStatusProviderPlugin will then not be considered for manually selected media elements.

4 External Synchronization / Content Transport

FSDevTools: Compatibility with Java 16

The current release (Release 2.6.10) of FSDevTools now also supports Java versions 16 and higher (however, at least Java 8).

Additionally, installations in directories with paths that contain blank spaces are now also supported.

5 FirstSpirit Content Experience Tools (CXT)

5.1 Latest module versions

FirstSpirit 2021-07 supports the following module versions for “FirstSpirit Content Experience Tools”:

Module / file nameVersion number
FirstSpirit CXT Plattform
platform-[version].fsm
2.3
FirstSpirit CXT DAP Bridge
dataservice-[version].fsm
1.43
FirstSpirit CXT FragmentCreator
fragment-creator-[version].fsm
3.3
FirstSpirit Fragment DAP
fragmentdap-[version].fsm
1.39
FirstSpirit Media DAP
mediadap-[version].fsm
1.30*
FirstSpirit PageRef DAP
pagerefdap-[version].fsm
1.8
FirstSpirit Markdown Editor
markdown-editor-[version].fsm
1.28*
FirstSpirit Tagging Editor
tagging-editor-[version].fsm
1.28
FirstSpirit CXT FragmentCreator - CaaS Integration
caas-integration-[version].fsm
1.30

* These modules require FirstSpirit 2020-03 or higher from this version.

5.2 FragmentDAP: Variant selection can now also be limited in the FragmentCreator

As of FirstSpirit 2021-04, the selection of variant dimensions can be influenced via FragmentDAP using the VARIANT tag (CXT-2094). See https://docs.e-spirit.com/odfs/edocs/cxt/templates/using-fragments/index.html.
The current release now also supports this functionality in the FragmentCreator without limitation.

6 Compatibility

6.1 Announcement: Incompatibility of FirstSpirit with Java < 11

FirstSpirit is successfully used by customers and partners with a wide variety of different third-party components (Operating Systems, JDKs, Servlet Engines, Application Servers, Databases) and with use of external libraries. Some of these components/libraries in their current versions are no longer compatible with Java 8. For example, this applies to the internal Apache Derby database that is included with FirstSpirit. This means that these third-party components/libraries can no longer be updated, which is particularly critical for safety related updates.

Oracle itself has not provided any public updates for Java 8 since February 2019 and recommends that developers and end users transition to a higher Java version to continue receiving public updates and security enhancements.

Basically, FirstSpirit supports only the last LTS (Long Term Support) version of OpenJDK and Oracle Java as well as the respective latest released version of OpenJDK. The support for Java versions older than 11 has been announced for some time. FirstSpirit has taken a number of measures to ensure compatibility with Java 11 (and higher versions).
With the next release (FirstSpirit 2021-08), the byte code level will be changed from Java 8 to Java 11 as the last step. This means that all Java versions older than Java 11 (LTS) will be incompatible with FirstSpirit.

This means that FirstSpirit will no longer run with Oracle Java < 11 or OpenJDK < 11 and that no measures are taken by e-Spirit AG to eliminate errors or problems that are related to Java < 11.

If it has not already happened, the change to Java 11 (and higher) on servers must first be checked on a test system, particularly with the use of third-party components and customer-specific extensions. Java 8 and 11 can be immensely different in some cases so that utilized libraries and implementations can be incompatible with Java 11 (and higher). In this case, it is often helpful to update the affected libraries, if an update exists. When changing to Java 11 (and higher), it is also recommended to switch the server to the “Isolated Mode” because this can prevent a duplicated check of modules and implementations. Refer to https://docs.e-spirit.com/odfs/edocs/modd/index.html.

For more information on the respective Java versions that are supported by FirstSpirit, go to https://docs.e-spirit.com/odfs/edocs/admi/technical-requi/index.html#java__firstpirit.

6.2 Modules and extensions for FirstSpirit 2021-07

The following modules and extensions are compatible with FirstSpirit 2021-07:

Module name/File nameVersion numberCompatibility
FirstSpirit Update Archive
fs-update-[version].tar.gz
2.1.0-
FirstSpirit Install Archiv
fs-install-[version].tar.gz
2.1.0-
FirstSpirit Launcher
FSLauncher.exe
1.0.41as of FirstSpirit 2018-08
FirstSpirit Launcher JRE module
fs-launcher-jre-[version].fsm
1.19as of FirstSpirit 2020-11
FirstSpirit SAML Login module
fs-saml-login-[version].fsm
1.3as of FirstSpirit 2019-02
FSDevTools
fs-cli-[version].tar.gz
fs-cli-[version].zip
2.6.10as of FirstSpirit 2020-08
FirstSpirit Module Gradle Plugin
firstspirit-module-gradle-plugin-[version].jar
2.3.0as of FirstSpirit 2019-06

7 Module Development, Scripts, API

"Report” interface: Explicit update via “refresh” method

The Report interface (FirstSpirit Developer-API, Package de.espirit.firstspirit.webedit.client.api) enables the display and filter configuration of standard ContentCreator reports as well as project-specific reports that were added via FirstSpirit modules.

The interface has now been extended with the refresh method that can be used to update the desired report, for example when switching pages.
It is hereby possible to specify a standard report or enter the path to a customer-specific report plug-in, for example

WE_API.Report.refresh("de.espirit.firstspirit.opt.example.universal.dataaccess.
TextBlocksDataAccessPlugin");

If the report is not known, this will be recorded as an error message in the console.

8 System

Updates to integrated third-party software

As of the current release, the following internally used software has been updated:

  • Spring Boot (used for MicroApp Framework)
    Update from version 2.4 to version 2.5

9 Template development

Database queries now also support FS_GIDs

Queries can be created to limit the number of datasets of a data source in the output or to output them sorted (under “Template Store” | “Database schemata” | “Schema” | “Query”):

UID=sitearchitect_abfragen_icon

The combination wizard now also supports the use of the FS_GID column:

UID=sitearchitect_datenbank_abfragen_fs_gid

In comparison to the ID that is stored in the fs_id column and that is unique for the current project, the ID in the FS_GID column is an ID that is unique server-wide (also called GID).
The desired GID can be determined in the Data Store via the context menu entry “Copy GID” of the corresponding dataset.

The field expects values in the UUID format. Any missing places (e.g., with the manual entry of a GID) will thereby be filled with 0 automatically.

Example of a source text with FS_GID attribute:

<QUERY entityType="Products">
<EQ attribute="FS_GID" datatype="java.util.UUID"
value="2a8f0ecc-4f28-4e92-970f-53a9ea658c34"/>
</QUERY>

The GIDs can also be used for queries on the “Content” tab of page references (Site Store) in the “Filter Configuration” section.

For more information, see also

Overview

ID Description Categories
CORE-12732

The determination of the MIME type for media has been improved. Especially for media, that were already uploaded with earlier FirstSpirit versions, it was possible that null was incorrectly shown as the MIME type.

Media, Media Store
CORE-13298

The combination wizard in database queries now also supports the use of the FS_GID column.

Further information can be found in chapter “Template development: Database queries now also support FS_GIDs”.

Content Store, Database, Developer, Template Development, Template Store
CORE-13374

With the current release, data that permits conclusions to be drawn pertaining to the respective user can now be deleted permanently in FirstSpirit.

Further information can be found in chapter “Administration: Data protection: Deleting user data”.

FirstSpirit Administrator, Permissions, Security, Server Administrator, ServerManager
CORE-13547

An error has been eliminated that, in very rare cases, could lead to that the URL was not shortened as expected with the use of stripWelcomeFileNames.

Advanced URL, Developer, FirstSpirit Administrator, Generation
CORE-13618

The class loading of the IDProviderEventAgent interface (FirstSpirit Access-API, Package de.espirit.firstspirit.agency) has been improved so that it can now reach public server and module classes (scope="server") better.

Developer, FirstSpirit API, Module development
CORE-13639

As of the current FirstSpirit release, the content of FirstSpirit jar files and is signed with a new certificate.

Further information can be found in chapter “General: Code signing certificate update”.

ContentCreator, ServerManager, SiteArchitect
CORE-13677

Announcement: With FirstSpirit 2021-08, FirstSpirit will be incompatible with all Java versions older than Java 11 (LTS).

Further information can be found in chapter “Compatibility: Announcement: Incompatibility of FirstSpirit with Java < 11”.

Developer, FirstSpirit Administrator, Java, Module development
CORE-13691

FirstSpirit Content Experience Tools: Latest module versions

Further information can be found in chapter “FirstSpirit Content Experience Tools (CXT): Latest module versions”.

Developer, FirstSpirit Administrator, FirstSpirit Content Experience Tools (CXT), FragmentCreator, Module development, Modules, Template Development
CXT-1326

With the current release, workflows can be started and switched directly to media in the Media management. In addition, further simplifications for handling media have been implemented: for example, it is now possible to switch directly from reports to the medium in the Media management.

Further information can be found in chapter “ContentCreator: Media: Workflows and other improvements for handling media”.

ContentCreator, Editor, Media, Media Store, Release, Reports, Workflow
CXT-2167

A search with special characters in the FragmentCreator will no longer return an error in the Browser Console.

Editor, FirstSpirit Content Experience Tools (CXT), FragmentCreator, Search
CXT-2218

The current release now also supports the influence on the selection of variant dimensions via FragmentDAP using the VARIANT tab in the FragmentCreator.

Further information can be found in chapter “FirstSpirit Content Experience Tools (CXT): FragmentDAP: Variant selection can now also be limited in the FragmentCreator”.

Developer, Editor, FirstSpirit Content Experience Tools (CXT), FragmentCreator, Input Components, Modules
CXT-2333

Beta status for automatic image cropping via “Image Recognition” module

Further information can be found in chapter “ContentCreator: Beta status: Automatic image cropping via “Image Recognition” module”.

ContentCreator, Developer, Editor, FirstSpirit Administrator, FragmentCreator, Media, Media Store, Modules, ServerManager, SiteArchitect, Template Development
CXT-2335

Update of internally used software.

Further information can be found in chapter “System: Updates to integrated third-party software”.

FirstSpirit Administrator, FirstSpirit Content Experience Tools (CXT), Integrated software
CXT-2336

Reports in the ContentCreator can now be explicitly updated via API.

Further information can be found in chapter “Module Development, Scripts, API: "Report” interface: Explicit update via “refresh” method”.

ContentCreator, FirstSpirit API, Module development
DEVEX-504

The following modules and extensions are compatible with FirstSpirit 2021-07.

Further information can be found in chapter “Compatibility: Modules and extensions for FirstSpirit 2021-07”.

Developer, Modules
DEVEX-505

FSDevTools: Compatibility with Java 16

Further information can be found in chapter “External Synchronization / Content Transport: FSDevTools: Compatibility with Java 16”.

Developer, FSDevTools

Deprecations

Functionality Deprecated as of Will be removed / Was removed as of
Input component CMS_INPUT_CONTENTAREALIST 5.2R3
Input component CMS_INPUT_CONTENTLIST 5.2R3
Input component CMS_INPUT_FILE 5.2R3
Input component CMS_INPUT_LINKLIST 5.2R3
Input component CMS_INPUT_OBJECTCHOOSER 5.2R3
Input component CMS_INPUT_PAGEREF 5.2R3
Input component CMS_INPUT_PICTURE 5.2R3
Input component 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 for FirstSpirit 2019-05
Legacy mode for the FirstSpirit server 2019-06 2022-03
Database layer for Oracle Database 11g/12c 2020-12 2025-05
FirstSpirit Access API: redirectTemplateLogToDefaultLog() (Interface RenderingAgent.Renderer) 2021-05