2020.1.0 Release of SuiteCommerce and SuiteCommerce Advanced

This topic applies to

Applies to

Commerce Web Stores

The following release notes are provided as a Sneak Peek to the upcoming 2020.1 release of SuiteCommerce and SuiteCommerce Advanced.

The following features will be available in the upcoming 2020.1 release of SuiteCommerce and SuiteCommerce Advanced:

3D Secure 2.0 Support

With the 2020.1.0 release of SuiteCommerce and SuiteCommerce Advanced, 3D Secure 2.0 is supported in Checkout and My Account. For a transaction to be processed using 3D Secure 2.0, the issuer of the credit card and the payment gateway must also support 3D Secure 2.0.

3D Secure 2.0 meets the requirements of Strong Customer Authentication per European directive PSD2.

JSON-LD Structured Data Markup

The 2020.1.0 release of SuiteCommerce and SuiteCommerce Advanced implements JSON-LD structured data markup to automatically add structured data to the HTML header sections of product detail pages (PDPs). Major search engines use structured data markup to provide detailed information about a page and enhance search results. Product list pages do not include the JSON-LD markup.

For more information about the properties included in the markup, see Structured Data Markup.

Internet Explorer 9 and 10 No Longer Supported

With the 2020.1.0 release of SuiteCommerce and SuiteCommerce Advanced, implementations no longer support Internet Explorer (IE) 10 and earlier. Since January 12, 2016, Microsoft no longer provides security updates or technical support for IE 10 and earlier.

Because IE 10 may cause breaking changes on SuiteCommerce and SuiteCommerce Advanced sites and users may be exposed to security vulnerabilities, do not use IE 10 and earlier. Install, and direct your customers to install, a currently supported browser version.

For more information, see the help topic Supported Browsers for Commerce Web Stores.

Extensibility API Updates

New Method in Visual Component to Modify JSON-LD of Views

With the 2020.1.0 release of SuiteCommerce and SuiteCommerce Advanced, the Visual component in the Extensibility API has been updated with a new method (modifyViewJsonLd()), which lets you modify the JSON-LD associated with a view. This method supports the JSON-LD Structured Data Markup feature.

If your extension modifies the data shown in a view, you should update the JSON-LD to ensure the view and the JSON-LD embedded on the page are consistent. Use modifyViewJsonLd() to add, remove, or change the JSON-LD data before the view is rendered.

More information about this method is available in the Extensibility API Reference.

SCModel and SCCollection Components

The 2020.1.0 release of SuiteCommerce and SuiteCommerce Advanced introduces two new components to work with models and collections: SCModel and SCCollection. These components extend their native equivalents in Backbone.js, specifically Backbone.Model and Backbone.Collection. Both components are written in TypeScript and inherit all their respective Backbone.js methods and properties. In extensions built on SuiteCommerce or SuiteCommerce Advanced 2020.1 and later, you should use these new components instead of Model and Collection in Backbone.js.

More information about these components is available in the Extensibility API Reference.

Extension Manager Support for SuiteScript 2.0 Services

With the 2020.1.0 release of SuiteCommerce and SuiteCommerce Advanced, the Extension Manager has been modified to support extensions that include SuiteScript 2.0 services. These updates include the addition of SuiteScript 2.0 as a supported file type when creating a baseline extension and additional modules using the extension developer tools.

For more information, see Create a Baseline Extension and Create Additional Modules for an Extension.

Conditional Display of Configuration Record Groups and Subtabs

With the 2020.1.0 release of SuiteCommerce and SuiteCommerce Advanced, developers can add additional metadata to module and extension JSON configuration files to control the display of SuiteCommerce Configuration groups (tabs) and subtabs. For more information, see Conditional Display of Groups and Subtabs.

Commerce Module Migration to SuiteScript 2.0

The 2020.1.0 release of SuiteCommerce and SuiteCommerce Advanced includes progress made in ongoing efforts to migrate source code to SuiteScript 2.0. The effort to leverage the benefits of SuiteScript 2.0 spans multiple releases and will ultimately enable Commerce application developers to interact with core NetSuite records in a unified way. In this release, the following My Account modules have been refactored to use SuiteScript 2.0:

  • OrderHistory

  • ReturnAuthorization

  • StoreItem

  • Transaction

  • TransactionHistory

All other modules remain compatible with SuiteScript 1.0 and the Commerce API at this time.

For more information, see Commerce Migration to SuiteScript 2.0.

Commerce Module Migration to TypeScript

The 2020.1.0 release of SuiteCommerce and SuiteCommerce Advanced continued code migration from JavaScript to TypeScript. In this release, two new bases classes were implemented using TypeScript:

  • Collection

  • Models

In addition, the following code was migrated to TypeScript:

  • Utils.ts

  • Case.Model

  • Case.Collection

For more information, see TypeScript.

Important

This migration applies to core SuiteCommerce and SuiteCommerce Advanced source code only and does not apply to Commerce theme and extension development.


Configuration Changes

The following configuration properties have been added with the 2020.1.0 release of SuiteCommerce and SuiteCommerce Advanced. Refer to the appropriate section for more information.

Property Label (SuiteCommerce Configuration Record)

Property ID

More Information

Property Location (SuiteCommerce Configuration Record Tab > Subtab)

Markup Type

structureddatamarkup.type

Markup Type

Shopping Catalog > Structured Data Markup

Out of Stock Behavior (When Item Back Orders Are Allowed)

structureddatamarkup.availabilityonbackorder

Out of Stock Behavior (When Item Back Orders are Allowed)

Shopping Catalog > Structured Data Markup

Subscription Line Status Change

subscriptions.lineStatusChange

Subscription Line Status Change

My Account > Subscriptions

Allow The User to Cancel/Suspend Required Lines

subscriptions.allowToCancelSuspendRequiredLines

Allow The User to Cancel/Suspend Required Lines

My Account > Subscriptions

Subscription General Status Change

subscriptions.generalStatusChange

Subscription General Status Change

My Account > Subscriptions

Disallow The User to Upgrade Quantity

subscriptions.disallowUpgradeQuantity

Disallow The User to Upgrade Quantity

My Account > Subscriptions

Disallow The User to Downgrade Quantity

subscriptions.disallowDowngradeQuantity

Disallow The User to Downgrade Quantity

My Account > Subscriptions

Node.js Requirement Change

With the 2020.1.0 release of SuiteCommerce, the developer tools have been modified to support Node.js version 12.14.x, where x equals the most current minor release. To use the theme, extension, or core SCA 2020.1 developer tools, you must update Node.js to this version. See Install Node.js for more information.

SuiteBilling Subscriptions for SuiteCommerce

With the 2020.1.0 release of SuiteCommerce and SuiteCommerce Advanced, you can set up your webstore to display Subscriptions (as set up through the SuiteBilling feature in NetSuite). Website users can now view and manage their existing service subscriptions using the My Account application. This includes viewing, changing, suspending, and canceling a subscription.

Website users access their subscriptions by logging in to their account, going to Account Overview, and then clicking Subscriptions.

For more information, see SuiteBilling Subscriptions for SuiteCommerce.

Third-Party Library Updates

With the 2020.1.0 release of SuiteCommerce, the third-party libraries shown in the table below have been updated. Library version information in also shown in the distro.json file. Ensure that any themes and extensions using these libraries are compatible with the update and make any appropriate changes. If you are migrating SCA to this release, ensure that no deprecated methods exist in your implementation before migrating.

Library

Old Version

New Version

Backbone.js

1.3.3*

1.4.0*

Bignumber

7.2.1

9.0.0

Font Awesome

4.2.1

4.7.0*

Handlebars

4.0.12

4.5.3

JQuery

3.3.1

3.4.1*

Require.js

2.3.5

2.3.6

*customized version