Upgrade to vBulletin 5

Cthulhu

Administrator
AKA
Yop
So liek y0 gaiz. I bought a vB license earlier this year in order to upgrade to the latest 3.8.x version, which works with the current versions of the PHP runtime. However, it's more of a patch really; vB 3.8 is over five years old (vB 3.0 was released ten years ago), and while it works just fine, I still feel like we're running way behind. My biggest concern really is that what happened to FFOF a few years ago is going to happen to us, i.e. someone finds a weakness in this version of vB and hax0rs us. For FFOF, I was unable to bring it back in working order (also because the software was too old to run properly on the version of PHP installed on our shared hosting software there, and it runs a separate license of vB so I'd have to shell out moar monies to update it, etc. But I digress).

I've done some fiddling on the test environment (a virtualized operating system with all the software + a copy of TLS) and did a test upgrade of our forums to vB 4, then 5. Here's the steps I did, and I'll do those on the TLS server next once I've got it working:

1. Copy the TLS database from thelifestream to thelifestream_beta, by restoring a backup of the thelifestream database into a new one called thelifestream_beta:

Code:
[in mysql]> create database thelifestream_beta;
[commandline]> mysql -u root -p thelifestream_beta < backup.sql

2. Because of reasons, I can't make it 'public', i.e. the beta folder has to be password-protected so the general public can't access it. This is due to license restrictions, i.e. you can only have one instance of vB per license running. Add this to the relevant apache config file:

Code:
<Directory "/var/www/tls/betaforums">
  AuthType Basic
  AuthName "Authentication Required"
  AuthUserFile "/etc/.htpasswd"
  Require valid-user

  Order allow,deny
  Allow from all
</Directory>

And create the actual .htpasswd file in /root/.htpasswd using:

Code:
sudo htpasswd -c /etc/.htpasswd tlsbeta

(installing apache2-utils may be needed)

(also I can't actually get this to work locally, grr. Moving on)

3. Extract and upload the vB 5 files. Note that unlike previous versions, vB 5 needs to be a fresh install, i.e. not overwrite existing files.

4. rename core/includes/config.php.new to core/includes/config.php

5. edit config.php and set up database info and shit

6. chown -R www-data:www-data /var/www/betaforums

7. open betaforums/core/install/upgrade.php (will auto redirect if you just go to betaforums/)

8. Enter vB customer number and shit

9. Fix any errors if need be

10. Run the upgrade. I got stuck at an error similar to this though, idk. I checked that file and changed the function to just return true, I'm sure it's a bug somehow. (it seems to be checking for user permissions, but, I'm the admin and not logged into vB so idk). Edit /core/vb/api/template.php and change the implementation of the checkCanSaveTemplate function to 'return true';.

11. Another error: 18 occurred in betaforums/core/vb5/route/channel.php in line 24. Fixxed / got past it by removing another permission check from line 21 to 25. I'll make a note of that on the forums.

12. Lots and lots of waiting. I'm sure they completely changed the database structure to something unmanageable.

13. Move htaccess.txt to .htaccess, edit if need be (RewriteBase should probably be /betaforums/ or something)

14. Make sure mod_rewrite is running (it should, the front page uses it after all)

Code:
sudo a2enmod rewrite

15. Add the following to /etc/apache2/sites-enabled/000-default.conf or whatever (site configuration) to enable mod_rewrite if not working (needed to happen in the test environment):

<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>

16. Start fixing shit:

* Copy images like smileys and avatars over; avatars may need to be re-added by users
* check BBcodes (and modernize them if need be)
* check user groups and their permissions, I'm sure those changed over time. Also get rid of empty / unused / stupid usergroups
* Check login and registration procedure, SMTP settings, captchas, password recovery, that kinda deal
* Check anti-spambot measures

Now, a few things that need to be done, and a few answers I'll need, and shit:

1. Most importantly - what do you think of vB 5? Works well on everyone's computer? Nice? Stuff? What I gather from this and co is that it was basically rewritten, the original developers left shortly after 3.8.4, etc. V5 was released in a half-finished state, with a lot of features (like infractions, paid subforums, etc) not (yet) implemented.

2. We'll need to redo the forum styling. I could have a crack at it like I did with the current vB, but it'll take some time. We could also do a full redesign at this point. I don't want to deviate from the default vB styles too much (in terms of page layouts and shit), so it'll look a bit different at least.

3. We'll also need to redo the user customization, username colours, that kinda stuff. I personally don't think this is a very important thing, but, that's probably just me :monster:. Definitely a lower priority than the forum theme.

4. Thanks system / hack. How highly valued is it? I'll have to look for a new one for vB 5, and I don't know if that one supports transferring the existing thanks from the old to the new system. If there's no easy way, would you mind if they were lost from the old forums and either gone from the new, or just restarted from scratch?

5. Reinstate ads (and disable them for donators). I read somewhere that vB has built-in ad support, but that some information about that stuff (and maybe a cut of it?) is moved to the vB dudes, I'd rather not do that. Editing the templates and manually inserting the ads should work just fine.

6. Smileys. Probably a matter of just copying the files over, the settings for them have been transferred over from vB 3 just fine.

Also just to reiterate: I've only done it on the test server (locally) so far, and that seemed to work. Next up is to install it on the TLS server itself. I'm gonna go play video games first though, I've been at it for a couple hours already :monster:. I'll get cracking again later this afternoon, tonight, or tomorrow or something. Stay tuned.

Bonus screenshots from local environment:

jML60jW.png

xdOD4gC.png

The current vB themes are all still there, but they don't work / look like shit, so I should probably disable them in case people accidentally select them and are unable to restore the original theme, :monster:
 

Ⓐaron

Factiō Rēpūblicāna dēlenda est.
AKA
The Man, V
I still vote no to an upgrade. For starters, we'll have to recreate nearly everything that makes this forum unique from scratch, and judging from the vB4 control panel, that will take forever.
 

Flintlock

Pro Adventurer
we'll have to recreate nearly everything that makes this forum unique from scratch
Such as?

In my mind, the things that make this forum unique (on the software side, not members, content, etc.) are: 1. the theme, which Yop said we'll recreate; 2. the thanks system, which Yop said he'll look into, and 3. Cookie Monster, which will be easy to add as a smiley again (if it even gets lost in the upgrade process).

There should always be a reason to upgrade. In this case, it's security. Maybe there are some other reasons too, but I'm not too familiar with the differences between vB versions. Unless we have a reason more important than security not to upgrade, I think we should go for it.

How much work is it possible to do on the virtual environment before we apply the changes to our public forum? For example, can we develop the theme first and then "flick a switch" to make it go live, or is that too simplistic?
 

Ⓐaron

Factiō Rēpūblicāna dēlenda est.
AKA
The Man, V
As far as I know there are no major security holes in vB3, at least that haven't been patched in the version we're running. As for recreating the styles, that's likely to take several months. I'm not even kidding.

If other people want to do all the work, ok I guess, but it'd better be faster on my phone than vB4 is.
 

Cthulhu

Administrator
AKA
Yop
It's possible to recreate the stylesheet on the virtual environment, no problem - you should still be able to just export / import styles as .xml files or whatever format vB uses these days and import it into the forum software. However, I intend to do the development of the style on the beta environment, i.e. on a subdirectory of the site forums - makes it much easier for people to help out, see progress, come up with suggestions, etc. After that, yeah, it's effectively flicking a switch - or well, take the original forums offline, run the install script so that all database tables are updated, move the files from the beta subdirectory over to /forums, and switch it back on again.

I think Aaron also meant the various user profile customizations and the fucktons of username colours, which IMO aren't that high a priority and should also be relatively easy to recreate. But that's something we'll have to look into.

@Aaron, "months" is highly pessimistic, to say the least. Worst case scenario of having no style at all, it'd take a week at most. Yeah sure, vB's style system is shit, but so was vB 3's, and we don't need to use it because css.

As for mobile, I'm sure there's lightweight dedicated mobile skins available, or native apps (vB mobile suite); those should be light enough to run on cell phones. That's another thing we'll have to look at / measure once I have a test environment set up. What I'm seeing now is that the initial page load is about 600 KB (400KB more than the original), but that's without cache; pageviews (categories, thread listings, threads themselves) are about 14-20KB (compressed), which is about the same as vB 3.x on TLS is.

Anyway, I'll have some free time coming up after next week (i.e. the week of xmas), I'll try to have a beta environment set up before then, and with any luck I'll be able to do some styling and whatnot on it already. I'll be away for a while during / after the holidays though, so don't expect it to be done / good enough before next year :monster:
 

Ⓐaron

Factiō Rēpūblicāna dēlenda est.
AKA
The Man, V
Well, if you can write a decent css for vBulletin 5 manually, more power to you. There are literally hundreds of definitions to deal with and css is pretty much a black art in the best of cases.

I'll help with porting the user formatting and such if need be, but for the overall appearance of the site you're on your own. I don't expect to have that kind of time.
 

Cthulhu

Administrator
AKA
Yop
I intend to do the same as I did with the vB 3 and Wordpress styles - just adapt or overwrite the existing styles. I'm sure I won't need to touch 90% of the CSS, which is mostly positioning and the like. Colours, background colour, font colours, that's the stuff I'll adapt - either in the shitty editor, or in a block of CSS under the main css.

I'll agree on the black art part though, :monster:
 

Ⓐaron

Factiō Rēpūblicāna dēlenda est.
AKA
The Man, V
For the record, a lot of other people I've spoken to have said that vB4/5 suck as well. :monster: Have we considered switching to Xenforo? It was developed by a bunch of ex-vB developers who left after vB3. There's some discussion here.
 

Flintlock

Pro Adventurer
By "discussion" you seem to mean "one person mentioned it and someone else said they had forgotten about it". :P Based on that thread (and the fact it's free and open source), I'd actually say Discourse was a better option. But we (or rather, Yop) paid for a vB license so we might as well use it.
 

Ⓐaron

Factiō Rēpūblicāna dēlenda est.
AKA
The Man, V
If vB5 is worse than vB3 (as a lot of people claim it is), then it's not worth upgrading no matter how much we paid for it.

Discourse is pretty nice, I have to say. I haven't played around with it as much as I perhaps should, and I have no idea how we'd reproduce the appearance of TLS. It also doesn't support multiple skins out of the box, so unless someone wanted to write an add-on to allow the appearance to be customised, we'd have to get rid of the multiple skins. But that might not be a big problem for people. I'm not sure. I'm also not sure if there's something like the thanks system for Discourse, but there probably is.
 

Cookie Monster

NOM NOM NOM
If the security features are worth the upgrade, then do it. I could not careless about losing thanks. Smileys and forum customizations will take a little a time, but that's no biggie.

Besides, all I need is good people, good discussion, and the monster smiley. :monster:
 

Lex

Administrator
We could always focus on improving the appearance of the board if it has to change, and I'm totally cool with that. New features, more streamlined/less messy postbits etc.
 

Lex

Administrator
You are though Tenny. I like our forum, it's my internet home, but we need to move with the times at some point. A more modern or less busy approach would probably do the place good, and if there's any time to talk about redesigning the place, it's when we're about to do a forum upgrade.
 
Yes please. VB5. Please. God. Yes. This forum is dated as hell.

Also, I'm willing to help out if you need more hands on deck. I don't call myself Telcontar "Steve Jobs" 2, for nothing.
 

Obsidian Fire

Ahk Morn!
AKA
The Engineer
Whatever we decide to go with, it should have some form of the thanks/likes/kudos system. Some of the other forums I'm on don't have systems like that and it's just not the same. There's so many times I want to click the thanks/likes button just to show that I agree/like a post and it turns out the only way to show that I like it is to make another post quoting the original one or that just says "^^ Like." So yeah... my two cents.
 

Cthulhu

Administrator
AKA
Yop
I still want to get vB 5 up on the beta server so everyone can play around with it, :monster:

I also think I'd like Discourse, it's made by the guys behind Stack Overflow and unlike vB or any forum software from that era (phpBB, IPB, SMF, etc) it's reimagined from scratch. Off course, it's also completely unlike vB or anything most people will know, and it's unlikely we'll get it to look or work anything like the original (iirc it doesn't even have sections. Faux edit: actually it does, it's just that the default page atm is the 'latest poasts' bit). I'd have to look into its licensing though; it offers a vastly overpriced hosting solution, but also a one-time install (followed by a $10/month) self-managed plan. I'll have to look into capacity, domain names, and whether there's updates included in that or it's paid updates or something. Faux edit 2: actually nevermind, it's open sauce and shit so we could just pluck it off there and self-host without too much problems (since we have full access to the server and shit). IDK about performance either. Guess we'll just have to try it out.

I've also glanced at Xenforo, but TBH it doesn't look like it's trying to discern itself from the other ones out there - same shit, different name.
 

Ⓐaron

Factiō Rēpūblicāna dēlenda est.
AKA
The Man, V
I'd much rather use Discourse than vB5. I don't mind that it's hugely different from what people here are used to; actually, the fact that it has so many excellent features that vBulletin doesn't have is one of the things that appeals about it to me. I would like to find a way to get multiple themes to work with Discourse, but that's pretty much the only thing it's missing that I can think of.

I already have a test Discourse board set up, so let me know if you want access and shit. I don't want to post the link publicly but I'll PM it to trusted parties and so on, and since I'm not doing much with it I don't mind giving people from here admin access.
 

Ⓐaron

Factiō Rēpūblicāna dēlenda est.
AKA
The Man, V
It's not actually working right now. I should have checked before I posted that. When it's fixed, I'll send you a link.
 

Obsidian Fire

Ahk Morn!
AKA
The Engineer
Add on to the likes/thanks suggestion:

It's a lot nicer to be able to see who is liking/thanking then how many people are doing it. One is about the people doing the thanking, the other is a statistic.
 
Top Bottom