OrchardCMS / Orchard

Orchard is a free, open source, community-focused Content Management System built on the ASP.NET MVC platform.
https://orchardproject.net
BSD 3-Clause "New" or "Revised" License
2.37k stars 1.12k forks source link

Future of Orchard Version 1 Custom Modules #7450

Open ActivePHOENiX opened 7 years ago

ActivePHOENiX commented 7 years ago

As stated in O2 Issues that there would be no migration from O1 to O2, what would be the smart measures, developers should have taken care of, specially those who have some custom modules already running along version 1, we have developed like 56 modules compatible with 1.10.1 version of orchard. what would be the guideline to convert our modules to be compatible to O2.

Is there any idea on this task? any suggestions? As I have seen in the O2 version road map, It would be likely that the initial public release of the complete O2 would be near end of 2017 or early 2018 if not delayed. If we intend to start converting our modules to the new version from now, what we need to target and focus on from now?

Thanks for any suggestions.

sebastienros commented 7 years ago

We will write some documentation to migrate modules. All the concepts being the same it should be trivial to migrate them in most cases. The only thing that could be an issue is the fact that some modules might not be there in time for you to start migrating, so if one of your modules depend on that then you would be blocked.

For now the guidance is to remain on O2 until it makes sense for you to migrate. We are actively adding new futures on O1 still, look at the localization effort that is ongoing for instance. And some new features in O2 might also be ported to O1. As a side note, if you are willing to participate, even if it's only for the modules you personally depend on, it would be a great help.

Skrypt commented 7 years ago

I would focus on knowing which dependencies I have for those 650 modules to know what needs to be done. If they mainly just override/inherits Core modules then you need to make a list of those you need to be rewritten. Then contribute on one of them at a time 😄 "suggestion" 😉

Take the time to also consider the profitability of rewriting an entire module system that took X time to be written ; migrating it to .NET Core could take a substancial amount of time to do. So the question you should also ask yourself is : is it profitable to migrate all your websites to a new platform or rewrite them in that new platform? You know that 02 will use different approach on a lot of things so you should maybe just plan to migrate only data from old websites to new rewritten websites ... that's my humble opinion.

Remember that when there is a major version change that means that there is a lot of breaking changes. So, I think there is nothing to worry about 01 and the support around it since we all have websites using it and we will want to continue support our clients with it. The only reason why I would migrate a website to 02 would be if a client would be requesting it. Then that would be a rewrite of the entire website to me. I could use parts of it but I'm pretty sure I would end up rewritting and/or copy/pasting a lot of code.