web 2.1

Sitecore vs. Umbraco – Part 2

API and documentation

As noted in the previous part of this comparison, some published articles have stated that clients couldn’t tell the difference between Sitecore and Umbraco. Again, it’s obvious that no developer from the clients have had a look at the software... Any developer will love the Sitecore API. And if you switch between Sitecore and Umbraco in different projects, it will always be a day of joy when you get back to good old Sitecore. Some Umbraco fans will probably disagree, but my bet is that they have never worked with Sitecore. Sitecores API is grownup, where Umbracos is at best a teenager…

 

Sitecore 6 Documentation

Sitecore 6 Documentation Overview

Umbraco Documentation

Umbraco Documentation Wiki

 

I’ll try to make it a bit more tangible:

Sitecore has a well structured, and (in some areas) well documented API. It helps the developer, making almost any task possible. And if not, the provider/pipeline/event model lets you implement your own solution and through configuration instruct Sitecore how to use it. I can’t think of any area where you are left hanging when challenged by a difficult requirement. This is the case both in regards to the administration and front-end rendering. Nice...

Sitecore has historically had some problems keeping the documentation updated and sufficient. This has changed in the past year or so, and now they can show off a really comprehensive library of structured documentation covering most areas. Still you can find developers complaining that they are not able to find solutions to the problems – but it just goes to show that you can not document everything.

Umbracos API on the other hand is – I’m sorry to say – very poorly structured. I’m told one of the main reasons for this is the politic to always keep backward compatibility, which makes upgrading a breeze (I’ll get to upgrading strategies in Part 3). Umbraco has added an Event model to enable developers to extend the core functionality. It’s still not as extensive and elegant as the Sitecore implementation, but I thought it was worth mentioning.

The documentation is wiki-based and somewhat intermittent, but I think that the most experienced Umbraco developers will know where to look… (I think/hope this will be better in the next release – at least Umbraco has announced that version 5 will be very well documented). This is probably only a problem if you need to do something beyond “standard”. Again – if you can keep within the lines, Umbraco is a really good choice. If not, maybe the community can help (I’ll get to the community comparison later).

One last note on API… during my work with this blog post, I talked to some of our senior developers with experience in both systems, to get their opinion on some of the topics. When discussing the APIs I noted some of the comments:

  • ”Umbracos API? Don’t like it…”
  • ”Umbracos API is very cluttered …”
  • ”Well, Sitecore is just superior…”

(Sorry it seems so single sided, but these were the actual words)

 

Project startup costs

If you choose one of the larger Solution Providers this probably makes no difference. The cost of the development setup is likely to be more or less the same, so I’ll try look at it as if I was a developer having to setup the environment from scratch with little or no experience.

Sitecore can be quite hard to get started with. It takes time and effort to get a running environment. The larger Solution Providers has solved this by automating much of the process, but to the inexperienced developer it can be a challenge.

Umbraco on the other hand is very easily adaptable. A developer can even use the Windows Web Platform to get going in a matter of minutes. Really nice! Due to the Open Source community, you can download complete packages of running websites to get you going. Simple and easy…

 

Sitecore 6.2 Installation Guide

Sitecore installation guide TOC (60+ pages)

Umbraco Windows Web App Gallery

Umbraco on Windows Web App Gallery

 

Open Source vs. Commercial software.

I won’t go in to the discussion of which model is better – though some may think this is the real issue when choosing between Sitecore and Umbraco.

First of all, let’s talk about the price. Sitecore comes with a price tag – Umbraco doesn’t. One of Janus Boyes main arguments is that it’s not always going to be cheaper just because the entry price is lower. I totally agree, and it should not be necessary to explain this further.

On to more interesting subjects…

One of the main issues with Umbraco being Open Source, is that the people behind the software sometimes prioritizes adding features instead of correcting minor or UI bugs. However Umbraco has given the community a lot of control regarding the priority of issue-fixing and feature implementation. This means that critical bugs are fixed really fast. It also means that if you find a bug that is “minor” and doesn’t apply to many users, it probably won’t be fixed in the near future. This can be frustrating – especially as a Solution Provider having to explain to the customers why minor but obvious bugs isn’t fixed… A big benefit is however, that you can download the software and debug it yourself. You could create your own build or create a patch and commit it to the Umbraco TFS, but in my experience this is rarely done.

In Sitecore you will also experience bugs. Like most other commercial software products, they have a standard procedure when this happens. You contact the support department, and usually you get a response within a day or two. If the support department is able to recreate the problem, they always give you some advice on how to fix it (or circumvent it anyway). Historically this message was usually “It has been fixed in the latest release. You need to upgrade your solution”. I’ll get to upgrade issues later, but let’s just say that in earlier releases of Sitecore this was not a good message…

One option regarding help for Umbraco is their Pro product. In the projects we have used it, it has been very extensive and professional. Great value.

 

Sitecore Support

Sitecore Support overview

Umbraco Pro

Umbraco Pro

 

System community

Umbraco has the great benefit of being Open Source. This attracts many very dedicated developers, and a lot of these share their experiences and source code frequently. As stated earlier, this also includes packages of complete websites and modules. You have got to love the commitment from the Umbraco community. Umbraco keeps servicing the community with initiatives like the relaunch of http://our.umbraco.org, their MVP program (Most Valued People), not to mention the annual CodeGarden.

Sitecore has struggled with establishing a community in many years. Early on, they saw that they needed to provide the community with information and utilize a platform for them to communicate and share experiences. The Sitecore Developer Network has been the answer so far, but still it doesn’t compare to the Umbraco community which is more user driven and widespread.

It seems that Sitecore is really giving this a big effort, though. A couple of years ago they introduced an MVP program (Most Valuable Professionals), encouraging the community to speak up, help each other and share experiences. This has spurred a number of initiatives such as Learn Sitecore (http://learnsitecore.cmsuniverse.net/). Sitecore also facilitates a Shared Source library featuring 100+ modules (which is like Open Source’ish), but still it seems the Sitecore community struggles with a fear of sharing source and thereby giving a possible competitor an edge (just a hunch).

Anyways - Cudos to Open Source and Umbraco.

 

Sitecore Developer Network

Sitecore Developer Network

Our Umbraco

Our Umbraco

 

Up next...

Hope you’ve enjoyed Part 1 and 2. In Part 3, I’ll compare “Upgrading strategies”, “Multi developer setups”, “In the near future” and try to give some sort of conclusion to the comparison.

Tags:

Categories: Sitecore | Umbraco

Sitecore vs. Umbraco – Part 1

Editor / Administration UI.

This is an area where the two systems differ a lot (screenshots below). As I stated in the introduction post, one of the reasons I’m writing this comparison in the first place, is because I think a lot of the other articles published have been somewhat superficial. At least one of the other articles has stated that clients couldn’t see the difference between the two systems, and my guess is that the clients never actually had a look at the UI.

 

Sitecore Editor UI

Sitecore Editor UI

Umbraco Editor UI

Umbraco Editor UI

 

Where Sitecore has put a lot (!) of effort into enhancing the user experience, and make it seem almost like a remote desktop, Umbraco has kept the interface quite simple. Some users may get overwhelmed by the features offered by the Sitecore UI, and to the inexperienced computer user it can be too much (I guess). Most users however get an “oh, it’s just like Windows” experience. The editors that is scared off by Sitecores interface will almost certainly be more comfortable using Umbraco. Umbracos UI has had some “known bugs” for a number of years (however, I’m told it should be fixed in the next release...), but the interface is easy to understand and editors can get working really fast.

The Sitecore interface is based on XAML, and is “easily” extensible. To make a custom application look and feel like at seamlessly integrated part of the interface it still takes some effort, but in my humble opinion Sitecore has provided all the tools. The Sitecore UI is made for tweaking and extensibility, where it is a lot trickier in Umbraco.

Sitecore also provides another way of editing content; through the Page Editor mode. This is basically like navigating the website editing the content directly in the design. Maintaining the content on your website surely can not be more intuitive than this… really!

The UI also gives the first hint of the main difference between the two systems. Where Umbraco is a really good alternative if you are looking for a basic CMS, Sitecore is (also) a development platform. I can’t think of an application you wouldn’t be able to build on Sitecore, and you get a lot of these out of the box. This has been a known strategy from Sitecore since the first release of version 5, where the Desktop was introduced.

 

Media management

In Umbraco the file and media management is based on the file system, leaving a lot of features unsupported. These include security (limiting file access to specific users), file versioning, ability to reorganize files etc.

Sitecore has handled this by treating media like any other content item. It is by default stored in the database giving all the flexibility of the generic content structure (including all the features not provided by Umbraco mentioned above). Even basic image editing features is included in the Sitecore Media Library.

There is no doubt Sitecores implementation is way better than Umbracos very simple and basic media handling.

 

Sitecore Media library

Sitecore Media Library

 Sitecore Image Editor

Sitecore Image Editor

Umbraco Media Management

Umbraco Media Management

 

Localization / Globalization

The language layer is built into the core of Sitecore. Content can exist in multiple languages, and you switch by using a contextual menu. You can still build single language solutions, or use your own globalization structure.

In Umbraco you have to build your own structure, and place the language versions side-by-side. You can quite easily implement some basic changes to the client, to make it a bit more user friendly, though.

In my opinion Sitecore has the upper hand on this one, especially if you wish to keep a similar content structure in multiple languages.

 

Sitecore Languages

Sitecore Languages

Umbraco Languages

Umbraco Languages

 

Analytics and reporting

This subject will be pretty much exclusively about Sitecore, as Umbraco hasn’t implemented any standard functionality.

About a year ago Sitecore announced the Sitecore Online Marketing Suite (OMS for short). It is actually a strategic move by Sitecore wanting to facilitate the complete marketing experience out-of-the-box. The system includes basic features like analytics and reporting, but it also enables developers to target content to specific users. The generic structure of OMS creates an abstraction layer between website user behavior and profiles created through the Sitecore Client. This will assign users a profile based on their decisions throughout the visit, enabling content targeting. The OMS also provides Campaign planning and many other features, better described in other more detailed articles and whitepapers.

My personal experience with the OMS is that it can be an extremely powerful tool if your requirements include marketing of some sort. If your solution is merely an information site (like governmental websites) my guess is that you probably don’t need it.

It is a very bold move by Sitecore to move into the analytics market (let’s face it – you can use Google Analytics if you just need to analyze the traffic on your site), but you have to admire the insight and ambitions they show. They’ve seen the lacks in the usual implementations of this, and have dared to take on the challenge. The next couple of years will show if they hit the spot.

 

Security and Workflow

Umbracos admin security model is pretty basic, and is probably sufficient in most small sites. However, if you need more advanced security features like limiting access to specific functionality, you will soon be challenged by the possibilities provided by Umbraco.

Sitecore on the other hand, can be secured in a very fine-grained fashion. Everything can be controlled through the Security Editor in a really flexible and intuitive manor. No need for custom implementations.

Both Sitecore and Umbraco have changed their security layer to the .Net Security Provider Model (In Umbraco this only applies to the front-end security). This makes it extremely easy to implement other authentication methods, such as LDAP. Sitecore has extended it with a couple of features (such as roles in roles), but it is pretty much standard.

 

Sitecore User Manager

Sitecore User Manager

Sitecore Security Editor

Sitecore Security Editor

Umbraco User Management

Umbraco User Management

Umbraco User Permissions

Umbraco User Permissions

 

Umbracos Workflow is pretty simple and linear. If you need advanced features, you’ll have to implement it yourself, which can be quite a challenge.

The Sitecore Workflow engine is like most other aspects of the system very extensible. Implementing advanced workflows in Sitecore is almost without limitations. It supports editorial, multistep processes including locking of content in order to prevent modification. Workflows can be assigned to all system users (including administrators) or just specific users or roles. However it is my experience that most clients don’t really need too much workflow. It may very well be, that this is a result of the Scandinavian attitude to hierarchy and business procedures, so please excuse me if this does not apply in your situation. Anyway, I think that the Workflow engine in Sitecore should suffice in all situations. If not, my advice would be to reconsider the requirements.

 

Up next…

Hope you’ve enjoyed Part 1. In Part 2, I’ll compare “API and documentation”, “Project startup costs”, “Open Source vs. Commercial software” and “System community”.

Tags:

Categories: Sitecore | Umbraco

Sitecore vs. Umbraco – introduction

In the last couple of years, a number of bloggers and journalists have given their take on the comparison between the two Content Management Systems – Sitecore and Umbraco. Both of them were founded in Denmark about 10 years ago, and have since grown and have had much success, both nationally and abroad. So a comparison is very much in order.

clip_image002

clip_image004

So why have I decided to share my opinion?

Well, the main reason is that many of the other comparisons have been quite superficial, and I would like to give a more detailed and complete description of where the two systems differ. The comparison will be a bit long, but – I hope – more fulfilling.

My qualifications for making a comparison…

I work as Head of Development at 1508 A/S, a Digital Design Agency specializing in implementing excellent design and user experiences in both Sitecore and Umbraco. We have implemented large scale solutions on both platforms and have a lot of experience with both systems. About 75% of our CMS solutions are based on Sitecore, the rest uses Umbraco. (And - just for the record – this blog post is my own opinion, and should not be considered an official statement from 1508).

Janus Boyes blog post…

One of the bloggers who has blogged about Sitecore vs. Umbraco is Janus Boye (check out http://www.jboye.com/blog/). Janus wrote a post headlining “Why pay for Sitecore when you can get Umbraco for free?”. My first thought was “ok, so he thinks Umbraco is just as good as Sitecore, and can see no reason why anyone should pay the license fee”. However, if you read the entire post, this is not the case. He actually advises his readers to look at which system will meet the requirements most efficiently. I totally agree with this advice. Some of the people I’ve discussed the article with, didn’t read the entire piece (or merely the headline), and had a wrong view of Janus’ opinion. Hopefully the headline will match the content better next time.

My comparison is mainly from a developer point of view, but I’ll try to keep it fairly simple.

I’ll publish the complete comparison in 3 parts, and the topics will be as follows:

Part 1:

  • Editor / Administration UI
  • Media management
  • Localization / Globalization
  • Analytics and reporting
  • Security and Workflow

Part 2:

  • API and documentation
  • Project startup costs
  • Open Source vs. Commercial software.
  • System community

Part 3:

  • Upgrading strategies
  • Multi developer setups
  • In the near future
  • My conclusions

First part will ne online in a few days.

Hope you’ll enjoy the reading…

Tags:

Categories: Sitecore | Umbraco