It’s the FUBU content management system.
And by that I mean it was designed for techies, by techies. And for “normal” people, too. This is one system that is user-friendly both on the front end and on the back end. What’s the last time you saw ANY J2EE webapp that comes with an optional command-line interface for disaster recovery?
Let’s look the ways in which OpenCms excels in a crowded and highly competitive niche:
- Content types are defined using XML schemas
- Structured content is stored as XML, and rendered using JSP templates and custom taglibs.
- Most system resources are managed through the “Virtual File System” (VFS), which is a database-backed repository similar in concept to Microsoft’s long-promised WinFS.
- Powerful module packaging system allows effortless export and import of extensions
- Multiple databases are supported through the use of properties files (!!!) that contain translations of various queries into different SQL dialects
- Clusterable and scalable without arcane remote interfaces and protocols
- Automatic versioning of content, with rollback and diff functions
- Site navigation is an integral part of the system and not an afterthought
- Fast, responsive, customizable management interface (“Workplace”)
- Friendly URLs. Nothing but friendly URLs.
Imagine this: You can create a complex content type as a special .xsd file, which can specify not only the structure of the content but the options for the auto-generated content input form. You then can create one or more templates to display that content using plain old JSP, scriptlets, and taglibs. The content you create is stored in a database-backed repository that looks like a plain old file system (down to our old friend index.html), but with the ability to tag items with nearly unlimited free-form metadata.
Make a boo-boo? Roll back to a previous version with a few mouse clicks. Want to put something live? Flip a bit in the database with a few mouse clicks — no worries about the management and delivery stages getting out of sync, failed publish jobs, checking the status of multiple endpoints, etc. Need to create a new page template? Just use your favorite JSP editor and upload it through the workplace, then change a bit of page metadata. Need to embed a custom application or extension? JSP is your friend.
Is it perfect? Nothing is perfect, no matter what your local friendly Vignette account rep may say. Lack of an OOTB workflow engine is the most glaring omission, though the project management tools go a long way toward making up for it. Oh yeah, and I accidentally blew away the master log4j.properties file while trying to deploy my own custom module code through the workplace, but that was easy enough to fix
But if you can live with the few deficiencies, you’ll find much to like about OpenCms, either as a content contributor or as a developer. What’s not to like about familiar technology in a robust, simple platform?
Recent Comments