Content Types
The steady, and welcomed transition from unstructured content to structured content is raising the profile of content modeling within our projects. It has also highlighted the semantic differences in the terms we use to describe content models. A shared vocabulary for content modeling is coming. But for now, let’s create a baseline for the following key terms:
- Content Types
- Content Attributes
- Content Items
Content Types
As you navigate through the web, read a book, or play the wii, you run across things such as press articles, books, cameras, events, job postings, products, services, patient records, and so on. These chunks of information are all potentially content types. Whether or not they become a content type depends upon your business goals and user needs.
A content type is a “unit of reuse” within your content model that can be assembled to create new information products. For example, a chapter content type can be assembled into a book, or a series of posts aggregated to create a new blog. In the content model, content types (chapter, post) are identified and their relationships defined with other content types (e.g. book, blog).
A content type is concept (or classification) used to describe a family of related things. If I asked you what colour is a fruit, you’d be hard pressed to answer the question. However, we know fruits are typically sweet and colourful. So sweet and colour are good candidates for being attributes of the content type Fruit. Identifying Fruit as a content type is the first step to chunking out information and bringing a little bit of structure to the content model.
Authors don’t create content types. They create content items from content types. For example, a strawberry is a content item based off the content type Fruit. It’s a content item because a strawberry has values given to it by content creator, most likely with the attributes sweet (true) and colour (red).
An Example: The Event Content Type
Content types are chunks of meaningful information. Like a cookie cutter, a content type is used to create a family of content items (cookies) that share the same attributes but differ depending upon the values assigned to those attributes.
Take a look at the Event content type with the following attributes:
- Name
- Venue
- Date
- Time
- Logo
- Organiser
- Contact Email
All Event content items are created from the same Event content type and hence share the same attributes. However, each event content item is different. One event may be the Madonna Concert in London and another the Confab 2012 Conference over in Minneapolis. A content type enables you to define the essential characteristics for a chunk of information.
Content Attributes
A content type has a collection of attributes. Each attribute has a name and type. A type indicates what kind of values a attribute may hold. For example, an attribute with the type Text stores text values, where an Image type holds images, and a Date only expects, well dates. Types impose constraints on the kinds of values that can be assigned to attributes. For example, you can’t assign a JPEG image to a name attribute of type text. This is good. Nor can you assign the value Bob to an age attribute of type integer. Also good. However, the biggest win for typing your content attributes is getting that shared understanding of what kinds of attributes make up your content types. What content do you have and how is/could/should it being used?
Content Items
A content item is an instance of a content type. It is created by supplying values to the attributes that make up a content type. For the more technically minded folks, content types are to classes, as content items are to objects. But no matter how you stumbled across content modelling, think of content types as the cookie cutter and your content items as the cookies. It’s important that you invest the effort at design-time to create best cookie cutter that meets the needs of your target audience, because in the real world there are only cookies.
The Event content type has a bunch attributes: name, logo, venue and so on. The act of creating an Event involves assigning values to the attributes that make up the Event content type. So the creation of the Madonna Concert involved assigning the following values to the Event attributes:
- name = Madonna Concert
- logo = Madonna (where this is a JPG, PNG, etc. file)
- venue = O2 London
Once created, a content item has all attributes specified within the content type and with associated values. The creation of a content item from a content type is also know as instantiation; the process of assigning values to attributes. In short, a content item is an instance of a content type.
In Summary
Content types are used to structure chunks of information. Content items actually store information. However, content types rarely exist in isolation. They have relationships. Some are owned by others. Some merely use others. In building out content models, we also need to capture and express the relationships between content types.
Where next?