When I meet current and prospective clients, one of the first questions I am asked is “what is your favorite Content Management tool?” As a certified developer in several of the platforms we here at iMedia implement, this is sort of like picking your favorite child… which usually leads me to say “I like them all!” While this is true, I feel each platform really does have its own strengths and weaknesses based on the architecture, design, and usability of the platform. Of course, as a developer first, I have a certain bias towards technical parts of the apps, but I’ll try to keep it high-level for now.
Below are some of what I consider the favorite parts of my favorite WCMs.
I’ve spent a large percentage of the last 2 years developing in Sitecore. During that time, I am constantly amazed at the extendibility and flexibility that was built into the platform. Sitecore is built on Sitecore. Stop and think about that for a second. The building blocks of what runs your site also runs the editor, Sitecore desktop, all the content, etc. It’s quite an impressive feat really- and also allows you to customize the heck out of the platform. It is super developer-friendly (which is not to say that it is not editor-friendly as well) because it has an object oriented-ness that is not present in a lot of other platforms. Inheriting data definitions? Easy. Base templates? Done. You don’t like the way that images are processed by the built-in Sitecore controls? Add a request handler. Want to affect the way items are processed by the system, say by adding “MATT IS AWESOME” to every field on the way to rendering (and hey, who wouldn’t!)? Add a Pipeline. I could go on… What’s that, you say? The editor doesn’t do what you want? Snap in a module from the marketplace. Can’t find one you like? Roll your own with SPEAK. And speaking of the marketplace, there are more than just editor tweaks in there. Pretty much anything you need to extend your site or make your life easier as a developer can be found in there… free of charge by the way.
Finally, of all the platforms that we implement, Sitecore has the most community resources out there. Tons of Sitecore partners, clients, and individual developers put their work out there for you to use, upgrade, and contribute to. It’s a great community that we’re super proud to be a part of.
I’ve been a certified Kentico developer for going on 3 years now. It’s an amazing platform that makes implementation of a site super-quick and easy. You don’t have to be a Super Tech Wizard (that’s my next job title by the way, you listening @joelmac?) to build a site in Kentico, but on the flip side you can do amazing things with the cms. I’ve built Facebook Apps, fully encapsulated administration systems, and about a bazillion other cool things with Kentico (plus your basic websites, but I figured you’d want the good stuff).
Kentico is pretty-much the polar opposite of Sitecore when it comes to architecture. About 95% of development goes on right inside the WCM. Kentico comes with an amazing array of Web Parts built in, or if you want to do something extra-special you can build your own and snap it right in.
One thing I love about Kentico are macros. These are little snippets of code you can plop into all kinds of places in the WCM and have it do stuff. And you don’t have to just use the built in ones either—you can build whatever macros you need and add them into the system easily. You can add your own method. Or add a custom field. It’s this mix of content and code that I think really makes the platform powerful, flexible, and quick to implement. We bust out a ton of Kentico sites here at iMedia because of this. The platform is made for building quickly and smartly.
In the words of my co-worker, Mike Carzima, “EPi’s rock solid. It just works.” Much like Sitecore, EPiServer is really developer-friendly. The platform has a real MVC feel to it on the backend, so you’re effectively building out models to store your data then views to display it. The front-end of the editor is super-clean and it doesn’t add a ton of bloat to your front-end code.
One of the things I really like about EPi is the ability to define page types in code. This is totally amazing. On every other platform you have to define the page type in the CMS then mirror that in code. EPiServer allows the opposite.
This is great for a few reasons:
- I don’t have to do things twice.
- It ensures that, when you are deploying code, you always have the right data available to the application and never run the risk of an imbalance between content and code.
- It allows for versioning of data definitions that would otherwise not be available from within the platform.
- See #1.
EPiServer takes this further by allowing you to decorate your page and content types with attributes that allow you to tell the editor to do things like show a particular rich text editor toolbar, or how translations should happen in multilingual environments, or the way that the field works in the editor. It’s a total paradigm shift, and it’s great.
Ektron is the middle ground between Sitecore and Kentico as far as architecture goes. Yeah, I know that it’s changing, but I don’t know exactly how yet. So, these may or may not pertain to the future Epitron (EkiServer?) but time will tell. Ektron’s a super-solid platform that I’ve been implementing for 6+ years. In that time I’ve done nearly everything with it, from building an LMS to ingesting stock car race information to integrating ticketing information to extending the Pagebuilder framework to accommodate Facebook apps. The Ektron APIs provide a really solid framework for integration to tons of stuff… and don’t forget the DxH which we used here to utterly integrate Facebook into Ektron.
Now, I know this may seem insignificant, but one of the things I really miss in a lot of the other platforms is the concept of a repeating group element. Ektron has a concept called a Smart Form which is a way to define data in a structured way (similar concepts are templates in Sitecore, and custom documents in Kentico). What Ektron does, unlike every other platform, is allow you to repeat elements in a group. While this sometimes gives developers who have never used Ektron before fits, I can tell you that for editors, it’s a godsend. It allows us to define sections that are easily repeatable but are essentially one-off. Say, for example, you have a slider element on a page. This slider has a text field, and image field, and a link… and these are never again used anywhere else. In other platforms you might have to go individually and create each individual slider item, then hook them together with a configuration item (or something like that). So if you have a slider with 3 items that’s 3 slider items + 1 config item = 4 total items you had to create. In Ektron you could do it with 1. It’s such a simple concept but it really is quite powerful (and no one except me ever gets excited about it!)
So after all this, I never told you what my favorite WCM is. The truth is, there is no one-size-fits-all solution out there. We believe that a fit analysis is important for a lot of our clients that come to us without an existing CMS (or even with one!). What is right for a financial company may not be right for a high-end manufacturer, or a performing arts organization. I guess, in the end, my favorite WCM is the one that I’m implementing for you.