Sitecore: Enterprise CMS with Excellent .NET Integration

Sitecore is an excellent CMS. Although it is expensive (50K just to get in the door, is what I heard), it has many features that integrate with the Microsoft .NET stack that make it appealing. Among them are View and Controller renderings.

A view rendering is a way to hook a SiteCore page object with .NET code. It is perhaps the most simple way, as in it a Sitecore page references a view rendering, which then renders a traditional view in the MVC framework. This is great for getting a feature or application up and running quickly, however, it does not have the power or flexibility of a controller rendering. A controller rending is when a SiteCore page references a rendering that in turn references a controller, and a controller action if necessary, which then can return a view to the Microsoft MVC framework. This is the better choice in my opinion as it follows the traditional MVC architecture style most closely. In SiteCore, it is also possible to reference MVC models, but this is best left alone, as it opens the door to misuse of the model in which code that should be in a service layer ends up in the initialization of the model.


Example of a controller rendering in Sitecore: