Why I’m ditching vBulletin for IP.Board

My website Blues Brothers Central has had a forum since early 2004. Initially I wrote my own basic forum, but it became clearly soon afterwards that it needed something more powerful.

For a while I used phpBB2, but after a year or two even that wasn’t good enough. The lack of features and regular security updates just couldn’t compete with commercial, paid software.

So in April 2006 I bought a vBulletin license for $85. It was a leased license providing 1 year of access to the software. I was very happy with the way it was going, so I upgraded to an owned license for $180. This allowed me to run the software for “an unlimited time, rather than having to renew your license every year”. I figured after 2-3 years it would start to pay for itself:

Leased License:
2009 – $85
2010 – $85
2011 – $85
2012 – $85
Total: $340

Owned License:
2009 – $180
2010 – $40 (If renewed 2 months before expiration)
2011 – $40
2012 – $40
Total: $300

So by 2012 it would start saving me $45 a year, it made perfect sense.

 

But then things changed. Last year vBulletin made changes to their license structure, now it was going to cost me $195 to upgrade to vBulletin 4. Admittedly this is meant to last until vBulletin 5 is released, but who knows how long that will be? What’s preventing vBulletin from adding a trivial feature and calling it “version 5”, then charging another $195 to upgrade?

If I’d known in early 2009 that the licensing would change I would have paid $85 instead of $180, because by the time it expired I would be in the same situation. Having an owned license had no benefits financially towards getting vBulletin 4. If they’d offered to drop the price from $195 to $100 I might have been more forgiving. After all, I did pay $95 extra for a “lifetime license”, which ended up only being 1 year. I could have got that for only $85.

Then I started testing vBulletin 4. Yes, it has some improvements over vBulletin 3. But styles/themes are a nightmare to work with. It took me 4 hours just to get my forum header looking close to my existing one. The stylevars are ridiculous, I had to make up to 8 clicks just to modify a single color on a page (usually only to find that I’d changed the wrong spot).

The images in the vBulletin 4 graphics development kit are equally impossible to work with, because they’re mostly raster images the colors can’t be easily changed. That means that they don’t work on my dark-background forum.

So after wasting hours of my time trying to get the forum looking like my existing one, I gave up. I saw other vBulletin users in a similar situation, they were all checking out IP.Board.

So I had a look at it, and I was immediately impressed!

IP.Board costs $150 for a lifetime license and 6 months of updates, and then $25 renewal every 6 months for updates. Of course it costs $65 extra for photo galleries (which come free with vBulletin), but I wasn’t using that feature much.

IP.Board also has a feature called “IP.Converge”, which allows cross-domain authentication. Extra handy for my site, so I can have one user-database shared between my forum and my primary site. They also have a decent spam monitoring service, better support and more transparency. In fact their Chief Software Architect regularly blogs openly about upcoming features in development (and personally responds to questions!).

I tried out their free 5 day demo, it took barely 1 hour to get the forum looking almost identical to my existing one. That says it all, their skin/template system is incredibly easy to work with. The whole forum is, in fact.

There are a few downsides, however the majority of the features I was going to miss from vBulletin are set to arrive in IP.Board 3.1 (currently in Beta testing). Facebook Connect support will be extra useful!

I’m also currently running vBSEO, so I’m hoping that I can get all my URLs in the same format as before (to avoid dead links). I’m sure this won’t be a problem.

Sorry vBulletin, your new business model no longer works for me. vBulletin 3.8.5 is the last version of your software that I’ll be running. Unless you feel like sending me a $95 refund for that owned license I wasted my money on?

 

Update: 17/05/2010

I’ve got my test installation of IP.Board 3.1 Beta 2 running, and it’s going well! There were some bugs converting from vBulletin 3.8, but that’s mostly because the conversion scripts aren’t finished for 3.1 (it’s not a live board so it doesn’t matter).

There were some minor issues with URL formats, but I’ve fixed them.

Here’s all the URL formats in question:
vBulletin Default: /forum/showthread.php?t=10159
vBSEO Rewritten: /forum/blues-brothers-news/10159-original-bluesmobile-found-sort.html

IP.Board Default: /forum/index.php?showtopic=8686
IP.Board SEO: /forum/?/topic/8686-the-original-bluesmobile-found-sort-of/
IP.Board htaccess SEO: /forum/topic/8686-the-original-bluesmobile-found-sort-of/

I wanted to use the 3rd URL format, and I also wanted to keep my forum in the same folder (/forum/). But this was easier said than done. IP.Board comes with a URL conversion script (located in Convertors/Tools/Links – vBulletin 3.8/). Essentially you copy and paste these files (showthread.php, etc) into your IP.Board root folder (next to index.php).

That takes care of the default vBulletin URL format, but what about vbSEO? This uses a custom .htaccess file:

RewriteCond %{REQUEST_URI} !(admincp/|modcp/|cron|vbseo_sitemap)
RewriteRule ^((archive/)?(.*\.php(/.*)?))$ vbseo.php [L,QSA]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !/(admincp|modcp|clientscript|cpstyles|images)/
RewriteRule ^(.+)$ vbseo.php [L,QSA]

The way this works is it checks if the file doesn’t exist (ie ‘blues-brothers-news’ isn’t a filename). If so, it sends it to vbseo.php, which checks the database and loads the appropriate content.

The first problem is that vbseo.php won’t function without the required include files, so I simply created a folder called “includes” in my IP.Board folder and copied over all the functions_vbseo*.php, config.php, and config_vbseo.php files.

I also copied over the vbseo.php file into the IP.Board root folder.

The second problem is that both IP.Board and vbSEO require URL rewriting in the htaccess file, which leads to conflicts. The solution was to have vbSEO handle all missing URLs, except for ‘topic’, ‘forum’, ‘user’ (all of which are used by IP.Board, you may need to add more to this list for extra applications). So I modified my IP.Board custom htaccess file to this:

RewriteBase /forumpath/

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !/forumpath/(forum|topic|user)/
RewriteRule ^(.+)$ vbseo.php [L,QSA]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /forumpath/index.php [L]

Obviously replace /forumpath/ with wherever your forum is located (in my case it’s /forum/).

So now all URLs including topics, forums and users are redirected to their correct location.

This is what worked for me, I’ve thrown every possible URL format I could think of at it with no major issues. The one problem I do have is that it can’t redirect to the correct page in the thread (so links to page #6 in a discussion will redirect to page #1). It also can’t handle anchor links to individual posts, ie:

/forum/blues-brothers-news/10159-original-bluesmobile-found-sort.html#post109820

This will redirect to the first post in the thread, obviously because the post ID has changed the anchor no longer works. It should redirect here:

/forum/topic/8686-the-original-bluesmobile-found-sort-of/#entry108428

I’m not sure how to resolve these 2 issues, but it’s not a major problem right now.

Comments and suggestions welcome!

You can leave a response, or trackback from your own site.

Leave a Reply

Powered by WordPress