Managing Content in a CMS Project

Martin Bauer
05/08/2006

A content management implementation is very similar to a normal web application development project with one significant different – the need for content. With web applications or traditional software development, there is little content, it is usually about data and that either already exists or will be entered by the users of the application.

A content management implementation is very similar to a normal web application development project with one significant different – the need for content. With web applications or traditional software development, there is little content, it is usually about data and that either already exists or will be entered by the users of the application.

With content management projects, content needs to be modeled, gathered and entered into the system developed before it goes live. The problem is people aren’t used to modeling and preparing content. Often it’s left to the last minute at which point the project has to be delayed as the content issues are resolved. For example, in a recent project for a standard corporate website, the launch date was delayed by 6 months as the client worked on getting the content together. As this client learnt, the key to success is in appropriate content modeling and then gathering while the system is being built.

Typical Scenarios

There are three typical scenarios that occur in content management and a project will often combine all three:

  1. Existing website. The client has an existing site - whether it’s a public website, intranet or extranet – and the content only exists on this site. There is no other source of the content except maybe some original Word documents in which the content was first written.

  2. Existing database.The content resides in a database, that is either part of the existing website or an internal database. Examples of this include propriety applications such as an enterprise resource planning (ERP) system, an MS Access database or an excel spreadsheet. (It’s not uncommon for some clients to consider a spreadsheet as a form of database even though technically it isn’t.)

  3. Existing hardcopy. The content exists as a printed catalogue, brochure or another form of marketing collateral.

The problem with all of these scenarios is that the format of the existing content rarely matches the format required for the new system and the transformation is not taken into consideration until the content has to be entered into the system. Automating this process is difficult.

If the content is well structured (eg. an existing database) then it is possible to enter content but rarely will it cover all the content that is needed for the new system, nor will it take into account linkages between content.

SOLUTIONS

There are two steps that need to be taken to ensure a successful outcome with a content management project, content modeling and then content gathering.

The tasks themselves are not overly complex but as not many people have experience with content management, so it can be confusing. The biggest problem is the lack of discipline, the content modeling is required for the development to commence so it tends to be included in planning, content gathering however can slide and won’t be caught until the development is done and the system is ready for the content to be entered. At this point, unless the content has been gathered, in the right format and structure, the project will stall.

Content Modeling

Content modeling as a discipline is fairly new, it has elements of database design in terms of structuring the content and is similar to object modeling in terms of relations between content items and the site structure. The content items in a content model consists of attributes and rules.

  • An attribute is an element of a content type, and it has a name and type

  • A rule defines where a content item can be added within the system.

Tables 1 and 2 show a partial example of a content model and display how two content items work together. Table 1 shows the content item photo gallery with it’s three attributes. Two rules apply to this item.

  1. A photo gallery can be added to any part of the site structure below the main navigation

  2. A photo gallery can contain photo

Table 1: Photo Gallery Content Item

Item

Attributes

Attribute Types

Photo Gallery

Title

Textline

 

Introduction

XML text

 

Images per page

Numeric

Table 2 shows the content item photo with its four attributes. One rules applies to this item.

  1. A photo can be added to a photo gallery.

Table 2: Photo content item

Item

Attributes

Attribute Types

Photo

Title

Textline

 

Date

Date/time

 

Caption

XML text

 

Photographer

Numeric

The first content item is the “container” for the second content item. The second cotent item can only be added to the first. This approach means we can enforce publishing rules and stop the wrong content from being added into sections where it doesn’t belong. It also helps ensure a consistent presentation of content.

Once all the content items have been defined, we need to decide how they will relate to the site structure. Some of this is obvious. If the site includes a product catalogue, then it stands to reason that you would add products only to that section. If we are displaying a list of training courses, a course content item would be used.

However, when it comes to less structured content it’s not always obvious what approach to take. We are used to creating sitemaps but not assigning what content item we will use for that part of the site and how the page is to be structured (eg. information design). Do we use a “section” content item, do we need to allow for subnavigation? If so, how many levels?

The following are examples of assigning content items to sections of the site.

  • About Us – a section content item

  • Company History – an info page content item

  • Contact Us – info page content item

  • Feedback – a form page content item

Things may change if there are issues in the content gathering phase or when content is actually entered. However it is still necessary to design a model.

Once the model is defined, it’s important to ensure there’s sample content for each content type to test that the model is sound. Too often when it gets to the stage of entering content, the structure of a content item or the rules prove to be wrong and rework is required to fix the situation.

Content Gathering

This is where most projects fail. Defining how the content is to be structured and where it is to go is simply a matter of making decisions and capturing these decisions in the form of a content model that the developers then implement within the content management system. It shouldn’t be a difficult task.

The problem is when the content has to be gathered to then enter into the site. What happens in most projects is that once the model is defined, the development starts and finishes before any content is gathered. In the case of an existing database, it will be possible to transform the existing content but often the content model will have additional content that no one bothered to actually prepare.

This problem usually surfaces when a developer asks for sample content in order to do testing on the system. That’s when things grind to a halt as someone has to take the responsibility of actually gathering the content in the right format for entry into the system.

For example, on a recent project, my colleagues and I were building a public website to display the full product catalogue of a car parts manufacturer. There was an existing site with a database. We were provided with a hardcopy of the product catalogue and a copy of the existing database. Based on this we created a content model and then implemented the system based on that model. We then assumed we could import the existing database but the client had been in the process of updating the content but had only done it in print format for the next printed catalogue. So the existing database was out of date and no longer valid.

However the data did exist in the internal ERP syste, but we had to organize an export from that system, redefine the content model (the data structure was different to what we were previously given) and then write scripts to do the transformation. This process delayed the project over a month while the details were sorted out.

The only way to avoid this problem is to make content gathering a part of the overall project plan and assign the responsibility to someone on the project team with a deadline for preparing content.

For smaller projects, this gathering may just consist of combining Word documents and Excel spreadsheets. For larger projects it can be worthwhile to build a small application for people to use to store the content that will then be entered into the system at a later date.

Content Population

Assuming the content model is well defined and the content has been gathered, populating the site with content should be a straight forward task. The problem that normally occurs at this point is twofold.

First, no-one is assigned to actually enter the content into the system. The client assumes the developer will enter the content, while the developer assumes the client will perform the task. Second, when the content is entered, the gaps in the content model become obvious, and either more content must be written or adjustment need to be made to the model.

The most common outcome is that content never existed. Even though the model was defined upfront and someone was assigned to gather the content in the right format, there just wasn’t enough content or when the content was gathered, the structure wasn’t consistent; for example it was assumed that for all distributors there would be a head office and multiple warehouse locations, but when the content was gathered, for some distributors, the head office and warehouse were the same – the system didn’t allow for this possibility. This types of outcome shows the content wasn’t analyzed well enough during the modeling phase.

CONCLUSION

The key to success starts with proper analysis of the content. This should lead to a well defined content model tested with sample content. Next, a plan for gathering content that is implemented while the system is being built. This ensures that – when the system is ready – the content is also ready for entry. Without proper planning for content modeling, gathering and population, your project could end up being anywhere from one to six months late.