Crowd 3.0 Upgrade Notes

The upgrade notes contain information about upgrading to Crowd 3.0. We highly recommend that you read about all the new features in the Crowd 3.0 Release Notes.


On this page:

Upgrade notes

Before upgrading, read the following sections to make sure you're aware of all the important changes.

General changes

The Crowd console no longer uses the SOAP API internally

The Crowd console no longer uses the remote SOAP API. This simplifies configuration, and also helps to avoid some problems related to preventing users from accessing the console when the application passwords or allowed addresses don't match.

If you're not using the SOAP API with the 'Crowd' application, we recommend that you remove all configured 'Remote addresses' for the application to prevent remote access. 

As a side effect, Crowd expects that there is only one application of the 'Crowd' type configured. That's usually the case and no extra actions are required. If you have been using Crowd 1.5 or earlier, or if you are restoring a backup of such a version, Crowd will be marked as a 'Generic application'. During the first run, Crowd will try to find the right application and change its type to 'Crowd'.


The Crowd home directory has a new internal structure

With Crowd Data Center just behind the corner, we've unified the structure of the home directory for all installations. The following files and directories have been moved to a subdirectory called shared:

  • crowd.cfg.xml
  • plugins
  • backups

After you upgraded to Crowd 3.0.0 or later, your files will be migrated automatically. For Crowd Data Center installations this should be a shared directory, accessible by all Crowd nodes.

The 'crowd.properties' file is no longer used by Crowd

We've decided to drop the crowd.properties file that held some of the Crowd's configuration properties. Some of these properties are no longer needed (application name and password), while others are now stored in the Crowd's database (cookie settings and the application's base URL). Your properties will be migrated to the database when you run Crowd automatically after the upgrade. Take a look at some extra details below:
  • application.nameapplication.password – no longer required, because the Crowd console doesn't authenticate through the SOAP API anymore.
  • cookie.tokenkey – stored in the database, migrated during the first startup.
  • crowd.server.urlcrowd.base.url – the SOAP server URL is no longer needed; the base URL is now stored in the database, and can be changed in the Crowd console. 

The crowd.properties file might still be used by other applications that integrate with Crowd (CrowdID, or some third-party clients).

File-based directory configuration removed

Crowd no longer supports external configurration of your directories (outside of the database). If you have the directories.properties file in your Crowd home directory, directories specified in this file will not work after the upgrade.

Crowd Server now tries to prevent multiple instances running using the same database

To prevent data loss related to having multiple Crowd Server instances accessing the same database, or a Crowd Server instance accessing a database used by a Crowd Data Center cluster, Crowd will now attempt to detect such misconfigurations. When detected the instance will lock up, and present an error message to let the user know about the problem.

Changes important to add-on developers

SOAP specific components no longer available to add-ons

Since Crowd no longer uses the SOAP API internally (it will still be available for remote clients), several services that were previously exported to plugins will not be available. These services weren't part of the public API, and standalone integrations (not running as P2 plugins in Crowd) can still use them – their APIs haven't changed.

The following services are no longer available:

  • com.atlassian.crowd.integration.http.HttpAuthenticator
  • com.atlassian.crowd.service.soap.client.SecurityServerClient
  • com.atlassian.crowd.service.client.ClientProperties
  • com.atlassian.crowd.integration.soap.springsecurity.user.CrowdUserDetailsService

Local storage in 'plugin-data' directory is deprecated

We recommend that add-ons use the database for persistent storage instead. If that's not possible, plugins should use the shared home directory fetched from com.atlassian.crowd.service.HomeDirectoryService.

Synchronisation token API changes

The directory synchronisation token (used for incremental synchronisation of directories) is no longer a part of com.atlassian.crowd.embedded.api.DirectorySynchronisationRoundInformation and com.atlassian.crowd.model.directory.DirectorySynchronisationStatus

For operating on directory synchronisation tokens use com.atlassian.crowd.manager.directory.SynchronisationStatusManager. Synchronisation tokens are now stored in a new database table called cwd_synchronisation_token.

DirectoryMonitorManager deprecated

The com.atlassian.crowd.manager.directory.monitor.DirectoryMonitorManager API is deprecated, and no longer needed. Instead, directories implementing SynchronisableDirectory will now have synchronisation job registered and unregistered automatically when needed. DirectoryMonitorManager is still available, but no longer performs any actions. 

RemoteDIrectory lifecycle changes

Previously instances of RemoteDirectory were cached and reused between usages. While this wasn't an explicit contract, some developers might have used that to keep some state in the RemoteDirectory instance and rely on it being preserved.

Starting with 3.0 these instances aren't cached and will be re-created for each usage, and therefore can't be used to keep state.

Upgrade procedure

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

Last modified on Dec 20, 2017

Was this helpful?

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