COPE: Create Once, Publish Everywhere

Guest Author
Oct. 13 2009, 01:23AM EDT

This guest post comes from Daniel Jacobson, Director of Application Development for NPR. Daniel leads NPR’s content management solutions, is the creator of the NPR API and is a frequent contributor to the Inside NPR.org blog.

The digital media world is in the process of dramatic change. For years, the Internet has been about web sites and browser-based experiences, and the systems that drove those sites generally matched those experiences. But now, the portable world is upon us and it is formidable. With the growing need and ability to be portable comes tremendous opportunity for content providers. But it also requires substantial changes to their thinking and their systems. It requires distribution platforms, API’s and other ways to get the content to where it needs to be. But having an API is not enough. In order for content providers to take full advantage of these new platforms, they will need to, first and foremost, embrace one simple philosophy: COPE (Create Once, Publish Everywhere).

npr_architecture_diagram_490

The diagram above represents NPR’s content management pipeline and how it embraces these COPE principles. The basic principle is to have content producers and ingestion scripts funnel content into a single system (or series of closely tied systems). Once there, the distribution of all content can be handled identically, regardless of content type or its destinations (Click here for an enlargement of this diagram).

COPE

Through COPE, our systems have enabled incredible growth despite having a small staff and limited resources. Although the CMS is home-grown, COPE itself is agnostic as to the build or buy/integrate decision. Any system that adheres to these principles, whether it is a COTS product, home-grown, or anything in between, will see the benefits of content modularity and portability.

In this series of posts, I will be discussing these philosophies, as well as how NPR applied them and how we were able to do so much with so little (including our NPR API).

COPE is really a combination of several other closely related sub-philosophies, including:

  • Build content management systems (CMS), not web publishing tools (WPT)
  • Separate content from display
  • Ensure content modularity
  • Ensure content portability

These philosophies have a direct impact on API and distribution strategies as well. Creating an API on top of a COPE-less system will distribute the content, but there is still no guarantee that the content can actually live on any platform. COPE is dependent on these other philosophies to ensure that the content is truly portable.

Build CMS, not WPT

COPE is the key difference between content management systems and web publishing tools, although these terms are often used interchangeably in our industry. The goal of any CMS should be to gather enough information to present the content on any platform, in any presentation, at any time. WPT's capture content with the primary purpose of publishing web pages. As a result, they tend to manage the content in ways focused on delivering it to the web. Plug-ins are often available for distribution to other platforms, but applying tools on top of the native functions to manipulate the content for alternate destinations makes the system inherently unscalable. That is, for each new platform, WPT’s will need a new plug-in to tailor the presentation markup to that platform. CMS’s, on the other hand, store the content cleanly, enabling the presentation layers to worry about how to display the content not on how to transform the markup embedded within it.

True CMS's are really just content capturing tools that are completely agnostic as to how or where the content will be viewed, whether it is a web page, mobile app, TV or radio display, etc. Additionally, platforms that don't yet exist are able to be served by a true CMS in ways that WPT's may not be able to (even with plug-ins). By applying COPE, NPR was able to quickly jump on advancements throughout the years like RSS, Podcasts, API's and mobile platforms with relative ease. As an example, the public API took only about two developer months to create, and most of that time was spent on user and rights management.

This presentation shows the same NPR story displayed in a wide range of platforms. The content, through the principles of COPE, is pushed out to all of these destinations through the NPR API. Each destination, meanwhile, uses the appropriate content for that presentation layer.

Separate Content from Display

Separating content from display is one of the key concepts supporting COPE. In the most basic form, this means that the presentation layer needs to be a series of templates that know how to pull in the content from the repository. This enables the presentation layer to care about how the content will look while the content can be display-agnostic, allowing it to appear on a web site, a mobile device, etc.

But to truly separate content from display, the content repository needs to also avoid storing “dirty” content. Dirty content is content that contains any presentation layer information embedded in it, including HTML, XML, character encodings, microformats, and any other markup or rich formatting information. This separation is achieved by the two other principles, content modularity and content portability

At a high level, many systems and organizations are applying the basics of COPE. They are able to distribute content to different platforms, separate content from display, etc. But to take some of these systems to the next level, enabling them to scale and adapt to our changing landscape, they will need to focus more on content modularity and portability. In my next post, I will go into more detail about NPR’s approach to content modularity and why our approach is more than just data normalization.

Guest Author

Comments

Comments(78)

User HTML

  • Allowed HTML tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.
  • Web page addresses and e-mail addresses turn into links automatically.

[...] COPE: Create Once, Publish Everywhere &#8212; NPR&#8217;s Director of Application Development, Daniel Jacobson, walks through how NPR separates content from display and uses a single data source for all its apps, sites, APIs and feeds. A great example of what Frost talks about regarding content as a fluid thing. [...]

[...] COPE: Create Once, Publish Everywhere — NPR’s Director of Application Development, Daniel Jacobson, walks through how NPR separates content from display and uses a single data source for all its apps, sites, APIs and feeds. A great example of what Frost talks about regarding content as a fluid thing. [...]

[...] COPE: Create Once, Publish Everywhere Daniel Jacobson of NPR (now at Netflix) describes NPR&#8217;s approach to content management and API development, which aims to separate content from display to ensure content modularity and portability. NPR credits its API with increasing page views by 80%, largely because they&#8217;re able to get their content onto a variety of mobile devices without custom programming. See also: Notes from NPR&#8217;s 2011 SxSW Session, by Scot Hacker [...]

[...] COPE (Create Once Publish Everywhere) от NPR стала олицетворением систем управления контентом следующего поколения, потому что она разделяет контент от представления, в результате чего он может чувствовать себя как дома в самых разных окружениях &ndash; хоть в вебе, хоть в нативном приложении, на любом экране. Хотя авторы по-прежнему могут писать разметку, система сохраняет контент в Не привязанном к определенному языку формате. Избегая сохранения &laquo;грязного&raquo; контента (с разметкой и оформительными стилями) и разделяя все на модули, система делает контент более переносимым и дает ему возможность быть представленным по-разному в зависимости от среды. NPR не нужно будет пересматривать всю свою систему даже когда появится огромное количество новых устройств. [...]

[...] Event Apart in Seattle, discussed NPR&#8217;s approach to content publication, called COPE: &#8220;Create Once, Publish Everywhere.&#8221; This mindset has allowed NPR to have one of the most successful (and efficient) publication [...]

[...] to future-ready its CMS is National Public Radio. Back in 2009, NPR launched a methodology it callsCreate Once, Publish Everywhere. With COPE, each story is entered into a set of discrete fields within the CMS, then made available [...]

[...] ומכשירים שונים. אותו הבדל, הוא העומד מאחורי הקונספט של COPE &#8211; ראשי תיבות של &quot;Create Once &#8211; Publish Everywhere&quot; (עוד [...]

[...] the web has always been responsive, but was temporarily sidetracked by the fad of fixed-width sites.COPE: Create Once, Publish Everywhere — NPR’s Director of Application Development, Daniel Jacobson, walks through how NPR separates [...]

[...] per il futuro è la National Public Radio. Nel 2009, la NPR lanciò una metodologia chiamata COPE: Create Once, Publish Everywhere [Crea una volta, Pubblica ovunque, ndt], usando la quale ogni storia viene inserita in un insieme [...]

[...] COPE: Create Once, Publish Everywhere &#8212; NPR&#8217;s Director of Application Development, Daniel Jacobson, walks through how NPR separates content from display and uses a single data source for all its apps, sites, APIs and feeds. A great example of what Frost talks about regarding content as a fluid thing. [...]

[...] to future-ready its CMS is National Public Radio. Back in 2009, NPR launched a methodology it calls Create Once, Publish Everywhere. With COPE, each story is entered into a set of discrete fields within the CMS, then made available [...]

[...] This is NPR’s approach to getting their content out onto a variety of different devices and platforms. They call it COPE – Create Once and Publish Everywhere. So what this means is that they have set up an API that allows them to take content from a variety of different providers. They can take content from content providers; text from a variety of different sources, from all their member stations. They can take music content from a variety of different providers. And what they do is they run that through an API, which allows them to have access to clean, well-structured content that then can be queried by these individual platforms. So what it lets them do is they can get their content out onto a wide variety of different devices and platforms very easily. [...]