My favorite PHP-based forum package out there is now PunBB. I hear that FluxBB is a fork of it, but the two are cross-pollinating each other for some reason and PunBB was the only one I could get a private messaging extension working properly on.
Now, one thing I don't like to see in projects is a mixing of HTML, SQL, and PHP. I like everything in its place as much as possible, although I realize it's not always possible. I also don't like to see forum and blog packages have heavy dependencies on other things because sometimes those other things can get upgraded and break their project. So, I like to see some of these forum and blog packages to be as self-contained as much as possible.
Although PunBB does mix HTML, SQL, and PHP, they do so with grace, which I have rarely seen before. They keep the file and database table count very low but not too low, they comment the code well, and they do things consistently. Sure, I'd like to see a change in their future where they separate the HTML, SQL, and PHP a bit more, but this will do for now, relatively speaking. When you look under the hood with phpBB, IB, Phorum, vBulletin, SMF, and many of the top packages out there, SMF comes fairly close to being easily customizable and understandable, but Pun/Flux beat them all in my humble opinion. If you don't believe me, check it out for yourself.
As for dependencies, the only thing you need with Pun/Flux is PHP5 and MySQL5.
So, there are some popular things people like to do with these forum packages:
* Build a separate site (or integrate with a package like, say, WordPress) where the forum software is a separate directory and listed in the main nav. Then, they provide a login from the homepage which also activates the forum software.
* Build gadgets that draw content from the forum or let one interact with it, such as a way to interact with private messages, or see the last forum topics.
* Make all blog commenting go into the forum system so that it's available in both places.
* Switch the BBCode editor with a rich editor like TinyMCE.
* Retheme the forum to match the rest of the site.
I've just gotten off a project where I did all of the above and am getting paid for it. If you're freelancing and looking for cash, this is something I recommend you get familiar with because it's a popular client request.
My Favorite PHP-Based Forum Software
Moderator: General Moderators
-
alex.barylski
- DevNet Evangelist
- Posts: 6267
- Joined: Tue Dec 21, 2004 5:00 pm
- Location: Winnipeg
Re: My Favorite PHP-Based Forum Software
Why is it not *always* possible? While I might agree sometimes it's not always justified (performance reasons, overkill, etc) but it's always possible.I like everything in its place as much as possible, although I realize it's not always possible
Thats not just blogging software...thats the problem with most software. Which is why I'm an advocate for open standards.also don't like to see forum and blog packages have heavy dependencies on other things because sometimes those other things can get upgraded and break their project. So, I like to see some of these forum and blog packages to be as self-contained as much as possible.
I can't stand software that is extensible but only by the original developers. When I buy product A and they also offer product B but it's next to impossible to integrate company X product B instead...thats a sign of poor software development.
-
supermike
- Forum Contributor
- Posts: 193
- Joined: Tue Feb 28, 2006 8:30 pm
- Location: Somewhere in the Desert, USA
Re: My Favorite PHP-Based Forum Software
Hockey, I would agree with you, but it's an imperfect world. Sometimes we have to run with what works, and for me, PunBB just works.
Now, does that mean one cannot be inspired by Pun/Flux and start a brand new forum F/OSS package on LAMP that separates SQL from HTML from PHP? No, but who has the time? Man, I'm swamped as is, trying to keep the cash in here at a decent enough level to pay for normal stuff with all the prices shooting up and my dollar growing weaker. Soon we'll all be pouring out boxes of worthless twenties in order to get groceries and fuel.
So, anyway, if we're going to have a wish list, here's what at least I myself wish it to be:
- Obviously, separation (at least 80% is good enough for me) of SQL, PHP, XHTML, and Javascript.
- Has a dependency on MySQL5.051a+, PHP5.2.4+, TinyMCE, JQuery, and that's it. Comes bundled with its own jQuery and TinyMCE library to suit it. (On second thought, there's a new up-and-comer with jQuery called jwysiwyg (http://code.google.com/p/jwysiwyg/).)
- F/OSS
- One CSS file for styles, another for colors. The admin system lets you switch the theme based on what it finds in the css subfolder.
- Central conf file that's easy to customize and isn't flooded with XML. I hate XML.
- PMs built in, not an extension or afterthought.
- Is designed with the thought in mind that it might be contained in some other kind of site under some main navigation menu item like "Forums", and therefore has easy functionality to provide logins from other pages, private message access from other pages, latest forum posts either throughout the system or a given set of forum categories or forums, latest forum topics either throughout the system or a given set of forum categories or forums.
- Much of the same simple features of PunBB.
- Swappable written language (not programming language). The admin system lets you switch this just like the CSS page themes.
- Simple templating engine built-in. Hey, if it's PHP Alternative Syntax with some functions added in to keep it tighter, then so be it. Just as long as the core devs that approve/decline everything don't make this into a PHP playland instead of a place where XHTML is mostly stored.
- An extension engine. I kind of like how Pun/Flux do this. I don't know of a more flexible way than the path they chose. I mean, the only other way would be to create pseudo-events with PHP, and pass all the core stuff around in those events so that items can be hooked -- but that increases the volume of code for the project immensely. So that's why I like how Pun/Flux do it.
- Swappable database layer with SQLite, PostgreSQL, or MySQL. Others could be done fairly easily.
- Oh, and lest I forget, all the devs get hot new girlfriends. Every project should come with that.
Now, does that mean one cannot be inspired by Pun/Flux and start a brand new forum F/OSS package on LAMP that separates SQL from HTML from PHP? No, but who has the time? Man, I'm swamped as is, trying to keep the cash in here at a decent enough level to pay for normal stuff with all the prices shooting up and my dollar growing weaker. Soon we'll all be pouring out boxes of worthless twenties in order to get groceries and fuel.
So, anyway, if we're going to have a wish list, here's what at least I myself wish it to be:
- Obviously, separation (at least 80% is good enough for me) of SQL, PHP, XHTML, and Javascript.
- Has a dependency on MySQL5.051a+, PHP5.2.4+, TinyMCE, JQuery, and that's it. Comes bundled with its own jQuery and TinyMCE library to suit it. (On second thought, there's a new up-and-comer with jQuery called jwysiwyg (http://code.google.com/p/jwysiwyg/).)
- F/OSS
- One CSS file for styles, another for colors. The admin system lets you switch the theme based on what it finds in the css subfolder.
- Central conf file that's easy to customize and isn't flooded with XML. I hate XML.
- PMs built in, not an extension or afterthought.
- Is designed with the thought in mind that it might be contained in some other kind of site under some main navigation menu item like "Forums", and therefore has easy functionality to provide logins from other pages, private message access from other pages, latest forum posts either throughout the system or a given set of forum categories or forums, latest forum topics either throughout the system or a given set of forum categories or forums.
- Much of the same simple features of PunBB.
- Swappable written language (not programming language). The admin system lets you switch this just like the CSS page themes.
- Simple templating engine built-in. Hey, if it's PHP Alternative Syntax with some functions added in to keep it tighter, then so be it. Just as long as the core devs that approve/decline everything don't make this into a PHP playland instead of a place where XHTML is mostly stored.
- An extension engine. I kind of like how Pun/Flux do this. I don't know of a more flexible way than the path they chose. I mean, the only other way would be to create pseudo-events with PHP, and pass all the core stuff around in those events so that items can be hooked -- but that increases the volume of code for the project immensely. So that's why I like how Pun/Flux do it.
- Swappable database layer with SQLite, PostgreSQL, or MySQL. Others could be done fairly easily.
- Oh, and lest I forget, all the devs get hot new girlfriends. Every project should come with that.