Orchard a Microsoft .NET CMS (content management system) is our go-to framework and content management system here at Atilus. Today I thought I’d work with Bryan our lead-developer, and Harry to explain why this is our go-to tool for client websites, particularly when clients need (or may need in the future) larger scale development and functionality. First let’s better explain “frameworks” and “content management systems.”
What is a Content Management System?
Bryan created a great post some time ago which discussed some of the details of a CMS, but I figured I’d review. A content management system (CMS for short – and I’ll use the shorthand throughout the rest of this article) is a tool to help a business more quickly and easily manage a website. If you think of a website as a big factory or store front I think you’ll get the picture.
A CMS analogy:
Think of your website as an actual store front. How did it come to “be?”
A (land/property) developer said “hmmmm…. there should be a building here – I think I’ll build one.” And so they did the following…
- Start with Site Selection – finding the right plot of land (combination of a street address and the actual land).
- Then they built a foundation – cement in ground, pull in required lines, etc.
- Then you layer on the frame – Steel, Cement, wires, etc.
- Sprinkle in all of the cosmetic details – walls, colors, doors, windows, etc.
- And you’re ready to open.
This matches closely to the process of building a website on a C MS:
- Start with Site Selection – What domain are you going to use? Where will your website be hosted?
- Build a foundation – Using a combination of a database and programming language (CMS) where will I build the frame on top?
- Frame – Build out and code HTML, JS, etc.
- Costmetic Details – Imagery, colors, pictures and styling (CSS)
- And you’re ready to open.
And similarly just like your retail shop you can make certain changes. I’m sure we’ve all painted a wall, hung a picture – or cleaned the windows at our shops or in our homes (easy repairs). It is a content management system that allows you to do this – without knowing programming or how to code. And the more elements you’d like to customize without having a degree or certification, the more you’re offloading tasks to your foundation (your cms) – the more you’ve asked the developer of your new property to make sure that certain elements are modular, that they can be easily adjusted and changed in the future.
A content management system allows you to update your website.
This is similar to customizing a CMS – which most of you are already familiar with this. If you’ve ever installed a plugin on wordpress, you’ve “customized a CMS”. That plugin you installed has extended WordPress to do what it is you need it to do.
But what if that plugin doesn’t work correctly, doesn’t do exactly what you need it to do – or worse, isn’t updated and is a potential security vulnerability (as Bryan outlined in his previous post)? All of these questions come into play while we’re working with a client in the beginning stages to assess various CMS’ for their business. And continuing the above analogy pretty soon – if the land isn’t big enough, or if your foundation isn’t strong enough – you’ll HAVE to move. You’ll have to go to a new piece of land, and build – or find – a new structure to support your current size.
When working with clients (particularly in the beginning) we try to gain a sense of where they are now, but perhaps even more importantly – where do they WANT to be in 2, 3, or 5 years (and time does move quickly!). Because if we use the right tool that is a combination of what they need now, and allows for the flexibility and extends the way they need down the road, we’ve shaved tens of thousands of dollars off of their budget – and who knows how many painful man hours.
So selecting the right system, and working with a provider you can TRUST to select the right system is crucial. Let’s go just one step further before going into Orchard:
So the typical larger company (10+ employees, $1mil revenue+) or one with a complex website will go through a process that looks like this:
- Build a website (or building) knowing as much as possible ahead of time.
- Add to it and customize it as much as possible (more below).
- If a point is reached where size or complexity is too large for current foundation – a new foundation (CMS or building) is built or sought out – a new server selected, etc.
Orchard Microsoft .NET Content Management System
So having explained what a CMS is at a fundamental level – as well as the process we think about when selecting a CMS as a vendor, and how important it is for clients to understand why careful thought around this can save (or cost) tens of thousands of dollars let’s talk about Orchard.
First, the name – it elicits dreamy images of horses, meadows, and dropped, slightly rotting apples. A young woman, barely 20 with auburn hair emerging from the fields of sweet ripe fruit. She pretends not to see you as she gets closer, but you know she does. She turns, looking directly in your eyes. As she gets closer, she moves her arm gracefully up – your eyes locked, hers never wavering. She plucks an apple from the tree, bringing it to her pursed lips – you part your own in anticipation – as she takes a bite. You can taste it.
First it’s free and open source. This is great – we don’t need to pass on any additional costs to our clients, and with a large world-wide developer community behind it (as well as Microsoft itself) we know bugs are being fixed, updates done, etc. What is unique here though is that it is also built on .NET 4.5 (with MVC). As a team we have a ton of experience in .NET and there are lots of great features included in .NET. The source is C# which is the programming language we’ve been using for 10yrs+ or so now since .NET was released.
Again, it uses .NET MVC – take a look at Bryan’s previous take on why MVC is amazing. Orchard’s use of the Razor View Engine also allows for easy templating, so we can quickly take the designs clients have approved and get them up and working.
Outside of the code, there’s a lot of extras that help us get our job done faster, and help our cleints including an easy to use admin panel, really fast load times (both for updates, as well as display of content, integration with Azure, etc.) all of which add up to provide a great end-visitor experience and to increase search engine optimization.
For times when clients out grow the basics of a CMS, Orchard is modularized, allowing us to easily add new modules and functionality – particularly custom functionality that doesn’t yet exist (and doesn’t exist via WordPress plugins). Additionally, because of the way the modularization has been implemented upgrades to the core of Orchard ensures things don’t break and modules can be easily updated as well. There is also builtin security permissions that are easy to adjust when coding new modules so you can make your module configurable through the admin panel.
Finally, getting really technical the database structure is made to reuse tables for multiple purposes and you can add your own tables through migrations. This is incredible for large-scale sites where things might change and really improves performance.
All technical stuff aside Orchard CMS:
- Is fast
- Easy to code for
- Easy to use (for clients, and us as admins/devs)
- Can scale
So beyond the technical, after years of researching and using solutions, Orchard has become our clear winner for our CMS of choice. Although every client site or application is evaluated on a per project basis – I hope you have a better understand of how vital picking the right tool for the job is – and how it affects time and money both now and in the future.
If you need help with your own Orchard project, or are thinking about developing an application feel free to contact us.