Development Components

Within Studio, you can create and modify the following elements of your application:

Element Description
What Is a Cartridge? Application code container.
Controllers or Pipelines

Controllers are recommended

Pipelines are deprecated for application logic. However, you might need to create them for jobs.

If you are maintaining a legacy Salesforce B2C Commerce storefront, you might need to create or edit pipelines for application logic or integration of third party systems.


Scripts let you use our standard API to interact with objects in the storefront, such as products, customers and baskets.

B2C Commerce development components that can make JavaScript calls include the following:

  • In a Pipeline: Use an EVAL pipelet to evaluate an expression; use the Script pipelet to execute scripts (.ds files); or call a standard pipelet for common business processes.
  • In a Template: Access a business process via an <isscript> tag, or wherever B2C Commerce server-side JavaScript APIs are used.

See the B2C Commerce script programming and API documentation for more information.


Templates define how data and page information is transformed into dynamic, HTML-based web pages that are rendered on the browser using:

  • CSS for page layout and styling.
  • The B2C Commerce Forms Model for data display and verification.

For example, the cart template in the SiteGenesis Application defines how the cart page appears, which includes basket contents, shipping types, product variations, availability, promotions and shipping and tax calculations. This template uses the <isscript> statement to run through odd/even row colors.

Templates are created using the Internet Store Markup Language (ISML), a B2C Commerce proprietary extension to HTML.


B2C Commerce forms let you control how customer-entered values are validated by the system and rendered on the browser. Use B2C Commerce forms for all HTML form-based processing.

For example, B2C Commerce forms let you specify that zip code data must be entered as a precise series of integers; while name and address information must be entered as strings.

X Privacy Update: We use cookies to make interactions with our websites and services easy and meaningful, to better understand how they are used. By continuing to use this site you are giving us your consent to do this. Privacy Policy.