When new content models are designed there are a few patterns that come back over and over again. A couple of them are described here.
This is one of the most used patterns in document management solutions as the main use of the CMS repository is to manage and classify documents.
We want to be able to classify generic files that cannot be classified under any specific subtype. We want to be able to search through all documents in the enterprise via a root type. We want a way to add generic properties for all subtypes, usually non-UI related properties.
Implement a generic base type that all other document types extend.
The following figure shows an example of an inheritance hierarchy ...