TIL Thursday: Migrating from Pre-Denali to Mont Blanc

A few weeks ago we ran an interview with someone who talked about his team's experiences upgrading a site from the Denali version of SuiteCommerce Advanced to Mont Blanc. This week, we're doing something similar (but far more drastic): migrating from pre-Denali.

So I sat down with the team at Tavano, who have recently taken a site along this migration path, in order to find out how it went and what they've learnt.

In this interview, Tavano was represented by Martin Prieto and Matias Lugli, senior developers; Leonardo Mello, tech lead; and Rodrigo Alonso, chief operating officer.

Interview

Hi guys. First, let's start with the basics: what site did you upgrade?

We worked on RST Brands, who sell patio and outdoor furniture sets.

What made them want to migrate?

They have an interest in keeping current and taking advantage of new functionality. They also have a partner site, Flow Wall, who specialize in garage storage and organization, which they wanted to migrate as well. Particularly, they were interested in offering Affirm as a payment method (financial loans) and integrating with Velaro to offer live chat on their site.

How did you prepare for the migration?

Firstly, we have a dedicated team to handle migrations. Secondly, we made sure to catalog all of the customizations on the site. Then, we trained the team in the changes in Denali and Mont Blanc.

How did you go from there?

We worked out in our migration plan what needed to be moved over first. As we worked, we did small, regular UAT sessions with the client, rather than one large UAT session at the end.

Seeing as Denali completely changed the underlying codebase, how much of the pre-Denali site was re-used in the new site?

We couldn't use any of the existing frontend code, it had to be completely rewritten, so migrating the template customizations was a challenge. For example, taking the logic out of the Underscore templates and putting them into the views. Also, migrating to a newer version of Bootstrap meant we had to use specialist tools for that migration process. Mont Blanc takes a one class to one element approach, so we had to find the appropriate Bootstrap class and extend that. It's a process you need to go through with every template, so it's quite time-consuming.

As for SuiteScript, we could still use that and there was no change.

Was anything else particularly challenging?

The facet configuration was difficult, as it was something that had changed post-Denali. We had to use the facet URL configuration feature which broke the frontend of the site. To fix this, we put everything in place on different touch points. When it came to putting it live, we simply switched the touch points over.

Other than this there were no big challenges that made us take a couple of steps back. We were prepared: we had a plan and the right resources and so that was basically it. We used developers.SuiteCommerce and found everything we needed.

How did you find other changes in Denali and Mont Blanc, such as the new developer tools?

The developer experience is so much better. We found the deploy process and the ability to work locally to be extremely helpful. Having sandbox environments also really helped with UAT.

What are your best practices for handling customizations?

Firstly, follow what the documentation says: do not touch the source code. The key is always to extend and build your customizations out in separate modules. We keep all our customizations in one place and each module has its own assets. We identify modules that can be reused for different things and keep a list of them so we can keep them in mind if they can be used for different sites.

Secondly, we make use of version control. Per site, we maintain one master branch — we don't use feature branches. We don't feel like we need to put customizations on separate branches — it didn't create conflicts, so it worked out OK. We also decided to use SourceTree, a UI for Git, so that our designers could also use versioning.

How long does it take to migrate a pre-Denali site to Mont Blanc?

As long as the site doesn't have too many customizations, we think around 180 to 250 hours.

What are your final thoughts on the process?

A lot of customers seem hesitant to move from early versions of SCA or SiteBuilder, but for us the whole experience has been positive. Even from a performance point of view, the speed of the site is awesome. We went to a talk at SuiteWorld where a customer talked about their pain migrating — that was hard for us to hear because we really think it's worth migrating. Mont Blanc is far better than Site Builder.

Thoughts

I think there are some similarities between what the Tavano team have said and what Joel said a few weeks ago. Particular to Mont Blanc and SCA, the developer tools are marked improvement over our previous offering. You just don't get the power to work locally and deploy from the command line, like you do post-Denali.

Version control was mentioned again, too, and I've made the case in a previous article about how useful version control systems can be. While I dismissed GUIs, the Tavano guys made an excellent point that if you're working with designers, then something like SourceTree can be invaluable as they're easier to use than CLIs.

In terms of the migration path from pre-Denali to post-Denali, it's clear that this requires a more significant time investment than moving from Denali to Mont Blanc. From what Tavano have said, these three things seem to require more hours:

  1. The frontend code is substantially different. It's not possible simply to rewrite or port existing code: you will likely have to start afresh.
  2. A migration to the version of Bootstrap means that you'll have to do some work to change your styling.
  3. Planning time: because it's a fundamental architecture change, this will simply require you to spend more time planning. Naturally, this compounds things but the experiences of Tavano seems to suggest that it's worth it.

Finally, I will say that Tavano expressed to me that a number of people are reluctant to migrate from older SCA or SiteBuilder instances. I agree with them wholeheartedly when they say that it marks a significant migration. But when you approach an existing site, the idea of 'migrating' seems more like rebuilding, and, I guess, it is. Joel estimated that migrating from Denali to Mont Blanc should only take 50 hours, whereas Tavano say that anything up to 250 may be required if you're going from pre-Denali. This is a significant amount of time, but if you take a look at the features available, I think you'll see that it's worth it.