Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

Overcoming the Nightmare of Extending your CMS

15 Feb 2012 1  
Content Management Systems include lots of features (blogs, news, permissions, versioning, etc.) that would be time consuming to recreate. This article demonstrates how Telerik has addressed this challenge with Sitefinity CMS.

This article is in the Product Showcase section for our sponsors at CodeProject. These articles are intended to provide you with information on products and services that we consider useful and of value to developers.

Content Management Systems (CMS) have become a critical tool for new web projects. A CMS provides lots of out-of-box features (blogs, ecommerce, search, events, forums, etc.) in a package that is easily managed by non-technical content authors. This allows web projects to quickly hit the ground running and prevents developers from reinventing the wheel for numerous common features.

However, each project will always have a handful of unique requirements not addressed by the CMS. Developers become responsible for extending the CMS to confront those missing capabilities. For many web projects, this is where everything goes downhill. Weeks later, you’re up to your eyeballs in someone else’s code and struggling to extend a system you didn’t design.

This Is A Big Problem

At Telerik, this challenge is a big concern for us. We have numerous partners who use Sitefinity CMS as the basis for their web projects. These projects required custom development on a fixed timeline. As a result, developers involved in these projects needed to become rapidly productive.

Sitefinity’s architecture was built to be very powerful and extensible. This means Sitefinity is provider based, contains LINQ support, a Fluent API, RESTful web services and numerous interfaces for implementing permissions, publishing, classifications, workflow and more.

However, this power created complexity for developers who were simply trying to add a small custom module (for example, a "Showcase gallery") to their web site. Learning how to implement the various interfaces required a lot of research. In the context of a small project, this consumed precious time.

To confront this challenge we needed to create an accessible tool that would enable customers to easily wield Sitefinity’s underlying power. In other words, we wanted to have our cake and eat it too.

The Cake Is Not A Lie

To overcome this challenge we talked with numerous customers to better understand the extensions being added to Sitefinity. From these conversations, the theme that quickly emerged was new content-types. All industries have data that is unique to their domain; theaters have movies, property managers have rentals, banks have loans, hotels have rooms, etc. These new content-types were the most common extensions developers are creating for their CMS.

We delivered our solution in Sitefinity 4.4; using a web-based "Module Builder" a developer can now rapidly create new content-types. This Module Builder will automatically generate the interfaces, API’s and widgets that previously needed to be created from scratch. However, these auto-generated modules are still extensible using .NET and Visual Studio.

This feature enables developers to rapidly prototype their Sitefinity extensions, while still having the freedom to fine-tune the functionality of their new module.

How It Works

  1. Create your new content type.

330062/image001.png

  1. Define the associated fields.

330062/image002.png

  1. Install your new module.

330062/image003.png

  1. Customize your administrative interfaces.

330062/image004.jpg

  1. Add a new content item.

330062/image005.png

  1. Display the content items on the web site.

330062/image006.jpg

  1. Use the API to create extensions.

330062/image007.jpg

Give It a Try

No CMS will ever be a perfect fit for all your web project’s requirements. Consequently, it’s important to find a CMS that gets you most of the way there, but then equips you with tools that empower you to confront the remaining challenges. With Sitefinity’s new Module Builder we’re helping customers rapidly confront their project’s unique challenges.

Give it a try with our downloadable trial or using our online sandboxes.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here