uwMike.com

I'm in Waterloo at the moment, and next available to work in September 2008.

The Perfect CMS

July 25th, 2005

Take a quick look at the Download.com Top Downloads. Besides the fact that half the products facilitate piracy and the other half clean up spyware, what do you notice about the list?

All of the programs are highly specialized. They each have one task that they do very well.

And yet, when it comes to internet software, we’ve got bloated packages like Mambo and Nuke. They try to be everything to everyone, and end up frustrating for all. Did I miss something?

Apparently not. What are the most popular pieces of internet software out there? Wordpress, Coppermine, phpBB, MediaWiki. These programs are specialized. Why would I use Mambo, which does all of these things badly (either on its own or through plugins), when I could use each of the focussed packages separately?

Because, of course, I can’t. I can install them all, but it won’t look like one big site; it’ll look like a bunch of things hacked together.

User Control

Previous efforts to create a unified user experience across different programs have gone like this: “We have Mambo installed, so we’ll use Mambo’s user information. Since we want a gallery and a bulletin board, we’ll install those two pieces of software and hack each of them so that instead of using their own customized user tables, they use Mambo’s.”

Except, what happens? Two weeks down the road, when phpBB releases its next security fix, you’re unable to install it without blowing away your modification!

The Better Approach

Rather than bending other systems to the master CMS, what about creating a CMS that could mold itself to them? What if a package could create a seamless user experience without modifying the source of the other programs?

Is it possible? I think so.

The entire CMS is JUST user-management. All it stores is users, usergroups, and who belongs to what group.

Then, “bridges” are written that make this ultra-light CMS attach to other pieces of software. So if you want a bulletin board, you install PunBB or phpBB in the /forum directory, and then add the appropriate bridge to this system.

Bridges

What would a bridge do? It would have to be constantly syncronizing data between the “Master” CMS tables and the user tables of whatever package it’s a bridge to. So if a user changes their email address using the phpBB user control panel, that should propagate up into the Master table, and out into any of the other packages’ user tables where it applies. Then, if they hop over to have a look at the galleries in Coppermine, their Coppermine “profile” will show the new email address that was entered in phpBB.

Is it workable? I’m not sure. But I’m prepared to be that it would be leaps and bounds beyond the zillions of wimpy sites running PostNuke, where you have to log in to the forum separately from the news section.

Discussion

  1. I built a website for the Conrad Grebel student council, that incorporates content management and we added a forum system to it for discussions, etc. I choose to with phpBB based on what I had heard from other users.

    It was simple to set up, I created templates to handle the look and feel, and since I had written the CMS myself, creating the “bridge” between phpBB and the CMS user tables was easy. The user does not update their e-mail or password in the forum area, but instead updates it through the global site preferences.

    Right now I’m working on rewriting the user management section of the CMS, to make it more flexible. Thanks for the thoughts. I’m going to try and make a more flexible bridge that would appear to be more transparent.

    Posted at 12:32 pm on August 1st by David Smith.

  2. As soon as you get into modding phpBB (preventing user profile changes), you’ve broken the upgradability, though. You can use the template to remove all links to “profile.php”, but that, to me, seems like cheating…

    As I’ve begun tear into the MediaWiki source, I’ve been interested to note that their user-authorization system is deliberately designed to be easily pointed to different tables/cookies/schemes. They realise that a wiki is something typically tacked onto an existing site with an existing users table.

    On our site, the forum tables are king. Coppermine has been modded for phpBB, and it’s a custom hacked-together script that pulls posts to create the front page announcements.

    Posted at 4:44 pm on August 1st by Mike Purvis.

  3. I’m building a Web 2.0 CMS aimed at small web design companies. Please help to get this how you need it, by telling me what you would like to see. Visit the blog now at http://mkdynamic.wordpress.com/2006/08/18/the-perfect-cms-web-20/trackback/

    Posted at 9:24 pm on August 17th by Mark Dodwell.

  4. What a great idea. I haven’t head anyone describe the problem with all these CMSes in quite this way. You’re absolutely right, of course. In the past, I have written about the ideal CMS myself, but overlooked the concept of pluggability or easy integration/cohesion.

    I’m actually in the process of writing my own PHP CMS (should be at by late January 2008) and my own mini image upload/edit/batch processor/resizer/thumbnailer/gallery script (http://darkboom.com/). I’ll keep these ideas in mind. Darkboom, especially, has already been conceptualized and partially implemented as a very pluggable app; it should nest right inside your existing CMS and, with just a few lines of custom “bridge”-like scripting, will allow your CMS to decide whether or not users are logged in and able to use it. HoganSystem CMS (HS-CMS, I call it), the content management system I am writing, is actually built with a limited bridge-like functionality; it doesn’t sync tables or anything (very cool idea, Mike), but will actually accept entries (url, description, categories/tags) of pages it does not generate, just to make the whole site more cohesive.

    I’ve promised to make Darkboom free (at least for personal use and probably for all uses) and I have not decided how to release HoganSystem CMS. If you have any comments or questions, get at me

    BTW I love that you use Markdown for comments. I just discovered PHP Markdown and it makes writing for the Web so much easier.

    Posted at 10:45 am on December 19th by Alan Hogan.

  5. Oops: The link to HoganSystem (which is not up yet) got eaten. I’d sandwiched it in angle brackets. It’s at HoganSystem.com. Feel free to delete this comment, Mike, and fix the original (the like was here: “should be at LINK by late January …”)

    Posted at 10:47 am on December 19th by Alan Hogan.

Leave a Reply

You can use Markdown for style. I love hearing from readers, but please don’t hijack the discussion, use offensive language, or try to sell anything.

© 2004-2008, Mike Purvis, some rights reserved. I'm running Wordpress, and I have an RSS feed.