Java Platform, Enterprise Edition

Java EE Journal

Subscribe to Java EE Journal: eMailAlertsEmail Alerts newslettersWeekly Newsletters
Get Java EE Journal: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn

J2EE Journal Authors: Stackify Blog, Sumith Kumar Puri, Javier Paniza, Yakov Fain, Ken Fogel

Related Topics: Apache Web Server Journal

Apache Web Server: Article

No FUD about FUDForum

FUDForum is perhaps the ideal forum software for small sites

(LinuxWorld) -- I found the ideal forum software for my non-profit sites, and It's called FUDForum. I'd like to say that I chose FUDForum after carefully examining the interface, feature set, and the quality of the code, but it really came down to one thing. It looked pretty. I later discovered that it also has a wonderful feature set along with many other things to recommend it. However, pure physical attraction caught me.

Here's how it happened. One of the computer games I play is Anarchy Online, a massively multiplayer online role playing game (MMORPG). The game has more bugs than a Florida swamp, has about as much variety as the International House of Toast, and the play balance seems like it was designed by an idiot savant who came up about 100 percent short on the savant end. It has nice 3-D graphics and environmental effects (distant thunderstorms are a killer touch, for example). That's probably why I'm still addicted to the game in spite of its outrageous flaws.

I also like the Anarchy Online discussion forums. You can look for me there if you play AO. My user ID is MuscularBeaver. (Note to those of you with dirty minds: That's Muscular Beaver as in "World's Greatest Superhero, Whoosh!" from the now-canceled Nickelodeon kid's cartoon show, "Angry Beavers.") The AO discussion forum software is based on vBulletin, a PHP and MySQL forum package that can run on Linux. The problem with vBulletin is that it is not available for free. The price is actually more than reasonable for almost any situation, and you get the source code. But I wanted something that was truly free (as in "beer") for my non-profit (as in "bottomless money-pit") sites, and

I romped through Freshmeat and stumbled across a PHP and MySQL-based forum software package called FUDForum. As I said, I lusted for it because it looked pretty, and what clinched the deal was its underpinnings -- PHP and MySQL. I don't want to overstate the benefits of sticking with PHP and MySQL for all Web applications, since it isn't difficult to mix and match languages and databases. Apache does a good job of supporting multiple languages as modules. Today, and both run heavily modified versions of PHP-Nuke 4, which is also based on PHP and MySQL. Given that my time is very limited and there was no guarantee that the forums would be popular, it seemed like it would be worthwhile to stick with PHP and MySQL.

The good, the bad, and the pretty

The first thing that impressed me was the installation process. You can install FUDForum from the command line, but I went for the option of running the installation as a PHP script to see how well it would work. It was nearly flawless. The only thing I had to do manually was create the appropriate MySQL database and a few directories. It is possible that the PHP script will do these things for you if you enable the appropriate features in PHP to execute Unix commands, but I have this disabled for security reasons. Regardless, it was so easy to execute these installation steps manually that it wouldn't have made the experience that much different.

One security setting did make an important difference, however. When I finished the installation, I could view the forums but I couldn't register a new account or post any messages. I looked at the error log, which told me the problem exactly. FUDForum choked when it tried to perform a data upload. I turned off that feature of PHP as a security precaution. I turned it back on to get the forums working, but I intend to look into the code to see if there's any way I can remove this requirement so that I can turn it back off again. I know I'll lose some features that way, but I'm hoping it won't be enough of a hit to make the forums less friendly or useful. In the meantime, I'm a bit concerned about the potential security hole, but unless the FUDForum software itself has problems, the biggest risks exist with any other PHP code you may run on your site. I can't say for certain that the default settings required by FUDForum will make your site any less secure, but I would advise you to assess all the PHP code your site uses before changing this setting.

See it in action!

If you want to see FUDForum in action, I encourage you to visit the FUDForum support discussion or one of my sites (see Resources below) to try out the forums for yourself. If you've participated in any online forums, I think you'll be amazed at how user-friendly the interface is for performing such tasks as creating lists, quotes, as well as customizing things like font size, color and typeface for any portions of text of your posts. Is the system it uses perfect? No. It adds tags to the end of your message, for example. I'd like to see it wrap the tags around the location of your cursor or, better still, wrap them around any text you may have selected. It may not even be possible to do something like that, but even if it is, I can't help but marvel at how remarkably friendly FUDForum is for users compared to other forum software I've used.

The only management annoyance was the painful process it makes you go through to add avatars to your system. Avatars are custom graphics that users can choose to display with their messages. I use a picture of Daggett (one of the cartoon Angry Beavers mentioned above). It was easy to upload my custom avatar for my individual user account. However, it wasn't easy to upload and register avatars for visitors. I hoped to make them all available to the system with one command. It forced me to add the avatars one at a time. It was a point and click process, but there were far too many points and clicks involved for when you want to add a dozen or more new avatars. Once I realized what the code was doing behind the scenes, I realized that it would have been faster for me to write a PHP script to automate the whole process in one fell swoop. Perhaps I'll write that code and submit it.

My other quibbles are minor, and one has already been fixed. FUDForum gives you a way to add a custom logo or header to your forums, but it puts it above the entire forum page. This wastes a lot of space on the browser page since it shoves the forum page down to accommodate your custom header. I changed the code to integrate my site logo into the forum header itself, which uses the screen real estate much more efficiently. If you know PHP, this is extremely easy to do. If you don't know PHP, you may get lost.

The minor quibble that was fixed was that FUDForum didn't handle nested number lists properly. I submitted a bug report on that one, and the problem was fixed the same day. I won't guarantee you'll get the same results, but I couldn't ask for better technical support.

If anything was more impressive than the technical support, it was the moment I updated my forums from version 1.2.4 to 1.2.7. There is only one generic PHP file that will upgrade any system from 1.x or later to 1.2.7. I downloaded this PHP script and executed it. It automatically locked the database, fixed the appropriate places in the code, unlocked the database, and made the system available to users once again. I visited my forums to try out the changes and everything worked like a charm. This was the slickest update procedure for a PHP project I've ever seen.

The bottom line

Now that I see the beauty of FUDForum software is not just skin deep, my short-term goal is to synchronize the database and/or the user information so that you only have to register in one place for the Weblog and the forums. My long-term goal is to integrate FUDForum into my Weblog code so that all the FUDForum features would be available to anyone who wants to post a comment about a story. My very long-term goal is to add a couple of threaded viewing options.

In particular, I like the nested message look, which FUDForum doesn't offer. My Web sites use nested posts as the default for story comments. The idea is to be able to see all the message responses indented so that you can tell who is replying to whom. A thread display provides this, but you only get to see the subject lines in the thread. Nesting lets you see the messages themselves. Some people hate nesting because as a thread gets deep, the left margin moves too far to the right and squeezes the text of the message into a tiny space. That's true, but as long as everyone has a way to set the default style to their preference and change it in real time as desired, we'll all be happy.

Don't get the wrong idea about how usable FUDForum may be if you're not a programmer. I customize code because I'm a compulsive editor. How compulsive? I've rewritten this paragraph so many times that my typing exceeded the mean-time-between-failure rating for the life of my keyboard. I'm the same way about source code. I'll customize it beyond recognition just because it's there. FUDForum is ideal for obsessive people like me, because the GPL license allows me to do whatever I want with it.

FUDForum is also a good choice if you are looking for a project in which to get involved. Version 2.0 is in the works, and it may be fun to get involved while it's still cooking.

What surprised me most about FUDForum was how well it is suited to those who want to just drop something into place and start using it with a minimum of fuss.

FUDForum is a superb choice whether you want a classy project to get behind, a project to contribute code to, a GPL forum software project to customize for your own use, or if you're a non-programmer who wants elegant drop-in-and-use forum software.

More Stories By Nicholas Petreley

Nicholas Petreley is a computer consultant and author in Asheville, NC.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.