3.0 Migration Guide

In this document, we will see the major steps to migrate from 2.x to 3.0.

Please check the change log for detailed list of fixes, changes and improvements introduced in 3.0.

Database migration

Migration scripts are available there.

Configuration changes

If you have not customized the axelor-config.properties file for BI, you can ignore this section.

Multi-tenancy support

BI configuration via axelor-config.properties is no longer supported. The following properties have been removed:

  • bi.local

  • bi.studio.url

  • bi.studio.admin.user

  • bi.studio.admin.password

  • bi.tenant.code

BI configuration is now managed from the App BI configuration page:

  1. Install the BI app.

  2. Go to the configuration page and open the BI Studio tab.

  3. Add the database connection manually or click Load DB info.

  4. Set the BI URL if not already defined in the license.

  5. Click Activate Connection and fill in the admin credentials.

BI Local feature removed

The BI Local feature has been removed. The property bi.local and the class com.axelor.apps.bi.service.BiConfigService no longer exist.

Breaking Changes

If you have not overridden the code of BI module, you can ignore this section.

Removed domains and models

The following domains have been removed:

  • AppBiInstance (and field biStudioInstance from AppBi)

  • LibraryInstance (and field library from AppBi)

  • BiUser (and its association with User model)

Removed classes

The following classes have been deleted:

  • com.axelor.apps.bi.listener.BiServerStartListener

  • com.axelor.apps.bi.service.BiConfigService

  • com.axelor.apps.bi.helpers.ClientHelper

  • com.axelor.apps.bi.service.observer.BiAppObserver

  • com.axelor.apps.bi.service.BiAuthService and BiAuthServiceImpl

  • com.axelor.apps.bi.service.tenant.TenantService

  • com.axelor.apps.bi.service.library.LibraryInstanceService and its implementation

  • com.axelor.apps.bi.service.user.BiUserService and its implementation

  • com.axelor.apps.bi.web.BiUserController

  • com.axelor.web.BiAuthRequestHandler

Renamed and moved classes

Old name New name

com.axelor.apps.bi.service.studio.StudioInitializer

com.axelor.apps.bi.service.tenant.BiTenantService

com.axelor.apps.bi.service.token.BiAuthCompanyTokenService

com.axelor.apps.bi.service.token.BiTenantTokenService

com.axelor.apps.bi.app.service.AppBiService

com.axelor.apps.bi.service.app.AppBiService

Renamed methods

Old signature New signature

BiUserService.isCurrentUserAdmin()

BiAuthUtils.isBiAdmin(User user)

BiUserService.isCurrentUserNotAdminHasBiUserRole()

BiAuthUtils.isBiUser(User user)

DatabaseHelper.extractDatabaseHostFromBaseUrl()

DatabaseHelper.getDbHostFromBaseUrl()

AppLicenceHelper.getMetadata()

AppLicenceHelper.getBiMetadata()

BiTenantTokenService.biCompanyAdminLogin

BiTenantTokenService.biReaderLogin

BiTenantTokenService.getCompanyAccessToken

BiTenantTokenService.getReaderAccessToken

BiTenantTokenService.refreshCompanyAccessToken

BiTenantTokenService.refreshBiReaderAccessToken

The following methods from TenantService have been moved to AppBiService:

Old name New name

getTenantBiUsername

getBiReaderUsername

getTenantBiPassword

getBiReaderPassword

getBiUrl

getBiDbUuid

getBiDatabaseUuid

getBiDatabaseUuid (unchanged, moved)

getBiDbHost

getBiDbHost (unchanged, moved)

The method getBiClientCode has been deleted entirely.

The following methods from LibraryInstanceService have been moved to AppBiService:

  • getBiLibraryUrl

  • getBiLibraryUser

  • getBiLibraryPassword

  • isLibraryConfigured

Upgrade dependencies

The following dependencies have been upgraded:

  • AOP to 7.2.0

  • axelor-utils to 3.2.0

  • axelor-studio to 3.3.1

  • axelor-bi-library to 2.4.0

  • axelor-bi-studio-api to 2.0.0

  • axelor-guardian to 2.1