ABP Commercial 4.x to 4.3 Migration Guide
This release comes with some important changes. While most of them are not breaking changes, it is strongly suggested to implement these changes in your existing solutions for a smooth upgrade and have no problem with the future releases.
This upgrade requires some manual changes in your solution files to take advantage of some new features. You can check this guide to learn how you can make the necessary changes in your solution. If you apply that guide, you will also have applied the changes below.
See also ABP Framework migration guide for the changes made in the ABP Framework.
Identity Pro Module
With this release, we've published new packages for the Identity.Pro module. These packages extend the open source Identity module and will provide flexibility to us for adding unique features to the Identity Pro module.
Existing applications should replace some usages as described below.
Package Changes
- Replace
Volo.Abp.Identity.Domain
with the newVolo.Abp.Identity.Pro.Domain
package and also replaceAbpIdentityDomainModule
usage withAbpIdentityProDomainModule
in your module's[DependsOn]
attribute. - Replace
Volo.Abp.Identity.Domain.Shared
with the newVolo.Abp.Identity.Pro.Domain.Shared
package and also replaceAbpIdentityDomainSharedModule
usage withAbpIdentityProDomainSharedModule
in your module's[DependsOn]
attribute. - If you are using EF Core, Replace
Volo.Abp.Identity.EntityFrameworkCore
with the newVolo.Abp.Identity.Pro.EntityFrameworkCore
package and also replaceAbpIdentityEntityFrameworkCoreModule
usage withAbpIdentityProEntityFrameworkCoreModule
in your module's[DependsOn]
attribute. - If you are using MongoDB, Replace
Volo.Abp.Identity.MongoDB
with the newVolo.Abp.Identity.Pro.MongoDB
package and also replaceAbpIdentityMongoDbModule
usage withAbpIdentityProMongoDbModule
in your module's[DependsOn]
attribute.
Other Changes
- Find
modelBuilder.ConfigureIdentity()
and change bymodelBuilder.ConfigureIdentityPro()
in your EF Core project. - If you've used
IdentityDbContext
, useIdentityProDbContext
instead.
Blazor UI
Blazor server support comes with this release and we've created separate WebAssembly and Server packages for the modules.
So, if you are using Blazor WebAssembly UI, please make the following changes in your Blazor project;
- Identity Module: Use
Volo.Abp.Identity.Pro.Blazor.WebAssembly
NuGet package instead ofVolo.Abp.Identity.Pro.Blazor
package. Also, changeAbpIdentityProBlazorModule
usage toAbpIdentityProBlazorWebAssemblyModule
in the[DependsOn]
attribute on your module class. - Audit Logging Module: Use
Volo.Abp.AuditLogging.Blazor.WebAssembly
NuGet package instead ofVolo.Abp.AuditLogging.Blazor
package. Also, changeAbpAuditLoggingBlazorModule
usage toAbpAuditLoggingBlazorWebAssemblyModule
in the[DependsOn]
attribute on your module class. - Text Template Management Module: Use
Volo.Abp.TextTemplateManagement.Blazor.WebAssembly
NuGet package instead ofVolo.Abp.TextTemplateManagement.Blazor
package. Also, changeTextTemplateManagementBlazorModule
usage toTextTemplateManagementBlazorWebAssemblyModule
in the[DependsOn]
attribute on your module class. - Identity Server Module: Use
Volo.Abp.IdentityServer.Blazor.WebAssembly
NuGet package instead ofVolo.Abp.IdentityServer.Blazor
package. Also, changeAbpIdentityServerBlazorModule
usage toAbpIdentityServerBlazorWebAssemblyModule
in the[DependsOn]
attribute on your module class. - Language Management Module: Use
Volo.Abp.LanguageManagement.Blazor.WebAssembly
NuGet package instead ofVolo.Abp.LanguageManagement.Blazor
package. Also, changeLanguageManagementBlazorModule
usage toLanguageManagementBlazorWebAssemblyModule
in the[DependsOn]
attribute on your module class. - SaaS Module (host): Use
Volo.Saas.Host.Blazor.WebAssembly
NuGet package instead ofVolo.Saas.Host.Blazor
package. Also, changeSaasHostBlazorModule
usage toSaasHostBlazorWebAssemblyModule
in the[DependsOn]
attribute on your module class. - SaaS Module (tenant): Use
Volo.Saas.Tenant.Blazor.WebAssembly
NuGet package instead ofVolo.Saas.Tenant.Blazor
package. Also, changeSaasTenantBlazorModule
usage toSaasTenantBlazorWebAssemblyModule
in the[DependsOn]
attribute on your module class. - File Management Module: Use
Volo.FileManagement.Blazor.WebAssembly
NuGet package instead ofVolo.FileManagement.Blazor
package. Also, changeFileManagementBlazorModule
usage toFileManagementBlazorWebAssemblyModule
in the[DependsOn]
attribute on your module class.
Resource Reference Changes
Open <YourProjectName>BundleContributor.cs
and replace context.Add("main.css");
to context.Add("main.css", true);
Open appsettings.json
and add the following:
"AbpCli": {
"Bundle": {
"Mode": "BundleAndMinify", /* Options: None, Bundle, BundleAndMinify */
"Name": "global",
"Parameters": {
"LeptonTheme.Style": "Style6", /* Options: Style1, Style2... Style6 */
"LeptonTheme.ChangeStyleDynamically": "true"
}
}
}
Then run abp bundle
command in the blazor
folder to update resource references.
Angular UI
- AccountConfigModule:
AccountConfigModule
has been deprecated. It will be removed in v5.0. ImportAccountAdminConfigModule
instead as shown below:
// app.module.ts
import { AccountAdminConfigModule } from '@volo/abp.ng.account/admin/config';
@NgModule({
//...
imports: [
//...
AccountAdminConfigModule.forRoot(),
//...
]
})
export class AppModule {}
- CommercialUiConfigModule:
CommercialUiConfigModule
has been created to makeCommercialUIModule
lazy-loadable. The module will also provide some benefits for the configuration. Import it to theapp.module.ts
as shown below:
import { CommercialUiConfigModule } from '@volo/abp.commercial.ng.ui/config';
@NgModule({
//...
imports: [
//...
CommercialUiConfigModule.forRoot(),
//...other abp config modules
]
})
export class AppModule {}
ABP Framework Migration Guide
See also ABP Framework migration guide for the changes made in the framework.