Changelog

General Sophora 4 Update Notes

Instructions for updating from previous Sophora versions.

Update Guidance

If you want to upgrade to Sophora 4.0 you have to have your servers and components running with 3.x before.
See the list of Sophora versions to see earlier versions with their update instructions.

New System Requirements

Sophora 4.0.0 and later requires Java 11 to run all the Sophora components (Server, Delivery, Importer, ...).

Additional requirements for the DeskClient

  • The support for 32-bit platforms has been discontinued. The DeskClient only runs on 64-bit platforms and JVMs.
  • The DeskClient can no longer be run on Linux with GTK2. Furthermore the SWT_GTK3 environment variable is ignored, as only GTK3 is supported now. Please also note, that GTK versions older than 3.20 are no longer supported.

Updates of embedded Libraries

Scripting with Groovy 3.0

Sophora 4 now uses Groovy 3.0 as scripting engine. As there are some major changes, e.g. to the Groovy parser, we advise to check your scripts on a non-production system before upgrading your production system. Note that scripts are used by several Sophora components (e.g., Server, DeskClient, Importer, and customer-specific tools). See the Release Notes for Groovy 3 for further details on potential incompatibilities and workarounds. We recommend the Upgrading Guide by Collibra.

Sophora 4 initially used Groovy 2.5. Check the Release Notes page and the update notes sections below for details on Sophora components compatible with Groovy 3.0.

Update to Spring Boot 2.7

Spring Boot based Sophora applications, such as the Sophora Importer and Sophora Teletext, have upgraded to Spring Boot 2.7.

Spring Boot 2.4 has changed the priority with that application.yml configuration files are processed. No changes are necessary if you use on-premise installations or Docker images provided by subshell. Action might be required if you use project-specific Docker images with multiple application.yml files. Have a look at the Spring Boot Config Data Migration Guide for details.

The Spring Boot dependency is important in particular, since we use the Dependency Management of Spring Boot. Please refer the Spring Documentation for further information about that topic.

Sophora 4 initially used Spring Boot 2.3. Check the Release Notes page and the update notes sections below for details on Sophora components compatible with Spring Boot 2.7.

Update to Spring Framework 5.3

Sophora applications now use Spring Framework 5.3. If your applications use the Sophora Client or other Sophora libraries, you should update to Spring 5.3 as well. Have a look at the Upgrade Notes of the Spring Framework.

Sophora 4 initially used Spring 5.2. Check the Release Notes page and the update notes sections below for details on specific Sophora components compatible with Spring 5.3.

New properties added in sophora-mix:document

The new date properties sophora:editorialDate (intended for the date of the editorial document) and sophora:dwellTimeStart (intended for indicating the start of the document's dwell time) have been added to the mixin sophora-mix:document and thus also to all document node types.

With server 4.4.0 the new property sophora:firstPublicationDate (intended for the date of the first publication of new documents) has been added to sophora-mix:publishable and thus, due to inheritance, also to sophora-mix:document.

NodeType configurations changed to System Documents

All nodetype configurations have been changed to system documents of type "sophora-nt:nodeTypeDocument". The migration step to convert the old nodetype configurations happens automatically.

Users and Roles changed to System Documents

User and role entities have been changed to system documents of type "sophora-nt:userDocument" and "sophora-nt:roleDocument". Therefore some special features of these entities have been removed or mapped to standard Sophora document features and workflows. Note that changes to user or role documents must be published to take effect.

Exporting User Passwords as Hashes

When exporting users in the DeskClient, the normal document export wizard will appear and there will be no additional checkbox to "Export user passwords as hashes" anymore. To prevent passwords from being exported in a hashed form, you can add the property sophora:password to the "Properties that should not be exported" in the extended settings on the second page of the export wizard or to the document.export.propertiesNotToExportInSophoraXml setting in the configuration document.

Sophora Repo Exporter

The following special export configuration settings of the Sophora Repo Exporter have been removed:

  • fullWithoutPasswords
  • user
  • usersWithPasswords
  • usersWithoutPasswords
  • roles
  • dictionaries
  • proposalSections

You can replace these settings by using the adminExport (full, fullWithSeparatedNodeTypes or allSystemDocuments) or the documentTypes criteria or a query (XPath or Solr; documents must be searchable). To prevent passwords from being exported in a hashed form, you can add the property sophora:password to the propertiesNotToExportInSophoraXml setting in the main configuration or alternatively to the document.export.propertiesNotToExportInSophoraXml setting in the configuration document.

XPath is now deprecated

The underlying storage technology of Sophora, Jackrabbit/JCR, will be replaced in Sophora 6. Therefore, the XPath query language will no longer be available in Sophora 6. Prior to that release, we will provide alternatives to XPath-based features, and there will be detailed guides how to migrate to those alternatives. We strongly advise not to use XPath any more where alternatives already exists. For instance, when searching for documents, use IQuerys or Solr instead.

Last modified on 5/17/23

The content of this page is licensed under the CC BY 4.0 License. Code samples are licensed under the MIT License.

Icon