Driving crosscomm.com dynamically with Contentful
In case you hadn't noticed, CrossComm recently updated our website. This update goes far beyond a redesign, though. It's a complete overhaul of the tone and messaging of our web presence. A big part of our new goal for our website is to be more content-focused. In an effort to keep our clients informed and increase our engagement with the development community at large, we've implemented a number of new content-driven pages on the site that will feature regular updates, including the blog where you found this article.
The reason we hadn’t already taken our site in this direction was that there was no way of getting dynamic content onto our site that met all of our needs. CMSes (Content Management Services) of yore all required the use of predefined templates and it was important for us to have full control over the format and aesthetic of our content in multiple contexts, whether on a website, a mobile app, a wearable, or the hot new platform of tomorrow. Furthermore, we needed an interface to create and serve content that was accessible to non-technical members of our team. This order proved to be too tall, and we weren’t interested in building and maintaining our own CMS.
Contentful, in their words, is 'like a CMS, without the bad bits.' Contentful allows developers to create and fine-tune models for various types of content such as blog entries, job-listings and portfolio pieces. Built into the creation of these models are a wealth of tools that empower developers to control how these models will be used, ensuring proper functionality when the content is delivered. When creating a field on a model, I can determine whether it is required, restrictions on its value, how its input will be presented to content-creators, and a number of other useful options.
The key feature that made Contentful a perfect fit for us, however, is that its delivery method is a purely data-based API. All the models and objects we create on Contentful are 100% agnostic to style and layout. Want that list to render as a <ul> and not a <ol>? Done. Want to use flex boxes to structure all your content? Done. Want to use that content in a native phone app or a smartwatch interface? Easy Peasy.
Once we’d defined our models on the Contentful dashboard and integrated their API into our site, we needed to make our pages render dynamically based on the data we retrieved from Contentful. This process was streamlined by our choice to implement the new site with a React/Redux framework. Redux took the pressure off of state management by formalizing state mutation site-wide, and creating templates that could fluidly adapt to data from Contentful was a smooth and concise process when using React components and JSX.
Now - without writing a single line of code - I or any member of CrossComm can create, edit or remove content in a single place, and know that content will be delivered consistently to our website, an app, or any other platform we want. We’ve been so pleased with the results that we’ve already proposed using Contentful as part of our solutions for multiple clients. To learn more about Contentful feel free to ask us or visit their website at www.contentful.com.