Extensions can contain one or more of the following:
Widgets
A widget provides a unit of UI functionality that can be deployed on one or more pages of your web store. Widgets are able to display content to visitors or execute specific functions. They provide custom HTML and/or JavaScript code and, optionally, several other types of auxiliary data for styling, localization, and component re-use.
Elements
To provide more control over its constituent parts, widgets can be broken up into elements. Each element represents one part of the overall structure of the widget and they can be configured as drag-and-drop sub-components, allowing for fine control over their location in a page layout. For example, the Header widget contains the following elements: Cart Link, Language, Links, Login/registration, Logo, Rich Text and Search. An element can be defined as part of a specific widget or as a stand-alone element that may be used by multiple widgets.
Payment Gateways
Oracle Commerce Cloud Service provides support for a number of payment gateways as built-in integrations. In addition, you can use extensions to create custom integrations with other payment gateways. The integrations you create appear as options on the Payment Gateways tab of the Payment Options page in the administrative console. See the Using Oracle Commerce Cloud Service guide for more information.
Site Settings
Site settings allow you to define a set of global configuration parameters. These parameters are made available to page layout designers in the administration interface and all widgets have access to their settings. Site settings allow you to define a single setting that controls a feature across multiple widgets.
Application-level JavaScript modules
Application-level JavaScript are loaded as part of the main module, before any endpoints have been fired and before any widgets have been loaded. As such, they can be referenced as a dependency in any widget, allowing you to build reusable modules that can be shared among widgets and elements.