I was reading the following article on Why ActiveRecord Sucks, which I agree with mostly, but what really stood out to me was the example schema mapping content for a CMS.
I’ve often been frustrated by things like versioning and attributes for complex content types stored in a database, and my best solution stores references to files that have semantic content, stored in version control. But that requires parsing, which isn’t a big deal as long as your content isn’t too big, and searching, which is fine for the file system (grep can often outperform DB searches, especially for full text), but abyssmal for versioned documents, at least in subversion. The result being that you can only search the current version efficiently.
But here in the anti-AR article is an entity-relationship which clearly defines content in a logical, versionable way within the database.
The immediate application I saw for this mapping isn’t articles, but test cases, bugs, and requirements. I might follow this model for Harvest, though I might go with files, since I’m thinking wiki-style semantic content.