Awesome to see so much activity to improve aspnetzero with release of v8.8!
However I'd really like to vote for an easier upgrade route.
So far this year there have been 8! releases. that includes hundreds of bug fixes, enhancements and new features. That's great!, but....
We are currently upgrading from v6 and it has taken about 25 man days so far including planning and development. i expect it will be another 10-20 including testing just to get to square one.
We used the two repositories process you suggested and have senior devs on this.
During this time we have had to lock out any bug fixes/enhancements which is a risk or means we have to again merge any fixes made during the upgrade.
We have a number of customizations because the functionality at the time wasn't available.
Like most customers we are building products which we have to constantly improve. We also cant ignore the underlying changes/improvements MS are making to Core.
At this rate of updates there will be close to 20 netzero release this year. Some will be to include LTS of .net core so we need to keep up.
Even if we only upgrade every 3rd release and get better at it and it takes 10 days migrate and test, that is over 60 man days just doing upgrades... Not to mention lost dev time, or cost to merge changes while upgrades take place.
Then multiply it if you have more than one product...
If we leave it longer I fear we will have even more time to upgrade each time. It is an un necessary distraction.
For one of our products in v5.5 I am thinking we should just rewrite it rather than attempt to upgrade. Should we use aspnetzero if we factor in this ongoing upgrade cost?
I think it would be a big advantage to the product to have a set of tools to significantly speed up the upgrade process.
Dont stop doing great work improving aspnetzero and abp.io but now the products are maturing it would be great to have a better approach to upgrades and cost of ownership.
You are right but hard parts of the updates mostly cause by;
- Metronic 5 -> Metronic 6
- ASP.NET Core 2.x -> ASP.NET Core 3.x I guess.
The best approach we can offer at the moment for upgrade is using Git and merge our changes to your project. Unfortunately, we couldn't find a better way until now.
As you can imagine, when a project is downloaded it is modified by developers and we are also making changes to source code. So, for now using Git seems most effective way.
You should also consider what would be the time if you were using a raw ASP.NET Core project and migrating from 2.x to 3.x.
If you have any suggestions about the upgrade progress, we will be happy to consider and implement it. Maybe, create a tool for upgrade if we can.
Thanks a lot for your good words by the way :).