OpenCart 3 vs OpenCart 2 in 2018: Should You Update?
OpenCart 3 was released in 2017 almost a year ago – back then, we gave it a try concluded it doesn't offer much in terms of tangible benefits to store owners compared to OpenCart 2.
Today, we're giving OpenCart 3 another try to see if something has changed and if it makes sense to switch to OpenCart 3 – or stick with the proven and stable OpenCart 2.
This is an April, 2018 update to the original blog post published in June, 2017.
New features in OpenCart 3? Not too many.
Generally, OpenCart's team is known for publishing new releases without much fuss and without much information except for the release blog posts.
We've went ahead and assembled the details about the new features introduced in OpenCart 3 – as well as about the ones we expected that didn't get introduced.
Extensions can now be installed via the in-app extension marketplace
OpenCart 3 comes with an in-app extension marketplace, which will make it possible for store owners to download and purchase OpenCart extensions directly from the administration area.
While this sounds good in theory, OpenCart still lacks a unified standard for third party extension developers.
Most popular extensions come with OCMOD/vQmod code, custom setup procedures and possible conflicts with OpenCart core, third party themes and other plugins – which means a high chance of ending up with a broken store after installing a custom plugin.
OpenCart now supports Crowdin translation integration
OpenCart 3 now includes a new section in the admin area that allows looking for and installing translations from Crowdin, a crowdsourcing translation project.
This should make it easier for store owners to contribute to and install new translations directly from Crowdin.
The drawback is that OpenCart lacks proper translations on Crowdin – there are only a few dozen languages and most of them are unfinished.
So, to run a decent OpenCart-based store in most languages store owners will still need to turn to professional third party translations available elsewhere.
Theme and language editors let store owners edit the files directly
OpenCart 3 makes it possible to edit theme and language files via Theme and Language editors.
On one hand, this means it will now be easier for OpenCart store owners to modify their stores without having to resort to file editing via FTP.
On the other hand, modifying template and language files is still a technical process and doing this without any technical knowledge will often lead to – again – a broken store.
Multilingual SEO, but no microdata
OpenCart 3 has added an option to specify SEO slugs in multiple languages – as well as a handy SEO keyword editor for the store's administration.
However, a few crucial SEO features are still missing from OpenCart 3, such as microdata support for rich snippets and social media sharing and support for URL prefixes.
This means OpenCart 3 store owners still depend on third party extensions if they're intending to run search engine friendly online stores with OpenCart.
This also means MultiMerch's default SEO system with support for Schema.org, Open Graph and product URL prefixes would still be a better option out of the box.
Still the same old checkout
I've mentioned this one in my blog post about OpenCart problems – one page checkout extensions are among the top selling OpenCart extensions.
Still, OpenCart 3 comes with its regular 5 step checkout.
This means OpenCart store owners still rely on third party theme and extension developers to implement a dozen different quick checkout versions – with all of the support and compatibility consequences.
Still no analytics and marketing tools
If you're a store owner running an OpenCart online store, you're out of luck when it comes to sales and marketing tools to track and enhance your performance.
As of 2018, OpenCart out of the box still offers no support for:
- Google Analytics' Ecommerce Tracking
- Abandoned cart reminders
- Automated coupon generation
- A convenient way to generate promotional campaigns
While these aren't deal-breakers since you can always find a third party extension to do it for you, it would be great if OpenCart itself could step up their game. It's an e-commerce platform, after all – and e-commerce systems should be concerned about helping store owners to monetize their marketplaces.
Still no performance optimization
A number of users on OpenCart forums and website have noticed performance issues when testing OpenCart 3 compared to OpenCart 2:
From my first tests, it looks like OC 3.0.0.0 is visible slower than OC 2.x.
I haven't had time to analyze it (maybe in the next days), but is it because of the twig?everything goes to the crapper for speed.
stupid move!OpenCart 3.0 is noticeably slower that OpenCart 2.3. Has any profiling been done to determine the areas that should be targeted for improvement?
It is currently not clear whether this is due to Twig or something else, but store owners with larger stores will need to keep an eye on performance.
Unfortunately, OpenCart 3 still doesn't offer much in terms of performance optimization out of the box – you'll have to rely on third party extensions for your CDN integrations, style and script minification and advanced caching.
Still no proper update process – one year later, there's no sure-fire way of updating to OpenCart 3
Even though OpenCart 3 is presented as a stable version, apparently the default upgrade script has issues that prevent users from properly upgrading to OpenCart 3.
Still, even when the upgrade script is updated, the issue with third party themes, extensions and modifications remains open:
Upgrades, especially from 2.x to 3.x are the equivalent of buying a new car. Your existing paint job, wheels, mods, etc are not carried over to your new car. They have to be rebuilt. Keep this in mind before you think about upgrading. It is also recommended that you use an upgrade service by someone who is familiar with the upgrade process as they can save you time and money in the long run.
It appears that live store OpenCart 2 to OpenCart 3 upgrade will again be a tedious manual process, pretty much like upgrading OpenCart 1 to OpenCart 2.
What about the design and usability in OpenCart 3? Nothing new.
Not much has changed in terms of design in OpenCart 3 compared to OpenCart 2:
- The administration panel has received a slight color scheme facelift
- Most admin-area interfaces have remained the same
- There's nothing new for customers, either
We've compared the design of OpenCart 3 interfaces to OpenCart 2 to see if OpenCart 3 offers something worth upgrading in terms of usability.
The administration panel has a new color scheme, but not much more
The OpenCart administration panel has received a minor facelift – mostly the new color scheme and the sidebar filter panel (although we'd prefer it at the top to leave more space for the data tables).
Apart from the color scheme and the filters, the admin-area interfaces haven't changed much:
- there's still no dynamic table sorting without refreshing the page
- there's still no one page order or product editing so you'll have to click through tabs
- the default OpenCart 3 admin dashboard hasn't changed compared to OpenCart 2
While you can always use third party extensions for custom admin-area features, it would be great if OpenCart kept up with the times in terms of its interfaces.
Nothing new for customers – same old default theme, same old demo data
According to OpenCart's GitHub commits, a new 2018 theme was considered at some point, but was apparently scrapped.
Thus, OpenCart 3 comes with pretty much no front store design changes, with the exception of the h1 tag with store's name added to the page header for some reason.
Even the demo products haven't been updated – the brand new OpenCart 3 still features the iPhone 4 released in 2010 and the Canon EOS 5D from 2005.
Finally – and most importantly, in my opinion – there are no interface improvements to customer accounts.
This means, OpenCart 3 still offers store owners:
- the same boring customer account navigation
- the same order listing with no product details
- the same quirks with account pages containing a single element
While you can argue that the default theme and the demo products don't matter much since no one's gonna use them anyway, the customer account interfaces look really sad.
Theme support for OpenCart 3 lagging behind
We've assembled this list of 30 best selling OpenCart themes from ThemeForest to see which OpenCart versions they support:
Turns out, only 11 of the 30 best selling OpenCart themes support OpenCart 3, while OpenCart 2.x and 1.x is at 19. This might make finding a great OpenCart theme for 3.x a bit more complex.
In addition to this, only 4 of the 30 bestsellers support all three OpenCart versions.
The technical things – what's changed for OpenCart 3 developers?
Since neither the features nor the designs have changed much in OpenCart 3, only the technical part remains – and it's the one that has most of the changes (for good or bad).
Twig is the new PHP template language
This one's mostly intended for developers, but OpenCart now makes Twig the default template language instead of pure phtml.
This means third party extensions and templates will need to be rewritten into Twig before they can be used with OpenCart 3.
While many developers have been working on this since early OpenCart 3 alpha versions, it may still take months before most third party extensions and themes are available for OpenCart 3 in Twig.
A few minor changes for developers
In addition to the major Twig change, OpenCart 3 has also introduced a number of smaller changes that affect developers:
- Third party extension developers are only allowed to keep files in a few specified locations, compared to the whole file system in OpenCart 2
- Language files are now being loaded implicitly, so you don't have to do hundreds of manual variable assignments each time
- Emails are now being sent via OpenCart Events
- Admin reports are now extensions, which opens up the possibility of third party reporting extensions
I'll have to agree that most of these changes are good for most developers – it's also good to see OpenCart starting to enforce at least some rules for third party extensions.
Various bugs and the roadmap is still unclear
Even though OpenCart 3 has been originally released as a stable version, there were reports about various issues users have encountered when testing the newly released OpenCart 3.0.
While most of them seem to have been fixed in the current development version, there were no official OpenCart releases published since July 2017.
If you're a store owner starting out with OpenCart 3.x, you'll have to pull the bugfixes from GitHub or OpenCart Forums comments manually, which doesn't always work out:
I tried to apply both fixes suggested, and it did not seem to fix the problem. There was no change. Without this fix, I am dead in the water. It is impossible to setup a payment plan of any kind.
This bug means that anyone trying to install opencart for the first time will be unable to complete the install and setup a simple payment gateway. :( :( :(
It seems this bug has been around for a while. Has anyone figured out a way around this issue???
Unfortunately, the OpenCart 3 roadmap is still unclear.
It seems that active development of OpenCart 3.1 is underway on GitHub apparently with support for Bootstrap 4, but there are no official release dates or an official roadmap.
Conclusion: OpenCart 3 vs OpenCart 2 in 2018?
When it comes to major OpenCart releases, we recommend not to upgrade right away and wait until the new version matures and becomes stable enough.
With all this in mind – should you be using OpenCart 3 in 2018?
For the store owners, OpenCart 3 looks pretty bleak:
- there's no way to easily upgrade from OpenCart 2
- there are no new features in OpenCart 3 with tangible benefits compared to OpenCart 2
- no major usability improvements in either store front or administration area
- no performance improvements, some reports on decreased performance
- no official bugfix releases since July 2017, the future is still unclear
For the developers, OpenCart 3 has a few major downsides in addition to a few minor improvements:
- Twig is a pain to switch to, especially for developers behind larger extensions
- OpenCart 3 is yet another version to maintain compatibility with, considering that OpenCart 2 is still widely used
- Implicit language loading is a good thing while the extension folder restrictions should make creating poor code more difficult
- If the upcoming OpenCart 3.1 does introduce Bootstrap 4, it will be another major change for theme and extension developers to adapt to
In 2018, just shy of one year later after the official OpenCart 3.0 release, our verdict for OpenCart store owners is – stick with OpenCart 2.3.0.2 and you'll save yourself a great deal of a headache!
Meanwhile, let's wait for OpenCart 3.1 and see what it brings.
So do you think it is stable now? It's been about 8 months...
Absolutely not.
In fact, the last official release of OpenCart 3 was back in July 2017 (v3.0.2.0 July 18, 2017), not long after this post was written.
We've been planning to do a newer review of OC3, but since there have been no releases and the roadmap is not clear, we're waiting.
Due to all this, as of today, MultiMerch neither supports nor recommends OpenCart 3. We're sticking with the tested 2.3.0.2 here.
I tried OC3. Official download files from opencart website is buggy. github version is a little updated but some modules do not work
As a store owner, this is nothing worth upgrading to
Today opencart 3 is pretty stable. May be not hundreds of new features, but it is not bad. You are saying all this because your software still does not support opencart 3. You must be getting tons of queries everyday for opencart 3 support but what a pity you don't have it supported. Just because it will take months of development from you to support opencart 3. It is not a wise move to stick to opencart 2. Somewhere down the road most people will be on v3. Even today that is happening. This is a biased article IMO.
It's true that I'm personally not a huge fan of OC3, but I look at it in a larger context of where OpenCart's headed in general (you've probably seen my other OpenCart-related rants):
https://multimerch.com/blog/opencart-problems-poor-features/
https://multimerch.com/blog/opencart-problems-bad-upgrades-releases-integrity/
We at MultiMerch stick to OC2 for a very specific reason – it's more stable than OC3 and doesn't have any major disadvantages compared to OC3. The amount of work required to update our code isn't the primary reason here – in fact, updating MultiMerch to OC3 doesn't require THAT much work, it's mostly just rewriting the templates. The upgrade from OC1 to OC2 was way more complex than that.
The thing is – for our online marketplace owners, stability is a crucial thing. As long as the official OpenCart forums are full of OC3 issues (https://forum.opencart.com/viewforum.php?f=201) with no bugfix releases in sight, it doesn't really make much sense to choose it over OC2.
I agree that the day will come, which is why we're waiting for 3.1 to see what it brings – but for now OC2 is a better choice for our marketplace owners and we stick with it, even though it does cost us those extra sales.
You are right here, particularly about technical vision. One Example: They support TPL theme for 3.x. Now this is a huge pain for extension developers like us. We do not support TPL for 3.x and have tough time explaining to clients why so. So yeah they have created quite a mess. Also the marketplace of opencart is not quite mature. But overall opencart is taking off, while other like magento are declining since launch of new version. So it is difficult to discard opencart despite issues.
Well, it's definitely going somewhere – the main question's where to? Change just for the sake of change doesn't do anyone much good (take Magento2 from your example or PrestaShop 1.7 vs 1.6). Guess we'll just have to wait and see what comes out of it :)
I am also not a fan of OC3, especially the twig change, the rest is ok by me, but the same as Martin a lot of things that must be in for a good shop will be delivered by third party developers. As a developer, supporting multiple OC versions it will be more nice if OC will do more about a good way of modifing code in a way of not having conflicts with other extensions of themes and that it is easy to upgrade OC. By the way, OC3 still supports tpl system, so at the moment, my admin modules still use tpl in OC3, this is more easy for supporting all OC version with only one tpl file.
Martin, did you have already talked with OC about the hook system, to support it?
Historically, OpenCart doesn't care much about the feedback from the community – they have their own roadmap and they stick with it. Since OpenCart also has its own event system already, I doubt they'll be making major changes to it. So for now, hooks are mostly MultiMerch-only thing.
As to upgrades – we'll see what OpenCart 3.1 brings. Before we dropped the old OpenCart versions, we had to maintain separate sets of compatibility xmls and custom files for 2.0-2.1, 2.2 and 2.3 versions. This isn't fun at all, considering that all of these are technically minor releases. Since it seems that OpenCart 3.1 switches from Bootstrap 3 to Bootstrap 4, it will mean one more extra version to maintain compatibility with for developers, since Bootstrap 4 isn't fully backward compatible with version 3. So, we'll just have to wait and see what happens.
Great discussion, thanks.
I'll stick with my 3 OC2.3 sites... I'm also a fan of actual files doing the overriding, rather than stored in a DB.
To be frank, so long as extension developers keep on building great extensions for OC2.3 then I see no reason to upgrade for some time to come
Right!
Especially considering the upcoming OpenCart 3.1 will replace Bootstrap 3 with 4 and Twig 1 with 2 – which almost definitely means a whole new set of issues for store owners to deal with.
So, waiting for 3.1 to see if it gets any better.
Excellent article, thank you. You spent a lot of time making this, thank you.
Glad it's been helpful!
I think OpenCart store owners should be better informed about the drawbacks of going with the latest and greatest OC3.
Normally, you don't expect to download the "latest stable" software version only to realize you have to go and patch it manually.
Martin, I couldn't agree more. Thanks for the detailed writeup, confirming all the concerns I had too.
My thoughts over a longer timeline:
http://www.thatsoftwareguy.com/blog/2018/09/02/opencart-and-the-nuc-problem/
Great post, Scott!
You're right, lack of upward/backward compatibility is a huge issue with OpenCart. Coupled with the fact that 3.x isn't at all that great (which would at least provide a reason to carry out the complex upgrade process) it all just makes store owners and developers look for alternatives. Can't blame them!
By the way, according to Daniel's forums post, 3.1 Alpha was supposed to be released about a month ago with Beta following it about right now. More than a month later – still no news whatsoever: https://forum.opencart.com/viewtopic.php?p=730073#p730073. And when it comes out – good luck upgrading even 3.0 to 3.1 with new Bootstrap, jQuery and Twig.
It's also true that independent OpenCart developers are pretty much screwed. Unless you're a big shot with a long track record, lots of momentum and a popular portfolio of extensions/themes (like iSenseLabs or Journal), OpenCart is just not worth it – you can't generate sustainable revenues here while maintaining compatibility with a dozen different versions.
We ourselves ditched all OpenCart versions apart from 2.3 and are slowly working toward making MultiMerch a standalone solution by taking over the underlying shopping cart functionality.
Last year, I covered some of the critical issues with OpenCart in my two part blog post:
https://multimerch.com/blog/opencart-problems-bad-upgrades-releases-integrity/
https://multimerch.com/blog/opencart-problems-poor-features/
Now, a year later, it isn't looking any better.
Since not everyone can visualize what we're talking about, I gave some examples directly from one of my contributions. Ugh, the memories. :(
https://www.thatsoftwareguy.com/blog/2018/09/04/what-does-a-nuc-opencart-change-look-like/
Good example! And that's just one of the dozens of things OpenCart tends to change between the releases.
Now imagine maintaining a complex extension like MultiMerch that is hit by each of these changes with every release or just working on a few smaller extensions.
If you're actively improving your software you're in a tough spot since you'll often end up maintaining two, three, four different codebases for every one of your products – or at least dealing with a ton of xml compatibility hacks. When you're spending more time maintaining compatibility than improving your product it's really time to stop and think if it's worth it.
I've been using Opencart for my business online shop since version 1.5, currently using version 3.0.2.0
I'm now looking at alternative ecommerce software for my online shop as not happy with Opencart anymore. Version 3 is mostly good but has a few problems, affiliates no longer work (I rely on a small number of affiliates to help promote my goods) and there is a few other bugs, I think 3.0 is more for people who like to do a bit of coding. 2 has a working affiliate system but the payment provider I use isn't supported. So either way, I'm stuck. The devs for Opencart haven't been helpful either, I feel that they assume everybody who uses Opencart has extensive coding knowledge, like most store owners I'm not a developer and have almost no knowledge in coding. If I knew how to code I wouldn't be selling goods online for a living :)
I have observed similar complaints from a lot of other store owners too.
I love Opencart, have been using it a long time now but feel that it's time to move on to pastures new.
The developers of Opencart need to start making some big changes in the near future or I fear that a lot of online shops will most likely move away from Opencart.
That's quite true.
Although Daniel has always envisioned OpenCart as a bare-bones system for developers to play with, right now it's being dropped even by developers, let alone regular marketplace owners.
OpenCart has had its ups and downs since the early 1.x versions, but in my opinion it has peaked around late 2.x's. I would argue that most of the 3.x changes either weren't needed at all or definitely weren't the top priority ones – I consider these ones way more important:
https://multimerch.com/blog/opencart-problems-bad-upgrades-releases-integrity/
https://multimerch.com/blog/opencart-problems-poor-features/
Developers might not need any new fancy shiny features, but the fact that OpenCart still comes with backward-incompatible and error-prone manual upgrades, no decent plugin architecture and the complete mess of an extension and theme ecosystem with no quality enforcement whatsoever makes it not fun to work with even for developers, let alone store owners.
Couldn't agree more - they are already moving away. In comparison other carts have become so much more stable and offer same features.
Great Article
Thanks for accurate comparison
Thanks! Will be updating the post once OpenCart 3.1 comes out.
Very helpful article, Thanks a lot
I am new developer of opencart at a software company , and i have to upgrade an opencart extension from version 2.x to version 3.x . How can i do this. ? Can anyone help me please.?
Depends on the type of the extension, but generally you'll need to switch your templates from .tpl to .twig and adjust the controllers. If it's something more complex that integrates into OpenCart core more deeply you may also need to upgrade the way it works with OC's core systems.
thanks for your feedback, i have change the .tpl with .twig but it not working correctly. now what have to do .???
Thanks for sharing your article! If you are looking for tips on payment integration for opencart hope this source will come in handy https://www.mobindustry.net/how-to-integrate-payment-gateway-into-your-opencart-system-paypal-and-stripe/