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, ...).
-Xmn
with G1! Especially for the Sophora server make sure to remove it from the vmargs
when updating to the Garbage-First (G1) garbage collector/Java 11.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.
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 IQuery
s or Solr instead.