Renewed vBulletin License, But Left Feeling Very Cold… by Detomah

I’ve been using vb4.x since it came out and was never really very happy using that software, I much prefered vb3.x as it felt much more like forum software, self contained, it essentially did as it was meant to, giving me room to do all the other bits like CMSs, article scripts, galleries, etc myself should I need or want them. Version 4 always felt too much like it was trying to be something more than it actually was, trying to be too big and too clever, blogs, CMSs, Groups, changable profiles, etc, etc, way too much, not done well enough and for the most part, extremely confusing for the average visitor, just wanting to join, have a chat, get the information they want and general simple stuff like that, not need to read a manual before they could get started and that’s what it has felt like using vb4.x…. To me, vB4.x has struggled, it has never been the completed product and it has never felt like it has reached anywhere near the level it should have. I remember the jump from vb2 to vb3, now that was exciting, that was a real step forward, that saw FORUM software improve, become more usable, offer more to the end user and simply continue being what it was, but better, vb4.x besides using newer coding practices felt like a massive step backwards, sure it offered more functionality and bits of AJAX to make things feel smoother, but it has been a real let down….

So…. Moving on to vB5 which I know is just a “beta” version at the moment, but seriously, i’m gobsmacked… It should not even be at alpha stage looking at it, never mind showing as a demo version and available for customers to buy, download and install… But my biggest gripe, is that it simply does not look, feel or act like forum software any more. It feels like a poor clone of Facebook and no amount of beta versions is going to change that, because it looks like that is the way it has been designed.

I’d love to give feedback on all of the features, but there’s next to nothing to cover. I’ve installed a completely fresh copy onto my server and have had a good look around the back end, the admincp, the settings, etc, etc and it just feels and acts horribly. I’ve used SMF which is free and that feels more professional than this release. It simply should never have been put anywhere near the public and I feel that I have completely wasted money, because no matter how long I wait, I don’t want a bolt on for Facebook, a Facebook clone, or just some other random clunky social network… If I wanted that, I could have gone to one of the many specific social network clone scripts that are out there. vBulletin is supposed to be forum software and sadly in my mind, you have killed it and that will become very apparant as customers run to the other forum software providers, who actually do as their customers want, instead of providing what you demand the customers use. Loyalty only goes so far…

Suffice to say… I’ll be uninstalling vb5 and it will sit there gathering dust, until such time as it becomes a proper functional forum solution, which sadly I suspect will never happen, as it has gone too far down the social network path now… Such a shame, this used to be a fantastic bit of software, but now it is just a shell of it’s former self.

The biggest shame for me is this:

The vBulletin 3.8 forums will remain active for use for the foreseeable future for support purposes. However please note that vBulletin 3.8 is considered end of life. This means that it will not have further bug-fix release or new functionality added and may not have any future security patches. We will evaluate security issues if they are received.

As that means I have to continue version 4, or run the risk of security holes being found and exploited.

Extremly dissapointing, expected better, should have known.

 

Update: Suffice to say, I have now looked closely at Beta 11, but I am still feeling very cold about the product. This feels like the biggest step backwards of any script i’ve ever handed over money for.

I really hope that you guys plan on supporting vb4 with security patches for the next few years, because there’s no chance in hell of me installing vb5 in the state it is and I still seriously doubt that going from beta 11 to gold is going to change that view, even though i’ve already handed over more than £200 to renew the licences for the lifetime of vb5.

vBulletin 5 (Code) Review by Rafio

Reposted from AdminExtra.com

So I looked into PHP errorlog then into its files and I saw… I dunno how to call it? Massive pile of dung?

It looks to me that vB5 code has been writen by guys who only just recently started learning PHP. No matter which file I open, I am suprised by some poor code that was written by amateour who had no idea, experience or knowledge of solution of problem at hand. IPB 2.0 that was released back in 2004 is years ahead of vBulletin 5 code.

Centralised input processing in vB5 is non-existant. Every sane application has some middleware between your application and request’s GET and POST variables… but this is not sane application. This is “write boilerplate(boilerplate($_REQUEST[‘meh’]), boilerplate, boilerplate::boilerplate(boilerplate->boilerplate())) every time you process request” type of application.

Their way of calling model?

$response = $api->callApi('content_attach', 'upload', array('file' => $_FILES['file']));

What about $api->get(‘content_attach’)->upload($_FILES[‘file’])? Oh… right, I forgot that knowledge of PHP and design patterns.

Dependency Injection?


$api = Api_InterfaceAbstract::instance();
$config = vB5_Config::instance();

How about service container?

phpDoc, php standard for documenting code by comments?

/**Upload a photo. Return an edit block and the photo URL.
*
**/

Notexistant.

Unified coding standard?

/**Upload a photo. Return an edit block and the photo URL.
*
**/

/** This method uploads an image and sets it as the logo in one step **/

/**
* @static
* When current lang charset isn’t the one in http content_type header
* this method will convert All Ajax $_POST data into current language charset
*/
None. *(and btw, last one is not correct phpDoc method documentation)

Tons of testing code commented out?

//echo "Logged into facebook
\n";

//$returnValue = array(‘error’ => ‘Invalid AJAX method called’);

// $page[‘searchJSON’] = $info[‘searchJSON’];
// $page[‘searchJSONStructure’] = $info[‘searchJSONStructure’];
// $page[‘error’] = $info[‘searchJSONStructure’][‘error’];
Present!

Routing-aware links builder?

header('Location: ' . vB5_Config::instance()->baseurl . '/register');
And to think Django is seven years old now and has this feature since beginning.

Separation between business logic and presentation?


if ($storecssasfile)
{
foreach($this->pending as $css)
{
$replace .= '\n";
}
}
else
{
$joinChar = (strpos($vbcsspath, '?') === false) ? '?' : '&';
$replace .= 'pending)) . "{$joinChar}ts=$cssdate \" />\n";
}

This code could be allright if it was html version aware… which its not, it generates XHTML.

Lots of evals?


eval(standard_error(fetch_error('searchnoresults', $displayCommon)));

eval(‘$faq[\’text\’] = “‘ . replace_template_variables($text) . ‘”;’);

Lots’a evals.

Modern object-oriented code?

(This one would require me to overstep bounds of quote to prove to those who dont have access to vBulletin code so you have to give me credit of trust.)

vBulletin 5 codebase is neither modern or object-oriented. Best way to descibe this code is to call it php 4 without reference assigment (“&=”) operator. Code in “include” directory is object-oriented (it even follows PSR-0 standard!), however majority of it looks more like set of functions that were put together in single container for easier access via autoloading than real objects. On opposide side of spectrum you have “core” directory which is procedural. Why? Who the hell writes “MVC” code (I am generous here) then goes “screw it, we will keep busines logic in procedural files”?

From reading their code I am getting idea that it was writen by people who adressed programming issues by mimicking other people code. They wanted “smart” way of handling data manipulation so they propably took idea from IPB’s 2.3 API’s. They wanted smart autoloading so they propably looked up xF’s (and by proxy Zend Framework) PSR-0 implementation. They wanted to write OOP code, but they didnt know what that really means so they packed their functions together in classess. They didnt had time to learn of flaws in PHP string manipulation functions which would force them to write input middleware and sanitize it for stuff like null bytes. They didnt know php5 has mb_string as standard lib for working on multibyte strings to they writed their own vb5_String class. Everybody has Auth class but they couldnt understand why one uses auth class in code so they made their own vb5_Auth which does nothing besides setting cookies on user’s sign-in and returning redirect link after successful sign-in. There is no logic in this class.

I see no greater scheme of things in vBulletin 5. By looks of code I can say that it was writen by group of programmers who had no workflow organisation, project plan and very different (usually low) skill levels. Lots of code was writen in hopes for best and without any backup plan. In many places they are using $_REQUEST variables without checking if those exist. If they do, its great. If not… well, depending on your php.ini and error_reporting PHP wont complain… unless its to php error log which eventually will be flooded with interpreter notices.

If I was to use vBulletin 5 code as benchmark of IB capabilities, I would make sure this company never gets any money from me and would stay off from their products. Internet Brands is network counterpart of ’96s Bethesda software (Google Buggerfall if you care). I see no care about product quality in IB work, only rush to people wallets packed in corporate marketing.

Finally this code also makes IB claims that xF “stands on the shoulders of more than a decade of development by Jelsoft” laughtable. Decade of development and best you could do is this pile of crap? You really have balls to rip people off like that.

Really, vBulletin 5 feels like aftertime project of some amateur who was using old PHP tutorials as source of knowledge, NOT corporation-backed product aimed to compete on market… and this is happening in 2012,l five years after Zend Framework 1.0 was made avaiable to the public.

What a disaster, I cant even find a words to describe this situation.

rafio