Embracing Chunky Content requires native support from your CMS
Chunky Content is a rising term in the Content Management System field. It is not a new idea, and many have been doing this for long times under various terms. Chunky Content means that the rich text area in your content management tool is able to reuse other content elements from elsewhere in the system.
This is often achieved in tools like WordPress and Drupal through using short codes in the content text. This is a very rudimentary option as the code is simply replaced with some other content at the time when the server is rendering it for sending to the client (usually a web browser). One Open Source CMS that stores all content in a semantic format is eZ Platform with a structured RichText Field Type.
A more comprehensive take on Chunky Content is storing your content in a semantic data format such as text structured in a common format such as DocBook. This will allow the system to be natively aware of what references are in place in the rich content field - rather than just some text that is rendered to display an image or some other content piece inline with your text.
In addition to allowing fluent reuse of content within rich text areas to form new experiences from existing content within the system, a natively Chunky Content capable system will allow you to have a richer Content API to decouple from the CMS - automatically listing all the related content items within the database.
When the CMS is aware of the related items in the body text, it can offer links to all related content, media elements and so on to the clients like static site generators, rich front end web applications built with Angular, or mobile applications to decouple from the web context completely. For optimal backend performance you'll want to make sure you can scale your CMS with Docker.
Like multilingual and multisite capabilities, support for Chunky Content should be a core feature of your content platform - not something that you will add with a plugin later on. The reason for this is that if you extend your system, there will always be plugins and extensions that won't support some feature (like multilingual or chunky content) added to the system by a third party. You need to trust that the feature is there.
Read more about Chunky Content:
- The Battle for the Body Field
- Tidying up your free-form content with structured body field
- Adaptive Content Strategies For The Real World
- The eZ Publish Show #23: Chunky Content
- Chunky Content in Context