Real World Content Modeling
In late 2019, I published my second book: Real World Content Modeling: A Field Guide to CMS Features and Architecture.
It started as a blog post, but quickly got out of hand. The goal was to reveal and evaluate every possible content modeling feature I could think of that I have seen in 25 years working in CMS. My hope was that readers would be able to better evaluate the modeling capabilities of a CMS if they had a clear baseline with which to compare.
The paperback or ebook is available on Amazon.
In May 2021, I published the book here. The list of chapters linked below is the entire text of the book.
I will likely modify this text in the future to expand or clarify some points. I’ll add to the “Revision Notes” section at the bottom of this page. (However, I doubt I’ll ever update the purchasable book – that’s more of a hassle than you’d think.)
There are 23 specific evaluation criteria defined. They’re numbered in the list below. Each criteria also has one or more evaluation questions at the end of the chapter to cover some of the nuances of the specific functionality.
You can click into any chapter below, and move forward and backwards through chapters.
Contents
- Introduction
- About this Guide
- How a CMS Helps (Or Hinders) Your Content Model
- The Anatomy of a Content Model
- Criteria #1: What is the built-in content model?
- What's the difference between built-in and custom?
- Criteria #2: Can the built-in model be extended with custom content types?
- Opinionated Software
- Criteria #3: What built-in attribute types are available?
- How Content Is Stored
- Criteria #4: How is content represented in the API?
- Criteria #5: How can attribute values be validated?
- Criteria #6: How is the model supported in the editorial interface?
- Criteria #7: Can an attribute value be a reference to another object?
- Let's Evaluate the Current Level of Functionality
- Criteria #8: Can an attribute value be an embedded content object?
- Criteria #9: Can custom validation rules be built?
- Criteria #10: Can custom attribute types be created?
- Criteria #11: Can attribute values repeat?
- Criteria #12: Can types be formed through inheritance or composition?
- Criteria #13: Can content objects be organized into a hierarchy?
- Criteria #14: Can content objects inherit from other content objects?
- Criteria #15: What is the relationship between "pages" and "content"?
- Criteria #16: Can access to types and attributes be limited by user permissions?
- Criteria #17: How can rich text fields be structured?
- Criteria #18: What options are available for dynamic page composition?
- Criteria #19: What aggregation structures are available to organize content?
- What Is and Isn't Considered "Content"?
- Criteria #20: How can types be changed after object creation?
- Criteria #21: How does the system model file assets?
- Criteria #22: By what method is the content model actually defined?
- Criteria #23: How does the system's API support the model?
- Conclusion
- Postscript: Thoughts on Model Interoperability
- About the Author
Revision Notes
- The biggest edit was to add section titles to all the chapters. In the original version, sections were delineated by horizontal rules, with no title. I added titles to all the sections, and I think the text is better for it, but it did require me to summarize the contents of the section in a title, with varying degrees of success. I might consolidate some in the future, since the difficulty in coming up with a title was indicative of some editing needs.
- I fixed a few typos that somehow got through the original editing process.