Allow using Kentico 12 in a mixed MVC and Portal Engine site
Kentico is now moving forward in technology with the new MVC model which is highly appreciated. They also encourage everyone to migrate to the new model announcing an end of support for Portal engine with 2022.
What is stopping us and many customer projects at the moment is:
1.) You cannot create a mixed MVC AND Portal Engine site currently. You also cannot migrate an existing Portal Engine site of a customer to MVC or mixed.
2.) A lot of features which are widely used are not yet available for MVC sites (Existing webparts, widgets, many/all of the social features like Forums etc.).
3.) So there now is a gap: Customers/Software developers want to move forward but many features are not available yet in MVC.
Why not support a mixed site? It would be more of a Portal engine site, where the Page tab for Content-only Page types with a configured Url pattern renders the correct MVC Site Url / View. Should be not that difficult if you remember, that using the "old" MVC style pages in Portal engine was already possible in the past.
Lars Muis commented
One of the issues I encounter is that we are currently building a new MVC site as a replacement of an old portal site. There is a lot of data in there containing different dependencies. I'm not looking forward to export the data and import it into the new site. It's just much easier to build the new MVC site on top of the old. So far no problems, however when it's finished I'd like to flip a switch to make the site in the CMS an MVC site instead of a portal site. Next I want to make the existing page types content only. Currently that requires some database hacking and there is no documentation on this. Facilitating this better would be great.
Stephen Price commented
I've been thinking about this scenario because my organization has several large sites and doing monolithic rebuilds of sites that still have content being changed on them every day presents a serious challenge. How do you completely rebuild a website while the old one is a moving target?
I agree with the other commenter that mixing the Portal Engine and Page Builder in the same editing experience is a technical non-starter, compounded by the Portal Engine's days being quite literally numbered.
However, one solution here would be to build out the new MVC site in sections defined by MVC route mappings, then any HTTP requests the MVC site doesn't have explicitly route-mapped can be passed through to the old Portal Engine site to handle (as opposed to the MVC site returning a 404). Then, the url routes of the Portal Engine site's content tree that are intercepted by the MVC site can be decommissioned and editors directed to the new PageBuilder version.
1. mixing the old web forms (portal engine) and MVC does not make sense. Those are two different platforms.
2. Portal engine evolved for more than 12 years, MVC in Kentico is much younger and it takes time to develop features. Also, one of the pros of MVC is that you can do what you want and develop what you want. It is no longer a "black box" where things somehow worked and you were limited by how they were designed. The idea was to have just content in Kentico and the front end MVC app fully under the web developer control so they do not take care of how the content is stored.
3. See #2 - but I realize that developer's time is expensive and it turns out that it is not that good idea to develop almost everything - it takes time and money.
You can use content only pages in portal engine - but it is not recommended since you will have to develop the logic to handle them - because they are content only - they store just the content. Everything else has to be done on the MVC side basically.