Orchard should move to framework 4.5


I am sure I am not the only to have modules which need the new features of 4.5, especially the async, webAPI and httpclient.


sebastienros wrote Jul 6, 2013 at 6:36 PM

We agree, not right now because 1.7 is too close and the risk to break something too high. We will have to migrate at some point as MVC5/WebApi2 will imply 4.5 at least.

IntranetFactory wrote Jul 7, 2013 at 1:37 PM

For us support for 4.5 is the most important missing feature - so it's a kind of frustrating to learn that support for 4.5 will not be included in 1.7

Is there anything how we can help to get 4.5 supported?

CSADNT wrote Jul 7, 2013 at 2:42 PM

I understand its not so obvious, especially if we want oOrchard supporting async and await related to its own structure related to threads / context management ?
For a basic usage, everything runs Ok in 4.5 from my personnal usage.

sebastienros wrote Jul 7, 2013 at 5:53 PM

What does it take you to be able to use 4.5 ? I assume you just have to change your project's target framework to 4.5, and it will work with Orchard.

CSADNT wrote Jul 7, 2013 at 6:08 PM

Yes and some web config updates, because not using advanced features.
Some modules need some updates as Nick OAuth, I am not sure everything is OK concerning the references used by Orchard.
The point is that my implementation being 'local' it could take months before some compatibility pb arise, that's the benefits of a community...

IntranetFactory wrote Jul 7, 2013 at 6:41 PM

I thought "It was decided in the last meeting we will upgrade it." https://orchard.codeplex.com/discussions/407226

So if it's just an simple and easy switch of the target framework and some minor changes in the config files - then I don't understand why the consensus from April(!) about switching to 4.5 should be dumped.

CSADNT wrote Jul 7, 2013 at 7:51 PM

Some priorities are certainly higher than 4.5.
And from what I see there are few resources acting on 'real' pbs.... only Sebastien seems acting here (thanks to you).
This is certainly inherent to Orchard origins.
I suggested to deliver 2 solutions in a 1st step.... letting people chose.

BertrandLeRoy wrote Jul 7, 2013 at 9:40 PM

Yes, it was decided, but we are too close to release and this has too much potential to destabilize, so we are postponing. As far as we know, Orchard runs just fine on 4.5. What was decided was to cut support for 4.0, but you should not need that except if you are a module or core developer wanting to use 4.5 features.
It was an engineering decision not to cut 4.0 in 1.7. The decision to cut it in a future release is still valid.

IntranetFactory wrote Jul 7, 2013 at 10:33 PM

"runs just fine on 4.5" and "too much potential to destabilize". The two sentences seems a kind of contradictory...

I wouldn't complain if I'm not needing 4.5 e.g. to get SignalR & websockets transport finally integrated.

Is there a place to follow, comment or vote on these "engineering decisions" ?

BertrandLeRoy wrote Jul 7, 2013 at 11:38 PM

No they are not contradictory. Read again. It's removing 4.0 that has potential to destabilize. Support for 4.5 is already there and is not going anywhere. It is in 1.6 and it is in 1.7.

BertrandLeRoy wrote Jul 7, 2013 at 11:39 PM

To answer your other question, engineering decisions are made by the engineers who implement the core features. They are not voted on or necessarily discussed publicly.

IntranetFactory wrote Jul 8, 2013 at 12:46 AM

"They are not ... necessarily discussed publicly." Sorry, stupid me thought that the decision process is some how transparent...

...or that at least the outcome of the secret decision process is announced somewhere to allow the non (core) engineers to adjust their plans

BertrandLeRoy wrote Jul 8, 2013 at 1:52 AM

Can you stop with the sarcasm, please? We've always been very clear what the process was (see http://weblogs.asp.net/bleroy/archive/2012/01/30/about-orchard-governance-and-microsoft.aspx and http://orchardproject.net/governance). In particular: "The committee’s role is to give the project’s strategic direction, and to decide what feature areas are going to be in the next releases. It is not to make technical decisions or build the product [...] Feature teams are being given a feature scope by the committee, and they are then free to make their own decisions on technical design."
The reason for not subjecting engineering decisions to votes is that the last thing we want is for Orchard to be designed by committee. We know how harmful that can be to a project. We prefer to trust our engineers to make the right technical decisions, under a strategic direction that is established by the community.

BertrandLeRoy wrote Jul 8, 2013 at 1:52 AM

Also, the outcome of the 4.5 discussion has been publicly announced at the last public meeting.

CSADNT wrote Jul 8, 2013 at 7:55 AM

We can't say its not clear.
But may be having some 1.745 branch just as for clayless....it would allow for a smooth migration.
Is this idea useless ?

BertrandLeRoy wrote Jul 8, 2013 at 9:24 AM

Everything takes time. Focusing on shipping right now. After that, why not?

IntranetFactory wrote Jul 8, 2013 at 10:42 AM

I know http://orchardproject.net/governance: "No decisions about the project’s direction, bug fixes or features may be done without community involvement and participation. Discussions must begin at the earliest possible point on a topic; the community’s participation is vital during the entire decision-making process." That was the reason that I had - the obviously wrong - thought that I should find some posts about the reversion of a prior public decision also somewhere in the forum.

sebastienros wrote Jul 8, 2013 at 5:38 PM

"runs just fine on 4.5": take Orchard, put it on a machine with 4.5 only => "runs just fine"
"too much potential to destabilize" => make 4.5 mandatory => iis 6 doesn't work anymore, untested 4.0 libraries might behave differently

Forcing 4.5 "right now" would require too much testing and postpone 1.7 further more. That's it, so we are waiting for another release to do that. Also, I still don't see any reason you could not use 4.5 compiled libraries on the current version of Orchard.

But as you seem eager to having it on 4.5 we could use your help. We could work together and other folks on a fork, and make a version ready. It means also defining what has to be changed/removed in all web.config, and also try to define what my be broken with the change (IIs 6.0 for instance) so we can release some recommendation.

sebastienros wrote Jul 8, 2013 at 6:01 PM

@CSADNT: I had not seen your comment, yes I agree with the branch. In a fork right now would be better as we could have more participants without having to give dev permissions to everyone.

IntranetFactory wrote Jul 8, 2013 at 7:02 PM

We'd be more than happy to help. Just let me know what needs to be done, how to proceed and I'll assign the work immediately to one of our developers.

sebastienros wrote Jul 8, 2013 at 7:23 PM

Awesome. Let's talk on skype in order to define the goals, and we can open a forum thread to explain what the plan is, and if anyone has anything to add, like we almost always do.

BertrandLeRoy wrote Jul 8, 2013 at 8:38 PM

You're also more than welcome at our weekly community meetings: that's where the public decision making about direction happens, so if you want to give your input, that's the place. The 4.5 decisions were discussed there. You can also check out the videos. And of course, as Sébastien mentions, forum threads and Trello to coordinate engineering efforts.

erik_oppedijk wrote Aug 23, 2013 at 8:28 PM

.Net 4.5 support is now in a seperate branche called feature/fw45

Should be complete, projects are converted to 4.5, web.configs all updated.

CSADNT wrote Oct 9, 2013 at 9:22 PM

Hello Erik, I see you have added vs2013 for 4.5 and also noted, dowloading the 2013RC that it is using 4.51.
Seems that the final 4.51 for .net will precede vs2013 final from some ....hours, and it seems it will be annouced in next days.
May be there are no differences in csproj settings and web.config between 4.5 and 4.51, but I hope we will use 4.51 because 4.51 contains some evolutions (exemple webapi CORS) not in 4.5.
Are you building/running Orchard with vs2013 RC ?

sebastienros wrote Oct 9, 2013 at 10:13 PM

@CSDANT, there should be no difference, let me check

CSADNT wrote Oct 9, 2013 at 11:02 PM

Yes I know my pseudo is strange...but thanks :)...and I also suffers keyboard dyslexie.