Implementation Content Model

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:

Cardinality Series Episodes

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:

IndicatorDescription
0..1Zero or one
1Exactly one
0..*Zero or more
1..*One or more
nOnly n (where n > 1)
*Many
0..nZero to n (where n > 1)
1..nOne to n (where n > 1)
n..mWhere n & m both > 1
n..*n or more, where n > 1

Here are few more examples before we go (please click to expand):

Content Models Cardinality

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:

netflix content relationships

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:

Netflix Implementation Content Model

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:

Netflix Final 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.