I wanted to start a discussion on the process of upgrading the Umbraco core to MVC 5 and WebApi 2. I have done a bunch of testing with regards to the upgrade and want to share my results and discuss what are options are to roll out these changes in the core of Umbraco.
In this sense it would be nice to somehow separate the version number from the more feature driven release cycle. That way the major version could ramp up as fast as you like strictly following SemVer. But you would also have more marketing driven releases - like Apple's big cats ("Snow Leopard" etc.), or Microsoft's "VIsta" (OK... that one not a great example!).
Thanks for the write-up Shannon, the one thing I find interesting is that Umbraco has some hooks into MVC which tie an Umbraco release to a specific version of MVC. This I see as a bigger problem than the question of Umbraco supporting MVC 5/WebAPI 2.
My “ideal world” would be Umbraco isn’t tied to any specific MVC/WebAPI version leaving me free to drop in which ever one I want/need to use, well within reason, like I don’t expect Umbraco to support MVC 1, but fact that I’d need to change the core to support the version bump is what I have issues with.
--
You received this message because you are subscribed to the Google Groups "Umbraco development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to umbraco-dev...@googlegroups.com.
To post to this group, send email to umbra...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/umbraco-dev/dbca9f76-4957-4a56-b378-4cf81a16dd93%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
I’m going to disagree with you two here, SemVer is important and should be tied to feature development. The point of SemVer is to give developers a level of confidence around releases and that they won’t change their behaviour unexpectedly.
As someone who is building extensions on Umbraco the fact that it isn’t SemVer is really frustrating, there were some changes between 7.0 and 7.1 that weren’t backwards compatible, meaning trying to make extensions to cover both can be difficult.
Throwing that out for an arbitrary versioning scheme makes cross-version extensions really hard. I’d much prefer SemVer, that major versions bring new features, be it MVC major version bumps or a new backend.
--
You received this message because you are subscribed to the Google Groups "Umbraco development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to umbraco-dev...@googlegroups.com.
To post to this group, send email to umbra...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/umbraco-dev/0595126d-8fe4-40e8-b5cb-a3cabbe06e14%40googlegroups.com.
Throwing that out for an arbitrary versioning scheme makes cross-version extensions really hard. I’d much prefer SemVer, that major versions bring new features, be it MVC major version bumps or a new backend.
Sorry Morten, I must have misinterpreted the points you were making on naming vs versioning.
From: umbra...@googlegroups.com [mailto:umbra...@googlegroups.com] On Behalf Of Morten Bock Sørensen
Sent: Thursday, 1 January 2015 8:41 PM
To: umbra...@googlegroups.com
Subject: Re: MVC 5 + WebApi 2
On Thursday, January 1, 2015 7:44:14 AM UTC+1, Aaron Powell wrote:
--
You received this message because you are subscribed to the Google Groups "Umbraco development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to umbraco-dev...@googlegroups.com.
To post to this group, send email to umbra...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/umbraco-dev/94359548-cc09-4d08-9beb-48e00837d68b%40googlegroups.com.
The reason the strict dependency in Umbraco is a problem for me is that Umbraco is a CMS, it’s good at doing content management but it is not good at describing how I should write my application.
One thing that I’ve always liked about Umbraco over other CMSs that I’ve used is that it gets out of my way in generating HTML, meaning I can do as crazy a HTML design as my designers come up with. I’d like a similar thing with the dev side, if I want to use MVC5 Umbraco shouldn’t prevent me, it shouldn’t have to ship it in-the-box but through binding redirects there should be no reason I should have to recompile Umbraco.
From: umbra...@googlegroups.com [mailto:umbra...@googlegroups.com] On Behalf Of Shannon Deminick
Sent: Friday, 2 January 2015 11:19 AM
To: umbra...@googlegroups.com
Subject: Re: MVC 5 + WebApi 2
@Aaron - I would also love it if we had a codebase that supported both MVC4/5 and WebApi1/2 but it's not possible because of Microsoft's changes. As noted, this is mostly due to their backward compatibility changes for these assemblies: Microsoft.Web.Mvc.FixedDisplayModes, Microsoft.Web.Helpers. There's a reason MS had to make major version changes too since their code isn't 100% backwards compatible. I'm not sure why you see this as a 'bigger' problem, it's just the way things are and is outside of our control. That said, there is a pretty ugly way that we can make Umbraco's core support both: We create a separate DLL called Umbraco.Web.FixedDisplayModes which contains the fixed view engines and replaces the normal ones on startup. We use reflection to apply this logic (rev: 38f3e3dd6876fdec9fe649579390c91d710da2ee) to see if HttpRequestMessage has a RequestContext property.
--
You received this message because you are subscribed to the Google Groups "Umbraco development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to umbraco-dev...@googlegroups.com.
To post to this group, send email to umbra...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/umbraco-dev/c0667953-24d0-4fad-929d-4bcf795c9d75%40googlegroups.com.
This is a challenge of product development where extensibility is a core feature (for extensibility I’m not just talking about creating packages but also creating sites that have functionality other than plain content publishing).
For me this comes back to my previous comment, that Umbraco is great at content but I want it to get out of the way when I build my application.
From: umbra...@googlegroups.com [mailto:umbra...@googlegroups.com] On Behalf Of Niels Hartvig
Sent: Friday, 2 January 2015 8:51 PM
To: umbra...@googlegroups.com
Subject: Re: MVC 5 + WebApi 2
Great discussion!
--
You received this message because you are subscribed to the Google Groups "Umbraco development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to umbraco-dev...@googlegroups.com.
To post to this group, send email to umbra...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/umbraco-dev/84a3a758-151f-4b9d-a34f-43b91a134f8c%40googlegroups.com.
Did you read my points above? There's a reason Microsoft made their own major version changes... Because they've made breaking changes in their code and in their own compatibility with their own assemblies. We have a product that is built on these assemblies, I'm not sure how we would have been able to predict the future and what breaking changes would have come in newer versions of assemblies we reference. Also you cannot avoid a recompilation if Microsoft's breaking changes affect you... Again this is out of our control.
I've listed 6 possible solutions for moving forward and dealing with the upgrade, including an option where we could release a version that would allow you to upgrade manually with assembly redirects. Would love to hear some opinions on any of those options or any idea's for options that haven't been proposed.
Sent from my phone
> The other question we need to ask is how important people think having MVC 5/WebApi 2 support is, or if people would simply just be happy to wait for the upgrade in v8.
I guess this is the crux of it; how much demand is there for immediate MVC 5 support?
Judging from the issue tracker, it seems more of a "would be nice", rather than "need it right now".
I'd go with Option #1 (wait until v8). Then if there's a demand for it sooner, we explore Options #5 and #6. (Although #6 is hacky, I think it would work well for implementers)
re: SemVer - all valid points, I think it's worth more discussion, (on a separate thread).
Cheers,
- Lee