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
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.name
,application.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.url
,crowd.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.
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
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.