Content Management Essentials
To some people, content management means only one thing: web pages. Managing web (HTML) documents can be an aspect of content management if your content flows onto the web, but it's only the tip of the iceberg. Defining content in the context of your business is the first step toward implementing content management.
The cornerstone of good content management is knowing what you have. This means a unification of your content into one "database." I use quotes because "one database" doesn't necessarily mean one database product or installation, or that everything has to be in the database. The key point is to have a single place to go to look up information on any of your content. This could be a coordination database that points off to records held in other databases, for example.
Why is unification of content important? If you know what content you have, you can "mix and match" content to create new products. For instance, if your content is business news articles, you can extract just articles on biotech and create a specialized news alert service for users interested in biotech. To do this effectively, you need to know what articles you have and reliably know when a new biotech article is released. You now have a new revenue stream that requires no extra ongoing effort on your part. If you don't have a unified content database, you can't even begin to ask questions like thisyou have no single decision point.
The other half of unifying your content is to normalize the metadata you use to describe your content. If you want to find out what pieces of your content were authored between certain dates, you had better be using the same definition of author across all your content, and you had better be storing this information consistently.
PRISM and RDF
The Publishing Requirements for Industry-Standard Metadata (PRISM) group has developed a great standard for specifying metadata in XML documents. Resource Definition Framework (RDF), a standard promoted by the W3C for encapsulation of metadata, proposes a basic framework, but PRISM goes one step further by defining tag names for commonly used metadata items (format, location, title, and so on). PRISM also defines a simple rights language, called PRISM Rights Language (PRL), which can annotate digital rights management information (such as allowed usage). In the example below, the PRISM definition uses tags from three namespaces defined under the PRISM specification: Dublin Core (dc:), PRISM basic (prism:) and PRISM Rights Language (prl:).
<?xml version="1.0" encoding="UTF-8"?> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:prism="http://prismstandard.org/namespaces/basic/1.0/" xmlns:prl="http://prismstandard.org/namespaces/prl/1.0/" xmlns:dc="http://purl.org/dc/elements/1.1/" xml:lang="en-US"> <rdf:Description rdf:about="http://www.torgo.com/alexander/be_afraid.jpg"> <dc:title>Dan and Alex in the Tube</dc:title> <dc:description>Photograph taken October 2001 in Hampstead Tube Station, London </dc:description> <dc:creator>Daniel K. Appelquist</dc:creator> <dc:format>image/jpeg</dc:format> <prism:location>Hampstead, London</prism:location> <prism:copyright>© Copyright 2001, Daniel K. Appelquist. All rights reserved.</prism:copyright> <prl:usage>Not to be used for commercial applications.</prl:usage> </rdf:Description> </rdf:RDF>
The great thing about RDF-based descriptors is that they can be applied to any kind of digital asset: images (as above), other XML documents, streaming media fileswhatever is accessible at the end of a URI.
Using the RDF standard (see sidebar) as a guide, you can quickly create an asset management schema in your relational database. The schema fragment in Figure 1 is based on the concept of partial decomposition, as described in my book, XML and SQL: Developing Web Applications (Addison-Wesley, 2001, ISBN 0-201-65796-1).
Figure 1 The RDF descriptor is stored as a fully formed chunk of XML, along with the content.