2021’s Best Development Tools for B2C Commerce Cloud Developers

Make your dreams come true with the ultimate tool kit.

Holidays

During 2020, I was working almost every working day without taking a vacation. I took two weeks off during the Christmas holiday season so that I could spend some time with my family and do personal stuff I was postponing the whole time. Usually, it would be about chugging mugs of cocoa, stuffing my face with cookies, and attempting to fulfill my life-long goal of memorizing every single line of Harry Potter. As you can imagine now, I was not able to focus only on cocoa and cookies…

Before the end of this year, I truly wanted to create several posts about Data Migration, DevOps, and ISML Data Mapping solutions, however, one topic was foremost on my mind and which I finally got done — Development Tools. Working for a long time with B2C Commerce Cloud, I was able to build a personal ultimate tool kit that helped me to perform regular tasks on a day-to-day basis. Folks in the B2C Community also have their own secret power by utilizing the products and services which make their lives much more efficient.

Consequently, the question that finally came to mind was: What are the specific development tools for B2C Commerce Cloud Developers that might help people’s lives in 2021? This article will be my report on a study I did when I interviewed my colleges from OSF Digital, as well as the authors of the tools I use daily, and prediction insights based on the signals I foresee for 2021.

Categories

When we think about tools, one way to share them is just to create a huge list of them. Though that might be insightful, it could bring chaos for structuring this information for a newcomer or person who has never worked with them before. Sure, you might say, we could just provide a description for each tool to help them understand what it will be about. I agree with this approach, and taking it one step further will help them out even more.

Categorizing tools will also help us to tackle the areas where we usually face challenges in our daily activities. At the same time, we all need to understand that those categories are still based on my own experience and might have a difference in the way you would like to have them structured. So, let’s accept this risk and think about how the logical structure of this information can be best presented for the benefit of all.

In my day-to-day activities, it is a must to work with my browser, so let’s call it the first category, which would be “Browser Extensions.” After working with the web browser or for some people, (even before working on the browser) we need to have our integrated development environment (IDE) where we are writing our code and for those who use back-end as their primary domain focus — debugging. So, our second category will be “IDE plugins.” I also use different products, tools, and services, which are not an extension to my main solutions stack. Hence, we also need to have a third category which will be called “Extras.”

In this category, let’s assume we are including web tools, aka some online websites that provide us with “service,” which will help us toward our goal. Also, we include in the “Extras” the applications of our operational systems that can be installed locally. Finally, I would segregate from this list, tools that are “B2C Commerce Cloud” specific and which are general extensions, plugins, and tools that could be used in any other technology stack. Hence, the final category is listed as “Others” which would represent general industry tools. See Figure 1. image below of how this looks.

Figure 1. Categories mind map, power by Whimsical

Structure

Before we jump directly into the list of tools, it is also vital for us to keep consistency in how it is structured. The layout of the information describing the tool kit will follow the same format for each tool throughout this article. An example of how this looks is shown in figure 2. image below. This way, it should be relatively easier to differentiate one tool from the other. While I was gathering details and making my analysis, looking at the data, we can extract the six (6) main logical blocks about each one:

  1. Name — This is a self-descriptive item that will tell us what the tool’s name is.
  2. Description — Here, we will see an overview of the tool, its capabilities, and why we use it.
  3. Source — I will provide you a reference to the web URL where you can find it, download/install it, or read more about it.
  4. Author (optional) — Each tool didn’t appear magically, there are people behind them. Yes, kudos to the author(s) of those tools mentioned in this article.
  5. Word of the creator (optional) — Such tools were created for some reason — to serve the mission. I was lucky enough to get a chat with some of those authors and share with you their thoughts.
  6. Image (optional) — It’s much easier to recognize the tool by picture sometimes. Hence, for those tools which might have some visualization, they will be displayed throughout this article.
Figure 2. Structure wireframe, powered by Whimsical

Rating

The funny thing is that I cannot really tell you which tool will work best for you. I also don’t wish to display any bias with an opinionated rating and reviewing by telling you what you should and should not use. Let’s consider the following expectations:

  • The order of how the tools are listed does not mean that anything that is listed first is better or worse than the items described after and before them.
  • The tools highlighted in this article or any other tool(s) that may not have been mentioned here will not indicate any advantages or disadvantages of any tool over another.
  • The opinions expressed in this article are solely my own and do not represent the views or opinions of my employer.

Now, let’s look at the tools outlined that can be used for your B2C Commerce Solutions.

Browser Extensions

Demandware With Ease

DWithEase is an all-in-one extension that extends Business Manager capabilities for Commerce Cloud. This plugin is intended mostly for developer sandboxes and should be used with caution for staging and production. My most used feature is “Search with easy.” It is a fast search, which can be found in the toolbar and from which you can search through both menus — Merchant Tools and Administration, as well as to do quick searches for Customer, Order, Content, Product, etc.

What has inspired you to create DWithEasy Solution?

“At ForkPoint, we are always striving to make our work process fast and effective, so we love to create tools that automate and streamline the way things are done.

When we first encountered Demandware eight years back, we noticed that the Business Manager interface had the habit of interrupting the session every 15 minutes, which caused anxiety. So for the first year, we just injected some code to subdue this inconvenient session timeout. Then we did the log listing beautify feature. From there on, it became an internal project for ForkPoint, to gather new ideas and add them to the extension. The feature set grew immensely in the past six years, from WebDAV to an editor of files, taskbar, new search feature, and log colorization. Now, we have a Development Console in beta. The full feature set of the extension is listed in the documentation. Be sure to check it out, as we know some handy features get missed by the users.”

How is your product impacting SFCC Community life on day to day basis?

“We believe this should be the one-stop-shop for SFCC Developers when using the Business Manager and WebDAV, alleviating the usual pains they might encounter along the way. So far, we have a ton of positive reviews, which is a delight. More importantly, we have a strong following with people who are sharing new ideas we implement. About 14,000 installations are active currently, from which we have the most in the US, Eastern Europe, and India.

Since security is a big concern, we went the extra mile. We made “saving passwords” optional and implemented a feature to secure all accounts with a master password called OnePass. The addition of OnePass, we hope, will solidify the trust in the safety of using DWithEase.

We are always open to feedback, suggestions, and ideas to enable developers to do more and do it with ease. We are grateful to share this tool with you, and we hope you can share it with others that can benefit from it like we do every day at ForkPoint.”

Commerce Cloud Recommendation Validator

This is a tool to help with the preliminary validation of Salesforce Commerce Cloud Einstein Integration. It includes support for the site activity, site recommendations, email recommendations, and email open pixels. Usually, it is used to validate if Einstein is deployed to the instance, and events are then fired correctly on the page. I used it several times to see if Einstein would send the recommendation feed, but afterward, there were found to be some UI/UX issues that were not being populated in the recommendation carousel.

SFCC DevTools

SFCC DevTools is a Cross-Browser Extension for Salesforce Commerce Cloud developers to connect their browser’s Web Inspector to VS Code, and Eclipse & Business Manager. It adds a new SFCC Side Panel to the Elements Panel. It allows you to open ISML, Pipelines & Controllers in VS Code/Eclipse, as well as being able to open Content Slots & Assets in Business Manager. In comparison to the platform’s default tools, I found this extension to be more time effective and in reach of the capabilities that make day-to-day activities more straightforward.

IDE Plugins

Prophet Debugger

Prophet is an extension for Visual Studio Code. VSC is probably the most used IDE nowadays for JavaScript development and is now taking over Eclipse in the Salesforce B2C ecosystem if you don’t need to support legacy projects on the pipelines. Prophet is a powerful extension with a list of capabilities and the features I use the most are the debugger, DW API auto completion, ability to search and open log files directly in the IDE without switching to the browser screen. The Prophet Debugger is a part of the VSC extension packs ecosystem as a Salesforce Commerce Cloud Productivity Pack member. It shows the credibility we can offer to this trusted solution by its many thousands of users.

What has inspired you to create Prophet Debugger Solution?

“Lack of adequate tools to work with the platform. By the way, Prophet is not the first plugin for Demandware. Bart for Atom was the first one. So, the popularity of the Prophet Plugin is due only to the popularity of VS Code.”

How is your product impacting SFCC Community life on day to day basis?

“I did not think about it, but if the tool helps developers to produce better quality codes, then it makes my working on future projects easier and makes me happy as well.”

Intellij SFCC

As Sergey writes on the solution website, Intellij SFCC is the most powerful plugin for Salesforce B2C Commerce development with JetBrains IDEs. Plugin for JetBrains IDEs comes with a list of vital features that provides capabilities to have such as debugger, WebDAV explorer, Smart Code Competition, ISML support, and others. As my favorite IDE for multiple years were IDEs from the JetBrains family, the Intellij SFCC plugin becomes a premium addition to enable full development capabilities for your day-to-day work.

What has inspired you to create Intellij SFCC Solution?

“It’s simple, a lack of SFCC support in IDEs, and by support, I mean real full-featured support. I’m used to working with Asp.Net Core and Spring Boot on my own projects. I was amazed at how well Rider/Visual Studio and Intellij IDEA support these frameworks. You don’t need to keep a bunch of useless things in your head. Instead, you are just working on precious things. Just perfect. In the meantime, I worked with SFCC, and I was pissed off about the poor support of it in Eclipse/VS Code and JetBrains IDEs. After working on 5–10 projects simultaneously and spending a lot of time on trivial things, I realized how bad this support was. All existing solutions at that time seemed abandoned, lacked new and useful features for a couple of years, etc. So, I finally decided to complete what I was trying to do back in 2013 (I’ve forked one SFCC plugin, but I was too lazy to work on it). My goal was to achieve maximum productivity while working with SFCC (no matter how difficult it was to implement). All Intellij SFCC features were based on existing ones for Asp.Net Core in Rider/Visual Studio. I spent one week on the investigation of Intellij IDEA Community source code documentation. After a month of active development from scratch, I released the first version of Intellij SFCC. To my surprise, the early feedback was from guys who are working directly in the Salesforce Commerce Cloud department, and it was very inspiring.”

How is your product impacting SFCC Community life on day to day basis?

“As I mentioned before, the main goal of Intellij SFCC was to boost developers’ productivity, and based on their feedback, this goal was achieved. Devs are spending less time on everyday things and more on solving business tasks. Everyone is more productive than ever before. Also, my plugin was kind of a booster for other plugins. They started to implement some of the Intellij SFCC features, which is very good for everyone. There is still a lot to do, so I hope next year will bring much more game-changing features for SFCC developers.”

Extras

Salesforce Commerce Cloud CLI

The Salesforce Commerce Cloud CLI is a command-line interface (CLI) for Salesforce Commerce Cloud. It can be used to facilitate deployment and continuous integration practices using Salesforce B2C Commerce. The CLI can be used from any machine either locally or from build tools like Jenkins, Travis CI, Bitbucket Pipelines, Heroku CI, etc. In addition to the CLI, a basic JavaScript API is included, which can be used to integrate with higher-level applications on Node.js.

My personal favorite use case of the Salesforce CLI is Docker-driven development setup, which allows the provision of a new environment infrastructure and deployment of the code and data with all the sites you have. All of this in less than 30 minutes with one click command, while average manual work would take you at least half of the day. Hence, you are saving at least three hours and 59 minutes to focus on the more important stuff and can scale this solution to more advanced use cases. More on Docker-driven development setup and such use cases will be covered in one of my articles in 2021.

What has inspired you to create Salesforce Commerce Cloud CLI Solution?

“I felt that there was a need for a CLI that helps B2C Commerce admins and developers on a daily basis with CI/CD practices interacting with B2C instances, similar to what Salesforce DX offers for Salesforce Core Orgs.”

How is your product impacting SFCC Community life on day to day basis?

“I definitely hope in a positive way. I know that the tools are used for both interactive uses by individuals as well as to enable automated processes that are otherwise not or only with additional efforts possible.”

OCAPI Settings With Ease

A unique tool that provides a visual perspective and an easy configurable panel for OCAPI configurations. The interesting use case is that the tool only shows the opened endpoints and from the endpoint, it can be used to compare two instances. For instance, to ensure one instance is behaving the same way as another. And in a debug session, to understand from where an issue is ocurring.

Jordane also contributed to Salesforce Commerce Cloud CLI adding the diff deploy feature. You can read more about this at http://bit.ly/3aHyweA.

What has inspired you to create OCAPI Settings With Ease Solution?

“I got inspired by a customer, we were having a discussion on OCAPI settings and we said that it was not easy to set it up in the BM as there is no real way to generate the schema. Then, no easy way to also test the schema we configured in the BM. So… I did the tool.”

How is your product impacting SFCC Community life on day to day basis?

“I think it is impacting mostly developers/architects who need to setup OCAPI settings in their BM. It speeds up the process.”

RVW Developers Core — SFCC Cartridge

We had a chat with Peter in the Salesforce B2C Commerce Cloud Unofficial community about the tool. Both agreed that a demo video in action would best showcase the tool’s capabilities.

RVW Developers Core — SFCC Cartridge for Developers allows the following:

  • You can execute Server-Side JavaScript on your Sandbox in your favorite browser
  • No Site Preferences or Misc Imports Required, just drop in and go
  • Provides Safety Measures to prevent running in Production Environments

Peter was also really kind to share a “not quite public” feature that will be a game-changer in 2021. If you seek to test and give Stephen and Peter some feedback, please enjoy by clicking this link for an experimental branch. It has the old console we users know and love and a new tool that folks from Red Van Workshop call Devtools. This latest product evolution will let us pipe log messages directly to our browser into a drawer that also allows us to inspect the most common SFCC stuff we might care about. Log messages literally spit out into our DevTools Console.

5 major significant features of the new tool are:

  • Server Side Debugging in ISML, JS & DS Files
  • Client-Side Rendering of Debug Output in Dev Tools Console
  • Interactive Drawer with Console for Debugging and Testing Live Code
  • Safety Measures to prevent running in Production Environments
  • No Site Preferences or Misc Imports Required

What has inspired you to create RVW Developers Core Solution?

“One of our newest developers at Red Van Workshop, Stephen Hendricks, started up a conversation with me around development tools and our shared passion for creating them. I demoed a few that I had released as Open Source tools under our company’s GitHub account. Stephen then demoed the Console he had built as a personal tool while working at his previous job. I pretty much lost my mind as soon as I saw it and realized its value.

I joked that I could see developers using this every day if it had a dark mode. Together, we decided to hash out what it would take to build this into a reliable everyday tool that other Salesforce Commerce Cloud Developers might use.

We first kicked it around to some of our internal devs to get some feedback and feature suggestions. Next, we hit up some of our closest clients who had dev teams passionate about some of the other tools we had released. After we had enough feedback from testing, we decided to open it up to the world. We were surprised to get external contributions pretty much immediately.”

How is your product impacting SFCC Community life on day to day basis?

“On the very first day of release, we had some great suggestions from both our clients and SFCC Devs that found our tool through the Slack Post we made mentioning it.

This tool has 100% solved its intended purpose for our teammates and clients that are using it. Since you can execute code live in the browsers, it drastically cuts down on the time it takes to test iterations of code. You do not need to wait for the code to upload or browser pages to refresh, so developers save time and do not lose mental focus waiting on their tools to do their jobs.

One of the first feature ideas we added came from a developer over at one of our clients, Patagonia. He realized he could use this tool to isolate API calls and test them for performance improvements. We just needed to update the tool to show the time it took to execute on the server-side. He had a few service calls that seemed like they might be causing their company performance issues and now has a solution that allows him to write up some test code to get to the bottom of things. We’re honestly really excited to see how this grows.”

Others

Tabnine

Tabnine is a smart compose for code. It uses deep learning to help you write code faster. Some of the features are:

  • Tabnine uses documentation to infer this function’s name, return type, and arguments.
  • Tabnine uses the format string to determine which variables should be passed to the format function.
  • Tabnine recognizes common patterns from libraries like React.

I am using it with the free plan and must admit that it is now my must-have plugin for all IDEs to boost my productivity and when typing.

Whimsical

Fast! Simple! Thoughtful design! This is all about Whimsical — the visual collaboration tool that I personally and currently use for all white boarding, drawing, and architecture diagrams. “How We Built Whimsical” from Kaspars sharing a great story on how the product was built. Whimsical also has integration with Notion, our next tool in the list.

Notion

Notion is an all-in-one workspace solution. I use it to track daily activities, make notes, and organize my own knowledge database. Notion can be used for teams and individuals. One tool for the whole team where you write, plan, and get organized. Notion can replace multiple tools and be your starship in the productivity and efficiency of your life.

2021

Figure 3. Fulfilled categories mind map, power by Whimsical

Based on indicators I see in the SFCC community and social media, together with chats that I was participating in, 2021 will be an excellent year for new tools and unique evolutions of the existing one. We are going to move forward with more and more open source solutions shared by organizations and individuals. Such a solution might include a visual dashboard to manage On-Demand sandboxes, similar to how legacy sandboxes were handled in the control center. This new solution will provide full capabilities of the latest technological stack. We will be able to create, assign, schedule, and do whatever we can do via API or Swagger, but using a more UI/UX friendly solution. It will be totally free and open to the public for everyone, compared to the OSF Digital tool shared in the community by Yuriy Boev and mentioned as a corporate product, which source code or access to the product itself cannot be shared.

2021 will also give us new DevOps solutions like the Docker-driven development framework that can spin full infrastructure with all sites and working sites in a matter of minutes. We will also have Whitepapers, Reference Architectures, and how to use those new DevOps tools to connect them to our development flow. For example, when the pull request is raised, the new environment will be provisioned. All functional tests will run and indicate PR if automation testing was successful and kill the instance.

We are going to have more and more useful tools and solutions in 2021 — this is for sure. What I wish to share still in 2020 — is a big thank you to all those individuals and organizations who created those fantastic products and solutions, shared them with the community, and making our day-to-day life better. Thank you!

My name is Oleg Sapishchuk, and I’m an experienced Solution Architect providing digital transformation with unified commerce solutions for some of the world’s best known and most influential brands. Salesforce B2C Commerce is the topic that I write about most frequently. If you are interested in new or previously written material, I invite you to follow my Medium profile.

Solution Architect providing digital transformation with unified commerce solutions for some of the world’s best known and most influential brands