It just got a lot easier customizing Dynamicweb CMS

One of the main differences between popular Danish CMS-platforms such as – on the one side – Umbraco and Sitecore, and – on the other – Dynamicweb CMS, is that Umbraco and Sitecore allows you to store content as flexible user-defined items while Dynamicweb is much more locked and closed in that it only allows you to create content with a predefined structure. There are historical reasons for why this is so – Dynamicweb CMS is a more *ahem* “experienced” CMS-platform that the others….

This means that if you want to create a page in Dynamicweb CMS, that page will consist of certain predefined fields, and you cannot easily change these fields. It also means that if you want to create a new news item, you will have to use the news-module – which is developed specifically for this purpose.

In my experience, it is important to note that a lot of companies using Dynamicweb CMS actually like the more locked approach. And I have seen several customers switch from Sitecore to Dynamicweb for this precise reason. It may not be “best practice” and the “prettiest” solution, but it has worked for several years, and the more locked approach also allows for a user interface that is more stable. You always know how to create a page in Dynamicweb – even though you’re working on different websites.

However, the approach that Umbraco and Sitecore uses has several advantages. The locked structure in Dynamicweb CMS means that it is way more difficult to adapt the system to each companys’ precise requirements. Instead, you would have to hire a developer that could extend the CMS-platform in order to suit the precise needs. So, a certain requirement that would be extremely simple in Sitecore and Umbraco, could take a certified Dynamicweb-developer hours to fix. So, on top of the Dynamicweb CMS license costs, you would often need to add development costs in order to address certain requirements.

Dynamicweb Software has been working on solving this issue for quite some time. First of all, the Dynamicweb Ecommerce product actually allows you to extend the data structure as much as you want, and secondly Dynamicweb Software has been working extensively on creating new methods allowing developers to extend and customize the CMS-platform as much as possible. This is the reason why the Dynamicweb Ecommerce platform has served as much more than just an ecommerce platform – in Bleau we use the Dynamicweb Ecommerce database as a container for all sorts of content. Not pretty – but it works.

Now, Dynamicweb Software has announced that the latest version of Dynamicweb – version 8.2 – will include item-based structure.

Customers already using Dynamicweb CMS shouldn’t worry too much though. There won’t be made any changes to their current workflows. Dynamicweb Software has decided to integrate the item-based structure in a very smart way – meaning that you can continue as if nothing have happened. You can still create new pages just the way you’re used to. But now you can also decide to create new item-types with your precise data structure and layout.

An item could be an event, a news item or a todo. You can create a completely customized data structure containing all necessary fields. So, a todo-item would contain a title, a description, a person and a deadline. An event would contain a headline, a description, a date and maybe a link to a booking-formula, and a news item would contain a headline, a teaser-text, a body, an author, and so on. You get the idea!

All of these items can live next to each other, and they can be created by the customer. Each item-type can be created via the Dynamicweb Management Center, but can also be created by using the following methods:

  • Database-first
    You create the database-structure, and by using a certain convention Dynamicweb CMS discovers that it is an item-type.
  • Code-first
    You create a class containing public properties adhering to a certain standard and Dynamicweb CMS will discover the new item-type on application reload
  • Schema-first
    You add a new XML-file describing the item-type and Dynamicweb CMS will discover the new item-type.

The first method – allowing the customer to add new item-types via the Management Center – is user-friendly, and you can create different kinds of field types, but the other methods allows the developer to create separate “modules” that can be reused from customer to customer and from website to website. Dynamicweb CMS now allows you to copy the Schema from one solution to another, and I’m extremely pleased with this! Developers can also extend the functionality in order to create new form-elements – e.g. creating a new select box that will grab data from an external system.

These new methods will undoubtedly change the way that content is handled in Dynamicweb CMS and how solutions are customized. On the one hand there will be much less need for customization – on the other it will be way easier to extend functionality. So all in all customers and developers should be happy about the new path that Dynamicweb Software has chosen. There’s no doubt that this step will eliminate most of the simple modules that’s being developed in projects based on Dynamicweb CMS and this means that the customer will be able to focus on more valuable functionality.

I must admit that I haven’t tried this out in a real scenario, and therefore I cannot really elaborate on all the drawbacks. I hope to use this feature as soon as possible – and will collect my experiences here. One thing that I’m extremely aware of, though, is that it is very important that we don’t get carried away and start creating the same “spaghetti” content structure that I’ve seen in several Sitecore-solutions where the company delivering the Sitecore-solution listened too much to the customer or didn’t focus enough on creating usable interfaces.

In the meantime you can view a webinar from Dynamicweb Software about this new feature:


One thought on “It just got a lot easier customizing Dynamicweb CMS

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s