Benefits of the Extension Framework

The extension framework and Extensibility API were introduced with the Aconcagua (2018.1) release of SuiteCommerce Advanced (SCA). The extension framework includes the Extensibility API, Extension Manager, and the theme and extension developer tools. In addition to the new tools, the extension framework also introduced new formal constructs for Commerce website customizations — themes and extensions.

SuiteCommerce (sometimes referred to as SuiteCommerce Standard) was also introduced with the Aconcagua release. While SuiteCommerce Advanced runs from an unmanaged bundle, allowing changes to source code, SuiteCommerce runs from a managed bundle. This means you cannot modify the SuiteCommerce source code yourself, but you are always running the latest code because NetSuite updates your site automatically.

Prior to the Aconcagua release, customizing an SCA website required techniques such as extending base classes, overriding files, wrapping methods, and even editing SCA source files directly. While providing a great deal of flexibility, this approach to customization created more work for developers such as:

Developers needed a better, more reliable way of building customizations and moving them from site to site and version to version. This is why the extension framework was introduced. The extension framework allows new functionality to be introduced and maintained more easily and reliably. The three key elements of the extension framework are:

Extensibility API

A code-level API that provides access to key parts of a Commerce website via standardized objects and methods that remain stable across different sites and different versions.

Extensions

Packaged modules of code that plug into a site after being activated.

Themes

Packaged templates and Sass that can be used to change an entire site’s look-and-feel.

With the introduction of these key elements, developers can focus on creating themes and extensions, which are formalized packages that customize Commerce website look and feel and functionality. These packages can be easily versioned, distributed, and activated across different sites and different versions of sites.

The key elements of the extension framework also empower business users. After developers have built and then shipped these theme and extension packages, business users are free to activate them on their site if they like. Business users can then customize and configure the packages (if applicable), roll them back to a previous version, and deactivate them entirely on their own terms.

Regardless of whether you use SuiteCommerce or SCA, the tools and capabilities of the extension framework are available to both products. The crucial difference is that with SCA, you are also able to modify the source code. However, if your SCA customization requires access to objects that are not accessible via the Extensibility API, do no edit the source code directly. Instead, override or extend existing source code to create the custom functionality you need.

Related Topics

General Notices