bm extension tool

Data management is an essential part of working with the Salesforce B2C Commerce (SFCC B2C) platform.

The technical complexity stems from the presence of multiple operating instances (Sandboxes, Development, Staging, Production), and from the fact that crucial data is exported natively in an XML format that is difficult to analyse.

From a business perspective, the larger the project and the greater the number of teams involved, the higher the maintenance overheads, the greater the risk of data inconsistency and higher costs to fix it.

Data Management Challenges

There are many data management challenges in the SFCC B2C world. However, based on our experience and requests arising from multiple projects, dwreTeam has identified the following crucial needs, which the XML Compare solution addresses.

Metadata Overview

Quite often, there is a need to get a list of Custom Attributes of System Object Types, detailing the data types, constraints, etc.

The same applies to the Custom Object Type Definitions.

Metadata Compare

Having different metadata in the instances, for any reason, raises the issue of consistency.

Any inconsistencies in Custom Attribute Definitions can corrupt data and cause huge overheads.

Content Compare

Functional content is developed in Sandboxes, but then moved to the Development / Staging.

The need for a high-level overview of content changes arises at a time of yet another release.

XML Compare is a SFCC B2C Business Manager Extension that provides a toolset allowing to compare and merge Metadata and Content Library XML files, as well as get a consolidated report on the Custom Attributes and Custom Object Types from the Metadata XML files.

Custom Definitions Viewer

Having a detailed, consolidated view of the Custom Attributes of System Object Types, as well as of Custom Object Type Definitions, makes any SFCC B2C implementation a kind of an open book from the data operations perspective.

When it matters? There are too many cases to list here, but we consider the following as crucial:

  • Service integrations. It's important to know where the data can be taken from or stored to, as well as the form of this data.
  • Data migration. This is an essential step when re-platforming.
  • Project clean-up. Yes, it happens, and not just with SFCC B2C, as after many years of operating, there often is a mess with data.
  • Engineers onboarding. Good documentation, especially with regard to data, is more of a myth than a reality 😆
Custom Definitions Viewer

Metadata Compare

To ensure data efficiency and consistency in SFCC B2C, it is crucial to maintain metadata alignment between instances. While the larger the project is, the more challenging that is.

Except for the side-by-side manual comparison in the Business Manager, metadata can be exported and compared using diff tools.

Here's an issue. The metadata is exported as XML, but popular diff tools do not take its structure into account and treat it as plain text.

There is a better way of doing things! This solution offers:

  • identifying Object Types and Custom Attributes
  • comparing Custom Attributes with their respective ones
  • identifying and comparing Custom Groups
  • selecting the preferable version with a per-property granularity
  • merging the selected properties into the result metadata XML
  • even System Attributes are supported, just in case
Metadata Compare

Content Compare

A high-level overview of content changes is often needed at the time of a new release to ensure that everything developed has been added to the Content Library and won't be missed.

As with the metadata, the only way to compare content is as XMLs, except for manual comparison or following strict changes tracking.

This solution supports Content Assets and Page Designer Components and allows to:

  • identify new content and detect changes to existing
  • select the preferred version of the content
  • merge the selected content into the result Content Library
Content Compare

Featured Views

Custom Attribute view. Enum of String data type.
Custom Attribute view. Enum of String data type.
Custom Attribute view. Enum of String data type. Localized description and values.
Custom Attribute view. Enum of String data type. Localized description and values.
Custom Attribute raw view.
Custom Attribute raw view.
Metadata compare. Custom Attribute data type change.
Metadata compare. Custom Attribute data type change.
Metadata compare. Custom Attribute localization.
Metadata compare. Custom Attribute localization.
Content compare. Content Asset changes.
Content compare. Content Asset changes.
Content compare. Page Designer Component changes.
Content compare. Page Designer Component changes.

Questions & Answers

Why should I choose it?

There just isn't a good alternative. When talking about most popular diff tools, it's again about XMLs as a plain text. Although there are some XML diff tools, none of them were designed specifically for SFCC B2C, and it is unlikely that any of them have been tested with it. And don't forget about the Custom Definitions Viewer – it's unique, and brings additional operational value.

How difficult is it to install?

It's pretty trivial once you get the cartridge. There is documentation, but it's enough to just push the cartridge to the instance where it'll be used and configure the access rights. That's it!

How is it licensed?

Licensing is on a per-realm basis. However, as the solution is protected, you should provide a list of instances where it will be running.

What about compatibility?

When talking about SFCC B2C platform versions, it should be working on any. When talking about reference architectures (PWA Kit, SFRA, SiteGenesis), it doesn't matter, as XML format is defined by the platform. Browsers matter here, Chrome and Firefox only.

What can I customize?

This solution isn't designed for self-customization. However, dwreTeam is here to help! We can adapt the solution to fit your specific needs.

Does it require any 3rd parties?

All you need is Salesforce B2C Commerce ❤️

Does it send data externally?

Nope. This solution does not send data to any external services, APIs etc.

Is data / access security ensured?

The solution is a Business Manager Extension operating within the SFCC B2C environment. It only has access to data that users have explicitly uploaded, processing it using the user's browser and the instance as computing units. Users' access to the solution is configured and controlled by the platform in the same way as for any other Business Manager Module.

Will it impact performance?

Not more than any other Business Manager Module. Firstly, XML Compare operates only when it is used. Secondly, there is no need to run it in Production, moreover is not recommended because there is no need in such a setup.

Are you going to support it?

We are going to evolve and maintain the solution for the long run. There may be periodic notifications to existing clients on the need to get updated, if it arises, as well as new features promos.

Existing installations cannot be updated automatically due to technological specifics.