COPE - Create Once, Publish Everywhere
When developing websites, we always aim take a “COPE” approach to web content management. COPE – Create Once Publish Everywhere – was popularised by NPR (National Public Radio) in the United States. It is a content management philosophy that seeks to allow content creators to add content in one place and then use it in various forms in other places. As an illustration, a journalist might write an article and upload it to a central content repository; different parts of it can then be used in different media - online, print, web app, etc. In a smaller - closer to home manner - a web editor might create a news article, complete with an image, an attachment, the main article content, some keywords, and embedded media (audio and video). The fields used on the form to create this page can then be reused, so:
- On an events page, you might see “Related News” showing a title of the news piece and a link to read the full article
- On the news listing page, you might see the title of the news piece, a reduced image, the first two sentences of the news article, and a link to the full article
- On a media gallery page, you might see the image and a link to a hi-resolution version of same
- On a mobile device, you might decide to not load the video unless the user has a wi-fi connection
As you can see “COPE” is revolutionary in allowing a lot of work to be done by a reduced staff, saving time, effort, and overhead. We use it on this website. Within our content architecture we have a number of content types such as "Client", "Project", and "Testimonial". We create a client page which has image, description, projects, and testimonial fields. The testimonial content type has client, short testimonial, and long testimonial fields. The project has client, testimonial, project description and project images fields.
- To create a page for a case study, for example, we create a project page. Within this, we reference the client page and this pulls in our data dynamically to show the client's name, logo, and a short description. We then reference the client's testimonial and this pulls in the long testimonial content. We then fill out the information needed for that project/case study.
- On the client listing page, we pull in the client logo and link that to the client's page.
- On the homepage we pull in the short testimonial field for the testimonials block and the logo for the "Trusted by" block
The great thing is, if the client changes logo, or if we update the testimonial, then all instances of this will update. No more searching and replacing text and hoping that we replace every instance of it on every page.
We use Drupal to build our content management systems. Drupal gives us great tools to make COPE a reality, such as:
- Fields - to allow us to present different information (image, video, product, text, select list, etc) at different places on the website
- Content types - to make our data more semantic and atomic for later re-use
- Views - to create lists of content curated by content type and other categories
- Entity reference - to dynamically pull content from one page into another
- View modes - to present the information in different formats on different pages
- Services - so we can make the information available to other publishing organs such as apps and feeds
This allows us to create (our content) once, and publish (it) everywhere (on our website).