Content

The foundations of a COPE workflow with prismic.io

I've started using a great new content management system (CMS) called prismic.io. I dislike that many CMS combine content management, publishing and presentation. While manageable in simple scenarios. As we add complexity or scale, the constraints imposed by a one-size fits all approach soon push a website to breaking-point.

To combat this we add complexity. Abstracting presentation or shoehorning application logic into plugin architectures. This approach is awkward. Requiring the layering of extra code or ‘pretty icky’ (technical term) plumbing code. There comes a point where this is no longer workable.

What if our content management system did just that, manage content; enter prismic.io. Prismic.io's ‘Writing-Room’ enables the management of content, content structure and linking of content. We are then free to use one the native development kits to read content via their API. Our content is output agnostic and we have complete control over the structure of our markup. No markup or WYSIWYG in sight.

In separating our concerns - management and presentation - we widen our publishing capability. Enabling easy publication to many consumers, be it a website, native app or your new fridge. This is the foundation of a 'Create Once Publish Everywhere' (COPE) workflow. As popularised by the likes of NPR and Netflix. We can augment our document structure at any time. Safe in the knowledge that consumer performance will remain the same. As we need deliver only the appropriate content to each consumer. With my software developers hat on, this makes the both the CMS and consumer more adaptable to change and much easier to maintain.

This concept was the main attraction of prismic.io. I can develop a website, with exceptional content management exactly where I need it. A lot of my work requires custom application code, with intermingled managed content. I don't want to try to shoehorn an application process into a plugin in a CMS, or vice versa.

I'm only scratching the surface. Multi-versioned previews. Content experiments. Planning the simultaneous release of many changes and previewing these changes 'as live' for quality assurance. This feature set combined ensures our content is both modular, portable and future friendly. Leaving me free to worry about something else.

I'll be diving deeper into some of prismic.io's features in future posts. If you're thinking about switching to prismic.io and have any questions, why not get in touch on twitter, I'm @benembery.