Need a Database-Driven Site? Give Open Source a Try
I first got bitten by the open-source database-driven site bug back in 2001, when I launched a site using PHP-Nuke. The PHP scripting language and the MySQL database running on Linux, all freely available, combined with a sudden drop in the cost of hosting, had resulted in an explosion of both commercial and free PHP scripts. Some of these caught on and in time became fully-fledged applications with enough functionality out of the box to serve as the basis for a surprisingly robust site. One that could be customized to meet personal needs or those of a client.
What do you need to get in the game? Surprisingly little. In terms of hosting, pick a reliable firm that provides Linux-based servers, supports PHP and includes the ability to create one or more MyPHP databases. I've had good luck with GoDaddy's Economy hosting, but there are many great providers these days. If you're totally new to databases, you might luck out by having a host that provides one-click install for several of these systems via your admin area, as does GoDaddy. If not, getting them up and running will be a bit fiddly the first time through. Here's where the support forum dedicated to these apps will be a lifesaver, so a tip before committing to any one of these is to first check the related forum. If it's busy and not just packed with posts from frustrated users, consider that a green light.
One you've reached the Hello World stage and the site is reachable, be prepared for a long learning curve. Go through every help file and readme, and spend as much time as you can trolling through posts in the forums. Be assured that pretty much any problem you're having has been experienced, and hopefully responded to, before. If not, become a regular participant in the forums. My experience has been that the user communities of these apps are typically very willing to help newbies who post polite, clear requests for help.
Okay, you've got it running, you've read the help and you know where to get your questions answered. But the default install looks butt ugly and you need to add functionality—how far can these systems be customized? Well, an amazing amount. I'll point you to a few specific examples below. Obviously, if you're a PHP, MySQL, CSS and HTML whiz, the sky's the limit. But more realistically, what you'll be able to accomplish will be limited by what you know and what you're willing to learn. In fact, mucking about with these apps is an excellent way to lay the groundwork for competency in areas in which you're currently weak. A little tweak here, a hack there, and next thing you know you're creating entire modules that are the envy of the user community. Modules?
Modules, components, contributions—you'll find each of these systems has its own way of referring to how functionality is bolted onto the core system. Need to integrate forums? There's probably a module. Like to add a blog? Snag the component. Typically a suite of such functionality is included with the core install, with more created and made available by the user community.
You're intrigued but what's out there? There's so much, and it's changing so quickly, that the best thing to do is simply head to CMS Matrix, which has the unenviable job of trying to keep track of all the players.
I often get asked what my own favorites are, and when it comes to a classic content management system I still lean towards Mambo, although it received a setback last year when the core developers packed up their bags and set up shop as Joomla, thereby creating a "fork." Mambo is a stable package that's easy to set up and use ongoingly, well documented and with a huge user community. Lots of components and modules are also available, making it highly customizable. It comes with decent templates that are relatively easy to modify, and a wide range of third-party templates is available. Or you can just roll your own interface. As an example of corporate Mambo use, check out the site for Porsche Brazil. Not too shabby.
There are also lots of specialized CMS's around and, as you might expect, some dedicated to commerce. Probably the most successful is osCommerce. Unlike Mambo, this effort is very rough around the edges, with certain aspects undocumented, a reliance on HTML tables and a primitive approach to adding and displaying site functionality, called "contributions." But to paraphrase Galileo, "And yet, it works." osCommerce is going through growing pains but the core developers seem to be on the right track and the user community is robust. As examples, take a look at this Swiss pasta store or the ingenious LogoMarket.com (which I was startled to see reproduces part of our site description in the Graphics.com Resources directory).
You should be getting some ideas by now, about how you can extend your skills and the range of services you can offer your clients. As in most things proficiency won't come overnight but I'm betting time invested here will open up new horizons for your work and change the possibility of what you do for your clients.
Chris Dickman
Editor, Graphics.com


Leave a comment