Server 4

Sophora Server: Update Notes

Instructions for updating from previous Sophora versions.

URL Handling

appe
VersionTimingChanges
4.7.0Configuration can be adjusted before updating to version 4.7.0Starting with version 4.7.0, the Sophora Server has a new default implementation for composing and parsing URLs, which uses the URL components of the Sophora webapp-framework instead of requesting the deliveries.The new implementation can handle both Sophora document URLs and URLs for the Sophora Image Service. It also avoids HTTP calls to the deliveries and thus it's much faster.

If you want to keep the old behavior and use the URL handling from the deliveries, you can set the property sophora.url.use-url-library=false in the server configuration file.

Otherwise you should adjust the relevant properties for the URL generation to match your setup.
For more information about the properties, see the description in the documentation of the Sophora server configuration.
4.18.0Configuration can be adjusted before updating to version 4.18.0The configuration for the image URL component from the Sophora webapp-framework has changed in version 4.18.0
  • Structure node documents have a new property imageUrl, which will be used as prefix for image URLs generated by the URL component
  • The value of the new property sophora.url.image-service-default-domain will be used as default, when the imageUrl in the site of the image is not configured
The old configuration property sophora.url.image-service-domain is obsolete and should be removed after updating the Sophora Server to version 4.18.0
For more information about the properties, see the description in the documentation of the Sophora server configuration.

New script to the sophora server

VersionChange
4.16.3Next to the script sophora.sh another script named sophoraServerControl.sh can now be used to start the Sophora Server, sophoraServerControl.sh will replace the script sophora.sh in Sophora 5. See Using the Sophora Server for further information on how to use sophoraServerControl.sh and sophora.sh.

Archive Worker

Two configuration properties are removed:

  • sophora.archive.maxVersionsToGet
  • sophora.archive.delayMs

The new default value (and minimum value) for sophora.archive.maxVersionsToRetain is '20'. This ensures, that the archive worker can concentrate its work on documents with more than 20 versions.

Caching framework changed

The Sophora server used EHCache for some internal caches. With Sophora 4 Caffeine is used instead. Due to that some of the caching statistics available through JMX look different now.

Logging framework updated

Sophora still uses logback as logging-configuration. Logback has been upgraded from 1.2.9 to version 1.5.6 (with Sophora Server version 4.28.1).
Some older logback configurations might no longer be valid, specifically, nested if-Elements are no longer possible in appender, logger and root-elements.

Sophora Cloud Delivery (Access Tokens for sessionless Sophora Client connections)

In Sophora 3, access tokens are configured using the property sophora.authenticate.tokens in the sophora.properties file. Starting with Sophora 4, access tokens are an extension to a Sophora user. You have to manually assign the access tokens from the sophora.properties file to a Sophora user document. You can do this by opening the user document in the DeskClient's Admin View and add the token to the user.
Note that all access tokens in Sophora 3 are internally mapped to the admin role; however, it is advisable to assign them to less priviliged users in Sophora 4.

Solr

Virtual Properties

Field names for virtual properties indexed in the internal Solr contain slashes which makes them unusable with the fl-parameter. Solr Cloud uses underscores instead of slashes which fixes that problem.

"sophora-nt_stickyNote/sophora_comment_s": "comment" (virtual property in internal Solr)
"sophora-nt_stickyNote_sophora_comment_s": "comment" (virtual property in Solr Cloud)

Last modified on 4/21/22

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

Icon