views:

479

answers:

11

As part of a wide ranging job for a cystic fibrosis support organization, they'd also like a web site set up and I've decided on Apache running on Linux (due to its security and low cost mostly). Other than (fairly) static content, they also want a forum where people can discuss issues with the condition - it'll be attached to a hospital chain so there'll be plenty of medical staff there who know little about the web.

I can handle all the specific coding and Apache setup since I've done it before but I'm interested in people's opinions as to whether I should roll my own forum software or get a hold of some ready-built stuff. I've not had any experience with forum software but I could generate my own (initially buggy, I'm sure) in a month or so.

It'll require registration and login to leave comments (but guest access just to read) and I'd like it to be 'pretty' (excuse me while I remember damning customers for providing similarly vague requirements specs :-) but not necessarily infinitely-configurable with skins/themes/etc.

If anyone has some compelling reasons (and experience with specific products that can provide what I need), I'd be interested in hearing about them. Alternatively, does anyone have any 'gotchas' they experienced while coding their own forum software?

+1  A: 

My answer would be: don't reinvent the wheel, there are plenty of fora software out there. My preference would go for RForum if you need only that.

Keltia
That's a good start - it actually has a couple of sites that use the RForum software that I can check out. Thanks.
paxdiablo
And the one at http://www.ruby-forum.com/ looks pretty damn good - I need to check if it has rego/login.
paxdiablo
+12  A: 

Advantages to rolling your own:

  • a non-standard custom-built system means you'll be less prone to "standard" attacks (e.g.: a vulnerability in PunBB) since bad guys tend to bother with exploit-hunting only on widely-deployed systems (more return on their investment)
  • absolute control over how your system works and looks
  • you'll learn a lot

Disadvantages:

  • you'll repeat mistakes other people have already solved
  • it'll take you longer to get up and running
  • long-term it'll be more maintenance (since you have to fix bugs & add features yourself).
  • you can't "leverage the community" -- if you choose an off-the-shelf forum that has a plugin system then there's a whole bunch of community add-ons that won't be available for your custom forum software.

There's a GIANT list of forum software on wikipedia -- there's most likely something in there that will suit your needs that you can get up and running quickly.

Stewart Johnson
Is that your real hair? Seriously though, good points - my brain's full enough as it is. Is PunBB something you'd recommend?
paxdiablo
I don't have much experience admin-ing forums. There's a giant list on wikipedia: http://en.wikipedia.org/wiki/Internet_forum_software. It might be a good candidate for a separate SO question: "what's your favourite forum software?"
Stewart Johnson
You should probably check out the PHP-specific forum list on Wikipedia: http://en.wikipedia.org/wiki/Comparison_of_Internet_forum_software_(PHP)
Jens Roland
+1  A: 

I'd say, don't waste your time. phpBB 3 is pretty stable, usable and feature-rich forum. We use it at work (for our internal discussions), and I really don't have anything bad to say about it.

Paulius Maruška
Except that it has, like many PHP-based software, a long history of security-related bugs...
Keltia
+2  A: 

Forum softwares tend to have rather complex minimum requirements. A few things you are very likely to need do matter what you do:

  • Forum/thread/post hierarchy;
  • User system;
  • Security system (eg user/admin classes and all kinds of restrictions for users);
  • Gathering statistics;
  • BBCodes or some other minimized markup language (NEVER allow users to do full HTML);
  • File uploads and avatars;
  • Bans and other punishments;
  • CAPTCHAs;
  • etc.

Ready made forum systems provide this out-of-the-box and lots more. Setup is mostly easy too. Why do it all over again yourself?

Vilx-
That's a good list and is now pushing me firmly towards ready-built :-).
paxdiablo
+6  A: 

IMHO the old "don't build what you can buy" adage applies to this (well, the web 2.0 version is obviously "don't build what you can download"). Have a look around at the available forum software, pick one that covers 99% of your needs and tweak it to do the rest.

If you still want to build your own forum software that'll probably be a cool side project but if the job is to get a forum up and running, then go and download one - don't try to mix up the desire to do cool stuff and the day job unless the day job is just to do cool stuff only.

Timo Geusch
Yeah I'm actually leaning towards buy/download since I don't want to spend X months getting it up and going. But I thought I'd canvas those more knowledgeable than me just in case.
paxdiablo
+1 this stuff is so boilerplate now it's hard to justify the considerable effort required to roll your own unless you'll get a lot of mileage out of doing so
annakata
+1  A: 

I'd concur with most of the above posters that since you want something which appears fairly standard, why reinvent something that already exists? Like any development, creating forum software is probably much harder than it looks! There will be problems solved in the existing software which you haven't even considered.

It's worth adding that if you do require any specific additional functionality, you can always build that on top of an existing solution anyway, which is especially easy if you have the source code (whether open source or commercial).

Ayresome
+1  A: 

From the sounds of the website that you are building, there is the potential for the forum to be a highly useful and visible resource, it would be good to go with something that already exists, due to the quality of a lot of the products out there and the rich communities that surround them.

I think that vBulletin, although a paid for product, would suit your needs and give you a great base to build a community on.

navitronic
+2  A: 

One of the best-kept secrets on the internets is a little gem called FUDforum, by Ilia Alshanetsky.

And yes, it's the same Ilia who wrote xDebug's original profiler code, improved the caching in MMcache, fixed several security bugs in libmcrypt, and who was the release manager for the PHP language from 4.3.3 to 4.3.6+. He is, as my friends in Boston would say, wicked smaart.

Because of this, FUDforum is robust, ridiculously fast and more secure than probably any other part of your web application will ever be. It comes with a neat install script and it has all the features you'll need.

Plus, it's not a high-profile target like phpBB or vBulletin, which means you won't have to worry about spambots constantly banging on the gates.

Jens Roland
+1  A: 

vanilla is pretty bare bones and easy to configure, perhaps find a system which is easy to extend vs building everything yourself

Tom
+3  A: 

Having written my own forum software before...

It seems like a simple problem, but when you get into it, you find that there's a lot of little things that you'd like to do nicer, and it takes a lot of time. Mine was cool and all, and I did get paid for it, but if I was doing it over again (which has also happened), I'd use a customizable pre-made solution, and spend all my spare time doing something productive. :)

dannysauer
+1  A: 

Ready built until you have some really unique features needed that can be tied to money it will make you.

Jas Panesar