Hi ABP Support,
I hope this message finds you well. We are currently working on upgrading our solution from ABP version 5.3.3 to version 9.0, and we would like to ask for your support in making this process as smooth as possible. Here is a brief overview of our current architecture:
Our code setup is as follows: We are using an ASP.NET + Angular frontend-backend separation framework, with SQL Server as the database, and ABP’s pre-built Entity Framework Core. We have also downloaded the source code for some modules from the ABP commercial version, which are placed in the modules directory.
We would appreciate some guidance to help us smoothly upgrade our code from version 5.3.3 to version 9.0.
We would also like to know, in general, how much effort (person-hours) it would take to complete the framework upgrade (with built-in framework features working properly, excluding testing and issue resolution for our custom features).
We understand that this estimate is only a time range reference, so please don't worry about it. However, if you could provide this information, it would greatly assist us in making a more accurate assessment of the development time, helping us determine which stage in our product development we should schedule the upgrade.
The images I’ve provided show the current solution structure.
3 Answer(s)
-
0
Hi,
The time required depends on your project structure and how much you've customized ABP's features and services. While we generally try to avoid breaking changes, they can sometimes occur.
I suggest following the migration guides step by step, incrementally updating versions instead of jumping directly to v9.0: ABP Migration Guides
Since you use modules from source codes, you won't be able to update modules with the NuGet package version. Instead, you'll need to re-download the latest versions of these modules, compare the changes made by the ABP team, and apply those changes to your local ones. If there aren't many changes in your modules, you can move your customizations to the newly downloaded source code, which might save you time.
I can't provide an exact estimate without knowing your overrides, but here's a general idea for a standard usage scenario:
- Each version upgrade should be done manually and tested separately.
- You have 10 iterations to reach the latest v9.0 version (v5.3 -> v6.0 -> v7.0 -> v7.1 -> ... -> v9.0).
Each version switch may take 2-4 hours, including building, running, and testing, assuming there are no issues.
Total time estimate: (2-4 hours) * 10 iterations = 20-40 hours
⚠️ This is just an assumption. I am a software developer, not a project manager, so the actual time might be more or less depending on your team's experience.
-
0
Hi there,
Thank you very much for your suggestion. When you mentioned that each version upgrade should be done manually, does that mean we should not use the ABP CLI
update
command or the ABP Suite tool for upgrading?
If it is possible to use the ABP CLIupdate
command or the ABP Suite tool, could you please guide me step-by-step on how to perform the upgrade? When I tried using them, they directly took me to version 9.0.Is the migration of IDS to OpenIddict mandatory?
-
0
Yes, CLI or ABP Studio can update your packages at once, but at that point you have to make sure all the migration guides will be applied at the same time.
could you please guide me step-by-step on how to perform the upgrade?
You can use ABP Studio to update your packages:
Or you can just use CLI to update the packages by executing the following command:
abp update
Then make sure you apply all the breaking-changes by following migration guides below:
- https://abp.io/docs/latest/release-info/migration-guides/abp-6-0
- https://abp.io/docs/latest/release-info/migration-guides/abp-7-0
- https://abp.io/docs/latest/release-info/migration-guides/abp-7-1
- https://abp.io/docs/latest/release-info/migration-guides/abp-7-2
- https://abp.io/docs/latest/release-info/migration-guides/abp-7-3
- https://abp.io/docs/latest/release-info/migration-guides/abp-7-4
- https://abp.io/docs/latest/release-info/migration-guides/abp-8-0
- https://abp.io/docs/latest/release-info/migration-guides/abp-8-1
- https://abp.io/docs/latest/release-info/migration-guides/abp-8-2
- https://abp.io/docs/latest/release-info/migration-guides/abp-8-3
- https://abp.io/docs/latest/release-info/migration-guides/abp-9-0
some of them might not related to your solution configuration (ui-framework, db-provider etc.), you need to check if something to apply for your template
Is the migration of IDS to OpenIddict mandatory?
It's not mandatory, IdentityServer4 will continue to work but it it out of support right now. If you wish to get updates for AuthenticationServer, you can migrate IdentityServer5 (commercial version) or migrate to openiddict. It's not required to run your application, your application stil can work with IdentityServer v4 for now