OpenACS is a toolkit to build online communities, that is, sites which value users and their contributions. OpenACS provides applications which allow users to create and manage content - applications like forums, photo albums, blogs, calendars, wikis, and file storage areas. Users can obviously create content in these areas, but they can also be given extra privileges to moderate the content or grant privileges to others. So, administrators can delegate the management of the site to those who are most invested in it - the community. Currently, OpenACS’s main focus has been at educational institutions (MIT, the University of Heidelberg, and many others) where it’s ideally suited for course management. It’s currently not polished enough to be used out-of-the-box unless you’re comfortable with Linux system adminstration, but improvements are being made in that area.
This site is built on OpenACS, but I barely scratch the surface of the features available. I plan to add more stuff soon, but OpenACS is in the midst of releasing its next version, so I’m concentrating my extensive free time in that endeavor. Once OpenACS 5 is out, I’ll upgrade this site and then add some of the bells and whistles.
To be honest, I’m not sure that OpenACS is the right application if you’re just looking to build a personal website. Movable Type is much more suited to that purpose. OpenACS is useful when you want to allow a bunch of users to each have complete control over their own personal websites, yet also allow those users to interact with each other, perhaps even aggregating content from multiple users in one place. So, if you wanted to create a service that competed with TypePad, you could use OpenACS to do that.
OpenACS’s main power lies in the fine-grained control that it gives you. Every object and area can be controlled the way you want, so the level of control that users have is up to you. The database API is clean and gives you full access to the database of your choice - Oracle or PostgreSQL. Your hands aren’t tied. The templating system is intuitive yet offers a lot of features for more complex, specific cases if needed. A lot of work is currently going into building and improving an automated testing framework. There are plenty of other reasons why I love OpenACS and I’ll write about them some more as examples of them come up.
In short, OpenACS is the way for me to get things done on the web.