March 20, 2007 Update: I’m going to post an update on this that should hopefully better state what I meant when I first wrote this article and better review of the latest beta version. Hopefully it is better organized with better clarity than this ranting and ungrateful (to the many developers of phpBB that slaved many hours to make phpBB the way it is) post. I apologize for the insensitivity of this post and for the FUD contained within.
phpBB Problems
The development of phpBB 3 has been past due for a long time. In my humble and not so educated opinion, it has faded (or if it hasn’t already, it will fade) into obscurity. The phpBB 2.x development line has been overtaken by other forum projects, including better security in their package. SMF offers many of the features that will appear in phpBB 3 and also offers phpBB ease of installation and use.
I should point out that I hated the predecessor of SMF. SMF is the golden son and I wish the developers the best. SMF does lack proper naming standards, or could use better established ones. I thought that “register1()” and “register2()” were horrible names for functions, but then I looked at the sign in functions and shouldn’t say I was surprised when I seen that they were named “signin1()” and “signin2()”. A correction, these are probably only two examples out of the ten; the rest of the functions properly describe the action.
I won’t say anything of SMF procedural usage, because I think it suits it well.
phpBB 3
The next version of phpBB does include a lot of features that have been missing from the 2.x line. It still doesn’t answer the question of whether phpBB 4 would take 2 or 3 years to add other major features.
SMF already has the advantage, because it includes those features that I already look for. While phpBB does offer features that SMF doesn’t, it wouldn’t take SMF long to include those features and include features that phpBB won’t have until the next branch.
Sadly, phpBB suffers from the “not developed here” paradigm. The push currently is for packages to include User integration and phpBB (Beta 1) doesn’t include those and is “locked in” to the user table. It may take several years before that is added and by then the user evolution might go from decentralized user authentication (like OpenID). I don’t think phpBB would be able to keep up with the evolution of user needs and other forum packages.
Whether phpBB 3 kicks major ass, will depend on the final version. The feature set looks to be damn good one with emphasis on security.
FUDforum
I remember a saying that either an open source package is easy and missing features and/or security or it is secure but missing ease of use. FUDforum reminded of that. One thing you can say of SMF and phpBB is that administation is easy. However, I can only see the developers improving that, but it is something that will keep me from totally replacing SMF with it on other projects.
Damn good Integration
The reason I used FUDforum, was that the project leader demanded forum integration, so I had to find a forum that could replace the crappy internal one. I already developed my own message board and I have no interest in supporting another. I’ll recommend coding a forum to anyone, but for education purposes only! The thought of using something that probably wasn’t even developed for a month over something that has been developed for more than two years is crazy and may I say, “Stupid”?.
This is probably one of the few times, where I’ll say focus should be on the project, and not on a component as large as a forum. SMF does include SSI integration, but I’m not looking for that method. FUDForum includes APIs for external user integration and forum integration. Which are both required for the project. I can forgive FUDforum for making my life a whole lot easier.
A look at the user importer: (Please note: The reference to the connection isn’t needed, but I’ve had problems before with separate connections and this was a precaution against any bugs.)
< ?php
$userDB = mysql_connect($host, $username,$password);
mysql_select_db($database_name, $userDB);
$userQuery = mysql_query("SELECT * FROM BETA_PLAYER", $userDB);
require realpath(dirname(__FILE__).'/../../FUDforum/scripts/fudapi.inc.php');
while($row = mysql_fetch_assoc($userQuery))
{
$fetch = array();
$fetch['id'] = $row['forum_id'];
$isImportedQuery = fud_fetch_user($fetch); // Passing just the array seems to work.
if(empty($isImportedQuery)) {
// Build User
$vals['login'] = $row['username'];
$vals['passwd'] = $row['password']; // Lucky (??) The passwords weren't encrypted (!!!).
$vals['email'] = $row['email'];
$vals['name'] = 'John Doe'; // Names are required, but project user table doesn't has them.
$vals['alias'] = $row['display_name'];
$id = fud_add_user($vals, $error); // Store return id for project user table.
if($id != 0 and empty($error)) {
// The project user id is different from the forum id, and for signing in,
// it is stored in the project user table.
mysql_query("UPDATE BETA_PLAYER SET forum_id=$id WHERE id=$row[id]", $userDB);
echo "$row[username] has been added... $id<br />\n"; // For debugging
}
}
}
Much love for making, what would normally be a long complicated testing process, into a short script that works perfectly the first time. The same can’t be said about FlashChat user integration that might fall apart if any one just blows on it. Letting the package manage the user instead is a far less painful experience, which is counter-intuitive.
Possibly Related Posts:
- Bullet: E-Book Library Management and Content Server
- Using ZendFramework 2 beta1 For Directory Project
- The Way of Kings and Cosmere Theory
- “In Time” Movie Premise Flawed
- Completing HTTP Library For PHP