Commerce Applications

This topic applies to

Applies to

Commerce Web Stores

The 2019.2 releases of SuiteCommerce and SuiteCommerce Advanced (SCA) include the following enhancements:

Some of these enhancements apply to all Commerce web stores; others apply to SuiteCommerce Advanced only. Each of the following enhancements specifies the implementations to which they apply.

Target Versions for Themes and Extensions

With the 2019.2 release of SuiteCommerce and SuiteCommerce Advanced, theme and extension developers can now specify compatibility with specific releases of SuiteCommerce, SuiteCommerce Advanced, or SuiteCommerce InStorep.

The theme and extension developer tools (provided with the 2019.2 release of the Extension Management bundle) now include prompts to specify a Target Version. This information prevents site managers from accessing incompatible themes and extensions on their site.

For more information, see Declare Target Versions.

Personalized Catalog Views Support

The 2019.2 release of SuiteCommerce and SuiteCommerce Advanced introduces support for the Personalized Catalog Views (PCV) feature.

The PCV feature enables businesses to provide different customers with access to different items. You can divide customers into groups and provide each group with access to a tailored selection of catalog items​. This is useful in many scenarios, particularly for B2B websites.

See Personalized Catalog Views for additional information about SuiteCommerce support for Personalized Catalog Views.

Configuration Changes

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

Property Label (SuiteCommerce Configuration Record)

Property ID

More Information

Property Location (SuiteCommerce Configuration Record Tab > Subtab)

Exclude Empty Categories

Categories.excludeEmptyCategories

Exclude Empty Categories

Integrations > Categories

Google AdWords ID

tracking.googleAdWordsConversion.id

Google AdWords ID

Integrations > Adwords

Google AdWords Value

tracking.googleAdWordsConversion.value

AdWords Value

Integrations > Adwords

Google AdWords Label

tracking.googleAdWordsConversion.label

Google AdWords Label

Integrations > Adwords

Show Recognized Shopper

header.showRecognizedShopper

Show Recognized Shopper

Layout > Header

Days Before Expiration Notification

quote.daysToExpirationNotification

Days Before Expiration Notification

My Account > Quotes

Request a Quote Bottom Message

quote.requestAQuoteWizardBottomMessage

Request a Quote Bottom Message

My Account > Quotes

Request a Quote Business Days

quote.contactBusinessDaysMessage

Request a Quote Business Days

My Account > Quotes

Page Type Enhancements

With the 2019.2 release of Commerce and SuiteCommerce Advanced, we added the options object to the PageType component. This object registers additional data that the view constructor receives. Options are passed as the arguments when initializing the view.

See Register a Page Type for details.

Source Code Migration to TypeScript

The 2019.2 release of SuiteCommerce Advanced includes the early stages of a code migration from JavaScript to TypeScript.

As a result, observe the following changes to the SCA source:

  • Core SCA JavaScript filenames change from JavaScript (.js) to TypeScript (.ts).

  • The module system changes from Asynchronous Module Definitions (AMD) to a TypeScript-compatible (common JavaScript) system.

Important

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


Keep in mind that the best practice to customize SCA is to themes and extensions. Therefore this change only affects SCA devlopers customizing core source code. All source TypeScript code automatically compiles to JavaScript when executing gulp local and gulp deploy commands using the core SCA developer tools.

TypeScript is an open source superset of JavaScript designed to make large JavaScript project development as efficient as possible. TypeScript code compiles to simple JavaScript code.

For more information, see TypeScript.

To learn more about TypeScript in general , see Typescriptlang.org.

Source Code Migration to a SuiteScript 2.0

The 2019.2 release of SuiteCommerce Advanced includes the early stages of a code migration to improve the SCA developer experience and support SuiteScript 2.0. This is a phased migration that spans multiple releases. In this release, the source code for SCA includes a code refactor of the Case module to migrate logic to use SuiteScript 2.0. All other modules remain compatible with SuiteScript 1.0 and the Commerce API at this time.

Important

This migration applies to core SuiteCommerce Advanced source code only and does not apply to Commerce themes and extensions.


This release includes the migration or addition of the following My Account modules, utilizing SuiteScript 2.0 services:

  • Case

  • OrderHistory

For more information, see Commerce Migration to SuiteScript 2.0.

Source Code Structure Changes

The 2019.2 release of SuiteCommerce Advanced introduces changes to the structure of SCA source code. This change organizes modules to better accommodate component dependencies with other Commerce offerings, such as SuiteCommerce InStore.

Important

This change applies to core SuiteCommerce Advanced source code only and does not apply to Commerce themes and extensions.


This change impacts the source code in the following ways:

  • Modules are divided among the Advanced, Backend, and Commons directories.

  • The directory from which you execute gulp commands with core SCA developer tools changes.

  • The package.json file moves to a new SC_19.2_Live directory, which contains the workspace for SuiteCommerce Advanced source code. You execute npm and gulp commands from this location (not the root development directory).

  • The distro.json file moves to the new Advanced directory.

  • The third-parties directory moves outside of the workspace, as these files are used globally.

See the following topics for more information:

Directory Example (New)

Root Development Directory/
   SC_19.2_Live/
      Advanced/
         Account/
         ...
         distro.json
      Backend/
      Commons/
      gulp
      ...
      package.json
   third_parties/

Directory Example (2019.1 and Earlier)

Root Development Directory/
   gulp/
   Modules/
      extensions/
      suitecommerce/
         Account@2019.1.0/
      third_parties/
   ...
distro.json
   package.json

Also with the 2019.2 release of SuiteCommerce and SuiteCommerce Advanced, source code modules names no longer include Semantic Versioning notation (examples include @1.0.0 or @2019.1.0). Historically, this notation has been part of the module naming convention, but is no longer included.

Extensibility API Updates

With the 2019.2 release of SuiteCommerce and SuiteCommerce Advanced, the Visual component includes two new methods to show and hide messages (showMessage() and closeMessage()) in the notification area of a Commerce web store page. Use these methods with the Layout component or any other component that inherits from Visual component, such as the ProductListPage component or the ProductDetails component.

You can specify the text of the message and the type of message (info, warning, error, or success). If the default notification area is not suitable for the message, you can specify any other data-view placeholder on the page. Additionally, you can use a timeout property for toast-style notifications that disappear after the specified duration.

For more information, see the Layout component in the extensibility API reference.

Code Changes to Support APM

With the 2019.2 release of SuiteCommerce and SuiteCommerce Advanced, source code includes instrumentation to eventually make webstore performance data available through Application Performance Management (APM). This addition will eventually allow users to view basic website performance metrics and identify the root cause of slow performing websites.

Changes to the source code during this release have no impact on your web store. However, new sensors have been put in place to support a future update to the Application Performance Management bundle.

Node.js Requirement Change

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

Third-Party Library Updates

With the 2019.2 release of SuiteCommerce and SuiteCommerce Advanced, the third-party library shown in the table below has been updated. Library version information in also shown in the distro.json file. Ensure that any themes and extensions using this library 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

JQuery

3.3.1

3.4.1