Content Creation vs Management

By Adam Patterson in: Article


A typical Content Management System probably does a great job at managing content, its in the title after all. The web is more about how you use and present to others then how its managed.

Lets pretend that we are adding a foodie section to our site, Our site is 9 months old and has been designed and built by a small design company.

We decided that we want to post new recipes every week and its important to our brand that we are consistent.

We are going to include some basic information:

  • Title
  • Photos
  • Ingredients
  • Directions
  • Short bio and photo of the cook.

No problem!

A layout generally page layout looks a little something like this:

We know that we are going to have a fair amount if information on this page and out of the box we have one content area to work with. It looks like we need to rely heavily on the writer to keep this page organized.

We have just introduced an issue, it is going to be very difficult to format every recipe the same way. It might be a good idea to consult a developer to make our user experience better.

Two options are presented to us, Custom development and a Plugin.

Development costs a lot of money, and after all the site is new, But this plugin does about 90% of what we would like to do… But we really wish it matched our look and feel better.

Content is never just a box!

Like it or not, almost every CMS is built with compartments that can’t talk to one another.

It is natural to break free of these constraints, but it tends to come at a cost.

  • We hack up existing functionality causing confusion to the customer who just wants to get the job done.
  • We extend existing functionality or add plugins to fill in the gaps, this costs more time and adds complexity for both the developer and the customer.
  • Worst case we tell the customer that it can’t be done.

Design should not dictate development and development should never restrict creative thinking.

Lets see how Tentacle make things better.

Same details as before except this time the site has been built using Tentacle.

Every page has the ability to load parts, the difference with parts and simply including a header or sidebar is that the page actually pass information to the parts.

theme::part( 'header', array('title'=>'My Home Page'));

Lets give this another go.

We can also get a bit more creative because we have the advantage of custom data or content scaffolding and the fact that it’s all OOP.

I think it would be nice to display the list of ingredients in the sidebar and have it sticky on the top of the page, and under that we could put the cooks bio.

The instructions will be made up of repeating content blocks (Coming soon ) that are configured in the page template.

By having a formula for our recipes we can make the repetition of adding multiple recipes very simple, No hacking, and no extending.

theme::part( 'sidebar', array('ingredients'=>'Milk,Eggs,Butter...'));

As an added benefit we can add Models to our templates, so lets add a recipe model that will query the site for all our recipes, but specifically the ingredients list.

We can give our uses an interface that lets them select a few recipes and create a shopping list for them.

Take an extra 5 or 10 minutes and we can even email it to your visitor!