docs/en/Blog-Posts/2021-03-31 v4_3 Commercial Preview/POST.md
ABP Commercial version 4.3 RC (Release Candidate) has been published alongside ABP Framework 4.3. RC. I will introduce the new features in this blog post. Here, a list of highlights for this release;
Here, some other features already covered in the ABP Framework announcement, but worth mentioning here since they are also implemented for the ABP Commercial;
Blazor UI server-side support
Email setting management UI
Module extensibility system is now available for the Blazor UI too.
This post doesn't cover the features and changes done on the ABP Framework side. Please also see the ABP Framework 4.3. RC blog post.
This upgrade requires some manual work documented in the migration guide. Please read the guide carefully. Even if your application doesn't break on upgrade, you should apply the changes to avoid future release problems.
We'd introduced an initial version of the microservice starter template in the previous version. It is getting more mature with this release. We've made a lot of improvements and changes, including;
.sln) file for each microservice, gateway, and application. In this way, you can focus on what you are working on. The main (roof) solution file only includes the executable projects in these solutions.After this release, we will be preparing microservice development guides based on this startup solution.
ABP's multi-tenancy system allows to the creation of dedicated databases for tenants. However, the application startup solution comes with a single database migration path; hence it has a single database schema. As a result, tenant databases have some host-related tables. These tables are not used for tenants, and they are always empty. However, their existence may disturb us as a clean developer.
With this release, the application startup template provides an option to address this problem. So, if you want, you can have a separate migration path for tenant databases. Of course, this has a cost; You will have two DbContexts for migration purposes, bringing additional complexity to your solution. We've done our best to reduce this complexity and added a README file into the migration assembly. If you prefer this approach, please check that README file.
You can specify the new --separate-tenant-schema parameter while you are creating a new solution using the ABP CLI:
abp new Acme.BookStore --separate-tenant-schema
If you prefer the ABP Suite to create solutions, you can check the Separated tenant schema option.
With this release, the separate tenant database feature becomes more mature. When you create a new tenant with specifying a connection string, the new database is automatically created with all the tables and the initial seed data if available. So, tenants can immediately start to use the new database. With this change, tenant connection string textboxes come in the tenant creation modal:
Besides, we've added an "Apply database migrations" action to the tenant management UI to manually trigger the database creation & migration in case you have a problem with automatic migration:
Automatic migration only tries one time. If it fails, it writes the exception log and discards this request. For example, this can happen if the connection string is wrong or the database server is not available. In this case, you can manually retry with this action.
Note that this feature requires to make changes in your solution, if you upgrade from an older version. Because the tenant database creation and migration code are located in the application startup template. See the version 4.3 migration guide for details.
CMS Kit module initial version has been released with this version. As stated in the ABP Framework 4.3 announcement post, it should be considered premature for now.
For ABP Commercial application startup template, we are providing an option to include the CMS Kit into the solution while creating new solutions:
It is available only if you select the Public web site option. Once you include CMS Kit, a Cms item is shown on the menu:
Each CMS Kit feature can be individually enabled/disabled, using the global feature system. Once you disable a feature, it becomes completely invisible; even the related tables are not included in your database.
CMS Kit features are separated into two categories: Open source (free) features and pro (commercial) features. For now, only newsletter and contact form features are commercial. By the time, we will add more free and commercial features.
We will create a separate blog post for the CMS Kit module, so I keep it short.
Forms is a new module that is being introduced with this version. It looks like the Google Forms application; You dynamically create forms on the UI and send them to people to answer. Then you can get statistics/report and export answers to a CSV file.
Forms module currently supports the following question types;
Screenshot: editing form and questions - view responses
Screenshot: answering to the form
Team License users can't access the source code of modules and themes as a license restriction. You have to buy a Business or Enterprise license to download any module/theme's full source code. However, we got a lot of feedback from the Team License owners on the source code of the account module and the lepton theme. We see that customization of these two modules is highly necessary for most of our customers.
With this version, we decided to allow Team License holders to download the source code of the Account Module and the Lepton Theme to freely customize them based on their requirements.
You can Replace these modules with their source code using the ABP Suite:
Remember that; when you include the source code in your solution, it is your responsibility to upgrade them when we release new versions (while you don't have to upgrade them).
We'd added a public website application in the application starter template in the previous versions. It was using the public website layout of the Lepton Theme. We realized that the layout of this application is customized or completely changed in most of the solutions. So, with this version, the layout is included inside the application in the downloaded solution. You can freely change it. Before, you had to download it separately and include it in your solution manually.
With this release, all modules can be enabled/disabled per edition/tenant. You can allow/disallow modules when you click Features action for an edition or tenant:
Please check out the ABP Commercial 4.3 RC to help us to release a more stable version. The planned release date for the 4.3.0 final version is April 15, 2021.