I’m not sure if I can face another perplexing error with the site. I’ve spent at least the last week or so attempting to upgrade the website.

We run JigoShop as our ecommerce software and it in turn runs on top of WordPress. It’s far from the best solution but when we setup back in 2011 the other options we tried were worse. So for years we ran the 1.x series of JigoShop. There were tweaks and upgrades along the way but mostly it sort of haphazardly wobbled along.

Some time in 2016 they released JigoShop 2.0. Unless there’s a serious problem I rarely upgrade software until it’s had time to get itself sorted. Bugs and other broken stuff are common. There’s nothing like exposing software to the general public for finding bugs!

Anyway, a while ago I received an email telling me that JigoShop 1.x was being retired at the end of March 2017. There’d be no more support for it. Given that I’d had a few problems over the years it seemed like I’d best make plans to upgrade to the 2.x branch before some show-stopping problem forced the upgrade on me at an inopportune time.

So…

Well getting PHP upgraded was tricky. Well, the upgrade was easy – finding out what broke and why less so!

One of the major problems that I only found mentioned in an obscure AskUbuntu comment was that it disabled short PHP tags by default. Simple explanation of what that means: there’s two ways to indicate that a text file contains PHP code:

Long tags Short tags
<?php

code here

?>
<?

code here

?>

Yeah, by default PHP 7.1 was set to only read code with the long tags. As a result loads of random stuff broke. I’m mostly mentioning it here in case it pops up as a search result for someone else and helps them!

Anyway, eventually I got all the requirements sorted and it was migration time! JigoShop migrated all the 1.x data over to the 2.x software without error (impressive considering the hundreds of products in the database). Excellent stuff.

Then came the problems…

The first major one was the lack of an off switch.

That is to say that in the 1.x branch of JigoShop there was a simple button in the admin panel to turn off their theme. Yeah, that was gone. Someone else had the same problem but the answer provided wasn’t helpful so I stuck my obnoxious oar in and eventually got enough of a clue out of the JigoShop support staff to figure out the solution.

So their theme was turned off. Amazing! Except it’s 1999 up in here:

That is to say they changed something making my theme no longer work. Themes use CSS to make pages look a certain way, that an a load of images, icons, and stuff like that. Well CSS code is generally written to apply to a certain thing on a page. There might be some stuff for the overall page but say a button used to have the identifier “button” and now its identifier is “btn”. You see where I’m going with this?

So the last few days have been spent trying to find out what’s changed, what hasn’t changed, and trying to make things actually work again. It turns out that JigoShop has its own CSS but it also has CSS for some other stuff that it loads in – like the shipping calculator. That was so unbelievably broken until I figured that out…

Those kinds of problems are within my ability although I had to learn a fair bit about CSS to get it done. Aside from being exhausting it was kind of fun. Also, importantly, I don’t touch the code of JigoShop – as soon as I start messing with that there’s no guarantee of the changes being permanent – an upgrade could overwrite the file and things would break again.

The other kind of problems are settings in JigoShop that straight-up don’t work. Things that you’d think they’d have caught in 6+ months!

For example:

Only one of those items is in stock. Attempting to click the “Add to cart” button on the first two just pops up an out of stock notice.

Great, thanks. I’m sure customers won’t find that bloody maddening. I’m not just having a moan – I filed a bug about it as soon as I found out. There’s some other corkers out there too although the one that really took the biscuit was the one I’m about to bore you with.

I have a paid for extension to JigoShop called “Premium Shipping”. It lets me set weight ranges and destination countries to work out my shipping rates. Weirdly the cart on here says shipping is “estimated”. It’s not. What you see is what you’ll pay. Doing it any other way would be bloody stupid.

Anyway, we’re talking about models here, not gym weights. I can’t set things to grams but I could at least use decimals. Could.

 

Yeah, the 2.x branch of JigoShop only deals in whole kilos. They’ve since helped me fix that one but come on, how did no one fix that in the months that the 2.x branch has been out?

That’s quite enough of that. Time for the good bits!

The new software branch performs noticeably better. I was concerned I’d need to upgrade my server or something but not, the new code is fast and makes using the site much nicer. It wasn’t terrible before but it wasn’t something I was proud of either.

Other good stuff – by getting my hands dirty with CSS I’ve changed a whole load of small things that in general make the site feel more polished. I feel far better equipped to deal with future challenges as a result. Even back when I was making web pages from scratch as a spotty teenager I didn’t understand CSS as well as I do now.

So, this is basically a “soft” launch for our JigoShop 2.x install. Maybe later in the week I’ll be able to release some products and bang the drum a bit.

If you’ve got any problems with the site pleaseplease, please let me know! We’re on Twitter, you can message us on Facebook, and of course there’s the contact form that emails me directly.