The implementation content model targets your technology. The most popular technology is a web content management system. However, content models are applicable across other areas sets such as APIs development, content migration tools, customer journey mapping, and so on. Here are 10 reasons why we content model.
First we going to start by introducing what we mean by cardinality. Then we head back to the netflix design content model add a bit more detail to it make it into an implementation content model.
Cardinality
Cardinality (or multiplicity) tells you how many content items are exist in a relationship between to content types. Time for an example:
The above whole/part content relationship between Series and Episode tells us so much. Let’s enumerate what we know:
- The series is the whole, episode is the part
- When the series is destroyed, so too are all the episodes (whole/part relationship)
- There must be at least one episode in a series
- An episode cannot exist outside of the context of a series
- A series can have many episodes
- The lifecycle of series and episodes are linked
That’s a lot of valuable information. Cardinality is used to express how many content items from one content type (e.g. episodes) are created in relationship to another content type (e.g. series). This is very very powerful communication aid. Just from the above we’ve got a good steer on how episode content items relate to series content items. Now the complete set of cardinality indicators are listed below:
Indicator | Description |
---|---|
0..1 | Zero or one |
1 | Exactly one |
0..* | Zero or more |
1..* | One or more |
n | Only n (where n > 1) |
* | Many |
0..n | Zero to n (where n > 1) |
1..n | One to n (where n > 1) |
n..m | Where n & m both > 1 |
n..* | n or more, where n > 1 |
Here are few more examples before we go (please click to expand):
As you can see, you can get pretty prescriptive with all this. You don’t have to do all of that. Just because you can, doesn’t mean you should.
Only model what you need to communicate
Head over to the design guidelines for content relationships for a more in-depth steer here why and when.
Implementation Content Model
Our design content model for our simple Netflix looked like this:
The next stage is to ask more questions around the design content model. In our content modelling workshops, we split into groups and walk through the Netflix site. Those groups make assumptions. Challenge thinking and pour all that into the content model. After a first round discussions we added cardinality to get to this:
Reading it back with a movies and series that both have multiple reviews. Series have multiple episodes. We should definitely have another pass through those cardinality pieces to sharpen them. By that, we mean instead of loosely saying * we say something like 1..n, just like we did for Series and Episodes above.
Also, there is the relationship between Movie and Series that niggling at me. We need to strengthen that relationship or drop it. We know they are related somehow. However, what I don’t want to do is link their lifecycle with a whole/part relationship. That doesn’t make sense or feel right. So I’ll connect them through an aggregation relationship and work with the development team to get more clarity on that. In doing so, here is where I net out with on the implementation content model:
Summary
Well that’s it. In the implementation content model we strengthen relationships and add detail around cardinality. The implementation content model is something that is connected the design content model. However, live more with the domain of developers and those technologies that need to implement and store the content.
- Content Models
- Conceptual Content Model
- Design Content Model
- Implementation Content Model (this page)
- Design Guidelines for Content Models