I was talking about Content Management in general terms with a friend the other day, which started off a series of thoughts. So here are my thoughts, although I'm sure the current CMS already incorporates some of them.
There are of course many ways of categorizing and presenting content depending on what framework it is presented within (i.e. article, Q&A, news). Content might be categorized in sections, by subject, or by category.
An alternative, and perhaps more flexible and useful, way of presenting content might be using keywords. The text is just text and the structure is created through the use of keywords connected to the text. That's pretty standard.
There are different keywords, though. There are keywords that describe the content type (news, comment, post, etc.) and there are keywords that constitute subject (OpenACS, photography, beer).
Connecting these two types of keywords, we get different "views". To create a page that displays news, ask for content having the "news" keyword attached to it, ordering by date. Want "news about beer", ask for conent having the "news" and "beer" keywords attached to it. This way the user (i.e. the CMS admin) creates the structure.
Instead of having huge chunks of text (an article for example), all content is divided into smaller items of text or subelements with their own a set of preferences/characteristics (header, text, bgcolor - could be many things). These may be connected into an article, but may as well be structured into a Q&A forum, depending on the view. Or even an RSS feed. Content would be completely seperated from presentation this way. This structure of dividing content into minor divisions makes it, not only easy to create different views, but also easy to edit articles, move around and delete different sections, etc.
An article might exist of 5 sections, which would in the new system constitute 5 elements, each with their own header, text and other characteristics.
Those were the initial thoughts. I was thinking along the lines of deprecating lars-blogger, creating this CMS, which would make it easy to present content as both a regular article and as a weblog. In other words, the initial thought was that two packages resembling each other so much, shouldn't co-exist.
Then I went a little further and thought perhaps this could be extended to OpenACS at large. Content would live in the Content Repository and packages like News and Lars-blogger would be predefined views. You wouldn't have to setup the news package to handle news and lars-blogger to write an entry - content would be at one place.
The hard part would be to create an API flexible enough to support all these views (reminds me of the unix philosophy of small sharp tools, each intended to do one thing well) without having to build any procs specifically for a package. That way "content packages" could live only as "views", supported by applications such as general-comments, news-aggregator to further spice things up. It would be a sort of "content-builder" :)
If this is even possible, I am not sure. I do know that it is a little far-fetched and I certainly don't expect the OpenACS community folks to jump out of their chairs :) But perhaps it might stir some ideas? If nothing else, for the CMS.