The CMS ecosystem and Microsoft

CMS is extremely important strategically for any web company. About 35% of web sites use a CMS, and the top ones are all PHP (WordPress on its own is more than 20% of all web sites). In other words, if you care about the market share of your web platform, you need a good CMS running on it.

Before I left Microsoft, I was working on Orchard. I’m one of the people who founded and built it, from within the ASP.NET team, with great support from management, even after I left the company.

Today, the team has one engineer working full-time on the platform, and that’s marvelous. It’s not just any engineer either, it’s Sébastien Ros, one of the best developers I know. Microsoft is one of the main sponsors of the Harvest conference, and they also use Orchard in several web properties.

For all these reasons, I’m having a really hard time understanding the deafening silence from Microsoft’s web platform team about CMS in general, and Orchard in particular. Updates on what’s new on the platform never include Orchard. For instance, when I asked some of the Scotts (Hanselman and Hunter; and yes, you have to change your name to Scott in recognition of the great Gu if you want to join that team) on Twitter about why there wasn’t a video about Orchard among their great new batch of “Building Modern Web Apps” videos, I got what looks like a knee-jerk reaction from Scott:

@shanselman: @bleroy @coolcsh and the DotNetNuke one and the sharepoint one and the umbraco one and the sitefinity one? You're welcome to make them.

I have several things to say about this.

1. I did make videos, lots of them, on my own time, and others do too. None of them have been relayed in any blog post or tweet that I’ve seen from the team. And of course, we’re talking about Microsoft producing new videos here, not some guy making a YouTube clip…

2. There are videos about WebAPI, but not about ServiceStack; or about MVC, but not Nancy (although to be fair, Nancy does get some official support from Microsoft). Microsoft talks a lot about NuGet (an Outercurve project, like Orchard), but not of OpenWrap. Scott’s argument does not seem to be a valid comparison.

3. Yes, you should absolutely talk about and support the .NET CMS ecosystem. Why exactly shouldn’t you talk about DNN, Umbraco, Orchard, and even Sitefinity? They are all beautiful platforms that help the .NET ecosystem grow. Indeed, why not have Microsoft contribute to DNN and Umbraco as well?

We love C#, we love ASP.NET, and we love Orchard. Does Microsoft?

UPDATE: I got an answer from Scott Hunter on Twitter: "@coolcsh: @bleroy @shanselman @sebastienros We might have an exciting announcement around Orchard soon. We will try and push more." This makes me quite happy. That's all I'm asking for and I thank Scott for it. Cheers, carry on then.


  • I understands you. But I think they can't make videos for everything

    Even if they want. Maybe they dont have a person who knows all these technologies AND is the kind of people who record videos like Hanselman.

    It's more easy to talk about what you built.

  • @Felipe: my argument is precisely that what they choose to focus on in their public communication reflects a troubling neglect of the very important topic that is CMS. They *do* have a good public speaker who also knows the technology, because he built it: Sébastien, who has consistently very high evaluations when he speaks.

  • I'm somewhat confused by why you see it's Microsoft's responsibility to do this, or why it's the job of the asp.Net team to promote orchard.

    Back in 2012 when governance of orchard was handed over to outercurve I saw it as Microsoft cutting ties (for lack of a better phrase) with orchard. Sure they still sponsor a full time developer, but it's not their project anymore.

    This is how I read Scott's comment, that why should Orchard get any more promotion by Microsoft/ASP.Net team than any other CMS offering on the .NET platform? To make it a fair playing field they would need to promote all offerings equally because after all to Microsoft they all are equal.

  • @Aaron: you're misunderstanding what I'm saying and you're getting the history wrong.

    We are already producing a lot of content around Orchard, the point is not at all to ask Microsoft to take that over. What I'm asking the team is to take CMS seriously, and to include it in its communication, to keep it in mind in what they do.

    You misread me if you think I'm asking for special treatment for Orchard. Quoting from the post: "Yes, you should absolutely talk about and support the .NET CMS ecosystem. Why exactly shouldn't you talk about DNN, Umbraco, Orchard, and even Sitefinity? They are all beautiful platforms that help the .NET ecosystem grow. Indeed, why not have Microsoft contribute to DNN and Umbraco as well?" Am I not saying exactly the same thing you are?

    Governance of Orchard was never "handed over to Outercurve". Outercurve has always held the copyright on the source code, it was a legal set-up that enabled us to write open-source while being MS employees, that's all. That happened way before the team reached a peak of 12 people. That can't be called "Microsoft cutting ties". The governance was much later handed over to the community, at my initiative. The idea was to make it a real community-driven project, not to "cut ties". If anything, it was the project getting some independence from Microsoft management, not the other way around (I could tell you a few horror stories that explain why this was necessary). I wrote a post about it, look it up. A few months after that happened, NuGet followed our example and applied the exact same ideas. Search Phil's blog for the post he wrote about that, it cites Orchard as the inspiration.

    NuGet, by the way, is under Outercurve too, but is regularly included.

  • It is indicative of the fact that MS still doesn't know how to relate to the O/S world. We (DNN community) are doing all we can to have the Winstack taken serious as a basis for Web App development, but it's disheartening that we never seem to get the leg up in return by MS.

    Note: It's not that they need to do a video *for* us. Like with Orchard there are enough videos out there. It would've been nice for them to mention these CMSs and show some examples of them.

  • I can understand why they give nuget more airplay - its an integral part of .net development, whereas orchard is a higher level application framework i.e. if you develop .net you need to know about nuget, same can't be said of orchard. You're prob right to try provoke a response tho. Something is definitely fishy with the lack of interest Microsoft shows in Orchard. And tbh id prefer if they came out and said whats on their minds. Its the main reason I've never bothered to learn orchard. I'm not privy to all the internal politics here but if ms tech evangelists never mention a product then to my mind it means they've got some beef with it and i don't want to waste my time learning something if thats the case.

  • For me, the best part of Orchard is the content type system. All the rest of it is just a lot of code and effort to create a browser-based way to do what I'd much rather do in Visual Studio directly. At the end of the day you end up with all the same problems of any CMS, namely that anybody other than an expert using it usually creates crap with it and when an expert uses it, he or she will constantly wish there wasn't a CMS involved. Instead of getting to it, you're spending all your time trying to figure out how to get the CMS to do it.

    Perhaps you disagree with me there. Where I come from is that I've been working with CMS's for a long time and this nut still isn't cracked. If you can bear with me for another minute...

    The killer "app" for me would be to take the Content Type system, the Users/Roles system, etc... (basically everything except the "generate HTML" parts) from Orchard, wrap a REST-based API around it and turn it as an Azure service (like Azure Mobile Services). Literally call it "Azure Orchard" or "Azure Orchard Services."

    This would be an instance of Orchard, with the admin UI, minus all the pages/templates/widgets/etc... just content types, content, workflow, users, roles, etc...

    You then access that from ANY web project (ASP.NET, PHP, I don't care) as a data backend and you've really got something.

    Think Contentful or Osmek only WAAAAY better. There literally is no such thing and it's exactly what every medium to large scale website needs.

    A super flexible, brilliantly-coded backend that I ca access via an API and do whatever I want in the middle and frontend.

    The beautiful part would be you could still use the rest of Orchard to create your site if that's what you really need. But when you don't, you can still leverage the best part of the project, the backend.


  • @Chris: that already exists :) Watch this:

    You'll see that Sébastien is hosting "content as a service" on Azure, and uses it from a PHP app and on a Windows 8 modern app.

  • I'll check it out. Do you specific time in the video? If not, I'll dig.

    If so, this would be incredibly useful to me, but my suggestion goes beyond just being able to do it, however, and more to your original post - in terms of the Microsoft ecosystem.

    I'm suggesting it be used to create an official Azure product, not just that one can run it in Azure. Seems like a much better "Azure Mobile Services" basically. If Sébastien already has the tech doing something similar in Azure, sounds like it wouldn't be too far of a leap.

  • Also... where is this Orchard RestAPI from the video? Not in the gallery? I can't find it anywhere.

  • @Chris: I don't know. I'll ask Sébastien.

  • I always wondered if there was fear up the chain about creating confusion with it and Sharepoint. Sharepoint is such a cash cow and they don't want to do anything that could impact its sales. They are obviously two entirely different products with two different purposes but I could see a layman or a non tech executive not understanding the difference. Regardless, I think it's a big missed opportunity on the ASP.Net team. They have a fully baked CMS platform at their disposal that much of the .Net community knows nothing about. This platform should be front and center on the website and given far more love from that team. As much as that group does right this is one area, as you pointed out, where they are getting killed by the competition. Hopefully they figure this out because I don't think there is a better product\platform available out there.

  • Why are the wordpress parts up to 20% ? the answer is not PHP but simplicity, the main thing that lacks from Orchad.

    I agree that Orchard is architecturally well designed but it is too complex to be attractive.

    The content types module is effectively one of the best modules. But the lack of simple mechanisms to create relations and to create HTML renderings are some serious points that are againts Orchard in my opinion.

    If there is any roadmap for this beautiful CMS, I think that simplicity should one of the biggest priorities.

    Good luck

  • having worked on both sharepoint and orchard cms , orchard is by far better than sharepoint. And Im not talking as a CMS I mean as an app development framework.
    It lacks the marketing muscle behind it to move it to larger audiences.

  • I have to agree with Mostefai - it may potentially be more powerful than other cms's, but I have found it too complicated to figure out how to render some fairly standard stuff. I have an MVC background, so started to build a friend's product-based site early 2013 using orchard. Trying to learn 'the orchard way' of doing things was slow and difficult, when the only references were this site and the largely out of date docs on the orchard site.

    Given I was on a timeframe, I decided to cut my losses and switch to WordPress, despite only being loosely familiar with it. Obviously it's much more mature, but it was so much easier to find good tutorials and docs, and I had the whole site finished in the time it took me to get halfway with orchard. WordPress has many flaws, and the underlying architecture may not be pretty, but for most sites where I just want to get something done quickly it just works.

    Maybe I'll have time to look into orchard again this year, and hopefully things have improved, but I'd be surprised if my experience was isolated.

  • @bertrand or @chris, any word on whether Sebastien has the Orchard.RestApi module (prototype) available in source code anywhere?

  • Hello,

    If you are interested there is a strong Open Source CMS Project done with MVC 4.5 in Codeplex :

    Best regards,


  • @Chris & @Jeff: the feature is in a fork for the moment, but some of it should make it into core and/or a gallery module. We'll discuss it at tomorrow's community meeting.

  • Really excellent. Thanks for following up, Bertrand. Can't wait to see where it ends up.

  • For this reason, I am building a portal for Vendors, Agencies, Developers of .NET Content Management Systems -

  • I tried Orchard, twice. I found it quite slow on-premises and unbearably slow on Azure. To me it looks like a textbook excercise of style, appying all suitable patterns and abstractions, most of them leading to poor performance.

    Sure, you can add several levels of caching through various plug-ins, and things gets a little better but all those solutions have drawbacks and who wants to fight against his tools?

    When Orchard eclipses Wordpress performance-wise, I will certainly get a well-deserved attention. Start by getting rid of SQL Server. Entirely. A relational database is /not/ a document store.

  • @axelriet: that is weird. I run my own business on Orchard, hosted at Arvixe, and it's blazing fast, with or without caching. Faster than WordPress in fact (WordPress without caching is very slow by the way), despite this being a totally unfair comparison as WordPress is just a blog, and not a real CMS. The site itself runs on Azure and it's very fast as well. So are thousands of other professional (as in not textbook) web sites around the world.
    It would be interesting to know what you did exactly to make it that slow. There are a few classic mistakes such as having the database in a different data center than the web server that you'd want to check. But that would be a topic for the forums rather than the comments on this unrelated blog post.
    Do you have any evidence that SQL Server is responsible for the poor performance that you observed?

  • And how about Sitecore? That's perfect CMS written completely in .NET...

Comments have been disabled for this content.