Upgrade Best Practices & Clarity on VSF 2.0?

I understand the docs are still a work in progress; so this is intended to help me (and others) avoid unnecessary pain until the upgrade process docs are more polished.

In Safari Browser: Homepage Images Don’t Appear, @pkarw kindly suggested that I upgrade from my current VSF v1.10.4 to v1.11, but I’m not sure which approach to take. (I assume I have v1.10.4 based on the “version”: “1.10.4” in my VSF root package.json file.)

This cookbook page seems to suggest that we need to painstakingly inspect every file in the entire VSF app directory and perform a manual diff operation on every file. There’s probably a faster way with pure Git commands, but I’m not a Git ninja yet (I use SourceTree.); so this is looking like a pretty daunting process.

I also see there are multiple branches (e.g., v1.11 and v.2.0). And I see @FilipRakowski 's Vue Storefront 2.0 post from many months ago, but there’s no recent activity on that post or in the corresponding GH branch.

When I started working with VSF, one of the most compelling selling points that I understood from various docs is that the upgrade process is supposed to be easy because all the core files are separate from the theme files. I also thought that this easy upgrade process was applicable to the current stable master branch, which appears to be based on the v.1.10.x code that I currently have installed.

Now I think there might be some discrepancy between my perception and reality. More specifically, it seems like that selling point is primarily related to the 2.0 version, not the 1.x version. So, can somebody please clarify the best practice for upgrading? Also…

What is the ETA for the 2.0 version?

Will there be a straight-forward upgrade process from 1.x to 2.0 or is that expected to be a long, tedious process for sites that have heavily modified child themes? (Based on the default theme of course.)

Thank you in advance for providing more clarity on the upgrade process.

1 Like

Hi @Julia this project has a really vibrant community so the things changes over time. Sorry for the discrepancies in the docs it’s hard for us as a core team to keep everything in sync

By this reason I posted a roadmap update some time ago: https://medium.com/the-vue-storefront-journal/vue-storefront-1-11-and-the-roadmap-update-edb7ca939238?source=collection_home---4------1-----------------------

The tutorial Degi posted is just because the differences between 1.10 and 1.11 are pretty significant and between those two versions there is unfortunately a migration process that requires you to manually modify the theme. Something we always tried to avoid of asking our users and surely were not asking anymore with the new roadmap from 1.11. The upgrades are now guaranteed to be backward compatible.

Moreover maybe you don’t have to upgrade as we’re keeping the LTS for 1.10 for the foreseeable future?

Version 2.0 won’t happen.
We’re developing VS 1.x very actively. We plan to add storefront UI (previously it was a key feature of 2.0) to 1.12 or 1.13

Moreover we’re doing some R&D works that will potentially end up with another product With different architecture parallel to vs1.x. But please don’t expect any particular results soon.

VS1.x is here to stay and has a great new features upcoming (including b2b features and this new theme based on sfui; which will be optional, alternative to the default)

In the next 2-3 weeks we plan to publish a couple of blog posts regarding VS1 roadmap, VSF next architecture and the plans - stay tuned.

Our key goal is to keep our users safe, without the painful upgrade process required anymore. VSF achieved the stability level that’s keeping us pretty sure about it!

I really appreciate your fast and detailed reply. I really like VSF and I’m not afraid to study and modify some code. I just wanted to make sure I was adopting the best practice. You’ve provided good guidance here, which I think will be helpful to others, too.

Thank you!

1 Like

Hi @Julia, thanks for your valuable feedback and honestly we knew this was coming. core part is actually easy to upgrade as it’s doable with a copy/paste action, however, for customized theme it should be taken care of by someone who modified custom theme.

We might have created a perl or awk script to replace strings based on git diff. However, you really can’t guarantee that script will cover 100% safe replacement since it’s impossible to predict how it would have been modified by someone else. And if it’s not 100%, it means 0% or even worse -100% for your job efficiency.

This wouldn’t have happened if we were to stick to legacy APIs. So the core exposure to theme methods wouldn’t need a fix which is something even we desired too. I have myself painstakingly suffered from even writing that cookbook recipe about 1.10 -> 1.11 diff. While introducing APIs of new concepts, we believed benefits over legacy stability would outperform.

But believe me, we are also working on to come up with the better idea to help this type of upgrade in a breeze as well, not to mention, as @pkarw put above, LTS and upgrade roadmap ahead will give you a guidance on how to deal with decisions you need to make for your VSF.

Or, for better or worse, follow that recipe one by one and learn how core people have been through. You will become much stronger VSF developer after all. :slight_smile:

Here’s the update for my situation, which might be useful to others facing a similar situation:

I have a heavily modified theme, but it was easier to start from scratch and install the 1.11 version than to perform all the steps in the cookbook.

It also makes me feel incrementally more confident that I’m building on a clean 1.11 codebase, assuming we will never need to go through such a painful process again because 1.11+ is truly separate from the core now.

I see a lot of small and large improvements have been made in 1.11, so I’m glad I upgraded.

The only significant issue I have with VSF at this point is there still isn’t any clear way to use a good UI library (as mentioned here). Hopefully somebody can help in that thread soon.

Thank you to the VSF team. It really is a great framework to work with after going through a relatively steep learning curve.

2 Likes

@kkdg I think it’s worth to shed some light on using external UI libraries in the docs as this question apparently pop up several times already

@pkarw duly noted. interesting topic it is