Hi everybody,
Walter pointed me to this thread and asked me to comment.
First the bad news; I haven't looked at the ACS 4.x CR/CMS in a few years, really since aD started work on ACS Java. As Walter points out, it is true that Stas and the WGBH team did quite a bit of additional work on the system even after that, and are probably in a better position to comment on implementation and usage details than me.
I have indeed continued to work in web content management; Bruce Keilin and I have been doing consulting for a big pharma company and in the process have developed our own Java-based CMS. Unfortunately we're not in a position to release the system open-source right now, but here is my advice to you:
1) If you're going to build a CMS, don't get caught in the trap of developing an object-relational mapping tool instead. Having a way to define custom content types is great, but my experience at aD left me wary of starting there.
2) Always keep in mind the core function of a web CMS from the user's perspective: the ability to easily create, edit, organize and manage and publish chunks of HTML text, where in most cases each chunk equals a page.
3) That said, authoring content is really the heart of the user experience for a CMS. And the coolest CMS editing experience is not the one that gives authors complete ability to go wild with formatting; it gives them the flexibility they need to present their content while constraining them enough to ensure consistency and re-usability across a site.
The coolest editing experience also gives the authors to ability to insert and configure reusable dynamic components into their pages, such as:
a) a simple blurb with some static text that appears on multiple pages (e.g. a box to donate to a charity).
b) a list of new and updated items in the same part of the site, or in the same category.
c) a list of related upcoming events.
d) a shared list of related links (both internal and external)
4) Part of ensuring a great editing experience and minimizing the need for "management" are some behind-the-scenes features:
a) a tool for configuring navigation without forcing authors or admins to maintain it manually
b) link-checking to ensure that external links are always valid and internal links are updated with items are moved or deleted
c) asset management so that authors can upload and insert images seamlessly into their pages, share images for inclusion in other pages, and perform basic editing operations without having to go to another program
d) style/"theme" management so that admins can customize templates to some extent without having to edit the templates themselves.
I could go on, but if you're going to put any effort into developing the CMS functionality of OpenACS, I'd encourage you to think carefully about your priorities.
Cheers.