This chapter will explain what a content model is, what concepts and functionality make it up, and what features different systems offer to model content.
What is a content model?
Why do we need to divide content into specific types, attributes, datatypes, and relationships?
How might structuring content make it less flexible, and why do we do it anyway?
What are some of challenges involved with visual page building tools?
What can Shakespeare and Socrates teach us about the separation of content and presentation?
On why we break up content into chunks (a postal address in this example).
By storing this information in smaller chunks and giving those chunks labels, we can manipulate and query large groups of addresses at once. What we've done here is reify the general idea of an address into a concrete representation that our CMS can work with.
Could you just parse the address every time you wanted to work with it? Sure. But it's much more efficient to do it once when the content is created, rather than every time we want to read something from it. Common sense says that you'll read from it far more often than you'll create or change it. Additionally, when it's created, a human editor can make proactive decisions about what goes where instead of a parsing algorithm taking its best guess.