Crowd 3.1 Upgrade Notes

Before upgrading to Crowd 3.1, read the following sections to make sure you're aware of all the important changes. We highly recommend that you read about all the new features in the Crowd 3.1 Release Notes.

General changes

Crowd 3.1 is bundled with Apache Tomcat 8.5

Crowd 3.1 is the first version of Crowd to be shipped with Tomcat 8.5. As such, there's a number of precautions that should be followed when upgrading:

Reason phrases

Tomcat 8.x does not send HTTP reason phrases in the responses by default. This may cause incorrect error reporting from the Crowd integration REST client older than 3.1.0. Tomcats shipped in the standalone distribution are configured to send reason phrases by default, however when using the WAR distribution please add the following attribute to the Connector node in the Tomcat's server.xml.

sendReasonPhrase="true"

JNDI related changes

Tomcat 8.x uses a different connection pool implementation. When using a JNDI DataSource with a JDBC driver that does not implement the java.sql.Connection.isValid(int) method, provide a validationQuery in the DataSource configuration.

Customized Tomcat configuration files

If you are using customized Apache Tomcat configuration files in your deployments, make sure to update those to work with the new Apache Tomcat version bundled. 
Notably compared to the previously bundled configuration files, these changes are needed:
  • in <APACHE_TOMCAT>/conf/server.xml remove the lines:

    <!--Initialize Jasper prior to webapps are loaded. Documentation at /docs/jasper-howto.html -->
    <Listener className="org.apache.catalina.core.JasperListener" />

Tomcat GZIP compression is enabled by default

Due to compatibility issues between Java and zlib Tomcat compression was disabled in Crowd 3.0.2. If you are using the Crowd WAR distribution, you may re-enable Tomcat compression.

JDBC connections strings on Postgres

We strongly recommend setting the prepareThreshold=0 parameter in the JDBC connection string for Crowd instances running with Postgres databases. Crowd will automatically do appropriate changes in the connection string, but since the crowd.cfg.xml file can be changed manually please make sure the parameter is always present. 

Users of Oracle database should make sure they are not connecting as the SYS user before upgrading

If you are using the Oracle database, please make sure you are not authenticating Crowd as the SYS user. If you are, you will need to switch to a normal user before upgrading.

Deprecation notices

WAR distribution is now deprecated

Crowd and CrowdID WAR distributions are deprecated since Crowd 3.1. WAR distribution won't be available and supported for future releases. We recommend using a standalone distribution instead.

Why are we ending support for this?

  • We are trying to reduce the amount of combinations and confusion around this for customers downloading a Server and Data Center edition
  • The WAR edition is a bit more complex to install and gets more difficult as the installation ages and gets bigger - we want to reduce that complexity
  • We can't and don't test every permutation of environments + app servers that a customer might deploy into, nor can we control what else might be in that environment, which can lead to a poor user experience
  • We only support Tomcat - Crowd doesn't work on WLS or WebSphere anyways, other app servers - maybe.

Anything we release, we want to make sure users get a good experience in installation and usage and don't have to deal with app server quirks etc.


Solaris support is now deprecated

Deploying Crowd on Solaris systems is now deprecated and won't be supported in future releases.

Changes important to add-on developers

Crowd is now using Struts 2.5.x

  • Crowd 3.1 is bundled with Apache Struts 2.5.13

    • If you are including struts action modules in your plugin, you should make sure these still work as expected
    • Struts Action plugin module are now deprecated for plugin developers, to avoid problems with compatibility in the future - we recommend using Servlet or REST plugin modules instead, or using a UI framework of your choice if needed
  • Due to changes in Struts and Tomcat implementations, plugin servlet responses which don't specify a charset in the Content-Type header, will have the charset set to a default one, which is ISO-8859-1. In general we recommend setting an explicit charset in all responses.

Crowd Demo Application removed

Crowd standalone no longer ships the Crowd Demo application, also the war distribution of Crowd Demo application has been stopped as well. 

Upgrade procedure

To upgrade to Crowd 3.1.x from any earlier version, follow these upgrade instructions.

Last modified on Apr 12, 2018

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.