E-commerce module
Connector Pack | Commerce Connector Pack |
---|---|
License |
|
Issues |
|
Maven site |
|
Latest |
1.3.4 |
Available on SPA/Headless |
Yes |
The Magnolia Commerce Connector Pack modules allow you to connect your external e-commerce solution to Magnolia. You can use e-commerce content within Magnolia as if it were native Magnolia content. The modules provide access to shopping cart management and checkout functionality that directly interacts with your e-commerce solution via REST.
Module structure
artifactID | Description |
---|---|
|
Parent reactor. |
|
Provides the API for the e-commerce add-on. |
|
Provides a default implementation to connect to the commercetools e-commerce solution. |
|
Provides a default implementation to connect to the Adobe Commerce (formerly Magento) e-commerce solution. |
|
Provides a default implementation to connect to the Salesforce Commerce Cloud e-commerce solution. |
|
Provides a default implementation to connect to the SAP Commerce Cloud e-commerce solution (formerly Hybris) |
|
Provides the |
|
Provides the E-commerce app. |
|
Provides app actions and enables text classification and image recognition through decoration. |
Installing with Maven
Maven is the easiest way to install the module. Add the following to your bundle:
<dependency>
<groupId>info.magnolia.ecommerce</groupId>
<artifactId>magnolia-ecommerce</artifactId>
<version>1.3.4</version>
</dependency>
<dependency>
<groupId>info.magnolia.ecommerce</groupId>
<artifactId>magnolia-ecommerce-ui</artifactId>
<version>1.3.4</version>
</dependency>
<dependency>
<groupId>info.magnolia.ecommerce</groupId>
<artifactId>magnolia-ecommerce-commercetools-connector</artifactId>
<version>1.3.4</version>
</dependency>
<dependency>
<groupId>info.magnolia.ecommerce</groupId>
<artifactId>magnolia-ecommerce-magento-connector</artifactId>
<version>1.3.4</version>
</dependency>
<dependency>
<groupId>info.magnolia.ecommerce</groupId>
<artifactId>magnolia-ecommerce-sap-connector</artifactId>
<version>1.3.4</version>
</dependency>
<dependency>
<groupId>info.magnolia.ecommerce</groupId>
<artifactId>magnolia-ecommerce-salesforce-connector</artifactId>
<version>1.3.4</version>
</dependency>
<dependency>
<groupId>info.magnolia.ecommerce</groupId>
<artifactId>magnolia-ecommerce-templating</artifactId>
<version>1.3.4</version>
</dependency>
<dependency>
<groupId>info.magnolia.ecommerce</groupId>
<artifactId>magnolia-ecommerce-decoration</artifactId>
<version>1.3.4</version>
</dependency>
Configuration
This section explains how to configure the connection between the E-commerce module and your external e-commerce solution.
You can create or edit the configuration in the JCR or the File System (YAML) under <module-name>/ecommerces/<definition-name>
.
Before you configure the connection, make sure you know:
-
Which solution you want to connect to. Default implementations are provided for:
-
commercetools
-
Adobe Commerce (formerly Magento)
-
Salesforce Commerce Cloud
-
SAP Commerce Cloud (formerly Hybris)
-
-
The relevant URLs to connect to your e-commerce solution.
-
Connection credentials for your e-commerce solution.
The Commerce Connector Pack provides out-of-the-box connectors to commercetools, Adobe Commerce, Salesforce Commerce Cloud and SAP Commerce Cloud. If you use another third-party e-commerce solution, you can configure your own connector. |
Connection configuration and implementation
You can add your connection configuration to the connections list (see YAML example line 15) or in the JCR under <ecommerce-<your-third-party-solution>-connector>/ecommerces/<definition-name>/connections/<connection-name>
.
If you do not want the connection definition to appear in any of the subapps, set the enabled
property (YAML line 3) to false
.
Note that you can write your own implementation (YAML lines 4-14) or in the JCR under <module-name>/ecommerces/<definition-name>/implementation
to suit your requirements, for example, to use additional features such as cross- and up-selling or custom features such as your own checkout solution.
Select the tab for your third-party e-commerce solution below. The connection properties vary. |
class: info.magnolia.ecommerce.common.EcommerceDefinition
type: commercetools
enabled: true
implementation:
products:
all: info.magnolia.ecommerce.commercetools.products.All
byId: info.magnolia.ecommerce.commercetools.products.ById
byCategoryId: info.magnolia.ecommerce.commercetools.products.ByCategoryId
searchByText: info.magnolia.ecommerce.commercetools.products.SearchByText
categories:
all: info.magnolia.ecommerce.commercetools.categories.All
byId: info.magnolia.ecommerce.commercetools.categories.ById
byParentCategoryId: info.magnolia.ecommerce.commercetools.categories.ByParentCategoryId
byProductId: info.magnolia.ecommerce.commercetools.categories.ByProductId
connectionValidator: info.magnolia.ecommerce.commercetools.common.CommercetoolsConnectionValidator
connections:
connectionName:
enabled: false
authUrl: https://auth.europe-west1.gcp.commercetools.com
parameters:
clientId: client_id
clientSecret: client_secret_or_path_to_password_manager
apiUrl: https://auth.europe-west1.gcp.commercetools.com
projectKey: project_key
locale: en
See the commercetools documentation for instructions about how to create the commercetools API client. For the scopes, we suggest you use View: Categories, Products (all) and Manage: Orders .
|
Property | Description |
---|---|
|
required
|
|
required Your e-commerce solution: |
|
required
|
|
|
|
|
|
required Authentication URL. |
|
required Base URL. |
|
required Shows if the connection is enabled or not: |
|
|
|
required Username for commercetools. |
|
required Client secret for commercetools or the path to the Magnolia password manager. |
|
required API URL. |
|
required The |
|
optional The locale used for product/category names or descriptions. Examples:
If the If the |
class: info.magnolia.ecommerce.common.EcommerceDefinition
type: Magento
enabled: true
implementation:
products:
all: info.magnolia.ecommerce.magento.products.All
byId: info.magnolia.ecommerce.magento.products.ById
byCategoryId: info.magnolia.ecommerce.magento.products.ByCategoryId
searchByText: info.magnolia.ecommerce.magento.products.SearchByText
categories:
all: info.magnolia.ecommerce.magento.categories.All
byId: info.magnolia.ecommerce.magento.categories.ById
byParentCategoryId: info.magnolia.ecommerce.magento.categories.ByParentCategoryId
byProductId: info.magnolia.ecommerce.magento.categories.ByProductId
connectionValidator: info.magnolia.ecommerce.magento.common.MagentoConnectionValidator
connections:
connectionName:
authUrl: http://demo.magento.com
baseUrl: http://demo.magento.com
enabled: false
credentials:
username: your_username
password: password_or_path_to_password_manager
- Using an Integration access token for Adobe Commerce (formerly Magento)
-
-
Request your Integration Access Token from Adobe Commerce as described in the Magento documentation: https://devdocs.magento.com/guides/v2.3/get-started/authentication/gs-authentication-token.html
-
Copy the Access Token provided by Adobe Commerce.
-
Configure your connection as follows using your newly-acquired
accessToken
:connections: connectionName: authUrl: http://demo.magento.com baseUrl: http://demo.magento.com enabled: true parameters: accessToken: <your-magento-access-token>
Property Description class
required
info.magnolia.ecommerce.common.EcommerceDefinition
type
required
Your e-commerce solution:
magento
enabled
required
true
orfalse
connections
connectionName
authUrl
required
Authentication URL.
baseUrl
required
Base URL.
enabled
required
Shows if the connection is enabled or not:
true
orfalse
credentials
username
required (unless using Access Token)
Username for Adobe Commerce (formerly Magento).
password
(unless using Access Token)required
Password for Adobe Commerce (formerly Magento) or the path to the Magnolia password manager where the password is stored.
parameters
accessToken
(unless a username and password is used)required
An access token provided by Adobe Commerce (formerly Magento).
-
class: info.magnolia.ecommerce.common.EcommerceDefinition
type: salesforce-commerce
enabled: true
implementation:
products:
all: info.magnolia.ecommerce.salesforce.products.All
byId: info.magnolia.ecommerce.salesforce.products.ById
byCategoryId: info.magnolia.ecommerce.salesforce.products.ByCategoryId
searchByText: info.magnolia.ecommerce.salesforce.products.SearchByText
categories:
all: info.magnolia.ecommerce.salesforce.categories.All
byId: info.magnolia.ecommerce.salesforce.categories.ById
byParentCategoryId: info.magnolia.ecommerce.salesforce.categories.ByParentCategoryId
byProductId: info.magnolia.ecommerce.salesforce.categories.ByProductId
connectionValidator: info.magnolia.ecommerce.salesforce.common.SalesforceConnectionValidator
connections:
connection:
authUrl: https://account.demandware.com/dw/oauth2/access_token
baseUrl: https://zzxz-003.sandbox.us01.dx.commercecloud.salesforce.com/s/-/dw/data/v20_10
enabled: true
credentials:
username: client_id
password: password_or_path_to_password_manager
parameters:
shopUrl: /s/RefArchGlobal/dw/shop/v20_10
siteId: site_id
Property | Description | ||||
---|---|---|---|---|---|
|
required
|
||||
|
required Your e-commerce solution: |
||||
|
required
|
||||
|
|||||
|
|||||
|
required Authentication URL. |
||||
|
required Base URL. |
||||
|
required Shows if the connection is enabled or not: |
||||
|
|||||
|
required Salesforce Commerce Cloud The First, log into your Salesforce Account Manager (https://account.demandware.com) and go to the API Client tab to create a new API client. When creating the API client, note that:
Next, log into the Salesforce Business Manager to configure Open Commerce API (OCAPI) client permissions for the API client you created:
|
||||
|
required Password entered when creating the Salesforce Commerce Cloud API client (or the path to the Magnolia password manager where the password is stored). See details in the cell above. |
||||
|
|||||
|
required URL used for cart and checkout functionality for Salesforce. |
||||
|
required The You must enter a valid You can set this property to However, if you do so, note that no price information is displayed in the product detail component for the selected product. |
class: info.magnolia.ecommerce.common.EcommerceDefinition
type: sap-commerce
enabled: true
implementation:
products:
all: info.magnolia.ecommerce.sap.products.All
byId: info.magnolia.ecommerce.sap.products.ById
byCategoryId: info.magnolia.ecommerce.sap.products.ByCategoryId
searchByText: info.magnolia.ecommerce.sap.products.SearchByText
categories:
all: info.magnolia.ecommerce.sap.categories.All
byId: info.magnolia.ecommerce.sap.categories.ById
byParentCategoryId: info.magnolia.ecommerce.sap.categories.ByParentCategoryId
byProductId: info.magnolia.ecommerce.sap.categories.ByProductId
connectionValidator: info.magnolia.ecommerce.sap.common.SapConnectionValidator
connections:
connection:
name: electronics
authUrl: https://00.111.222.333:9002/authorizationserver/oauth/token
baseUrl: https://00.111.222.333:9002/occ/v2
credentials:
username: administrator_username
password: password_or_path_to_password_manager
parameters:
clientId: client_id
clientSecret: client_secret_or_path_to_password_manager
imagePrefix: https://00.111.222.333:9002
Property | Description |
---|---|
|
required
|
|
required Your e-commerce solution: |
|
required
|
|
|
|
|
|
required The name of the connection must match the SAP baseSiteId as described in the SAP documentation. With the configuration in the example above, we use this URL to get catalogs: The
|
|
required Authentication URL. |
|
required Base URL. |
|
required Shows if the connection is enabled or not: |
|
|
|
required Administrator username for SAP Commerce Cloud. |
|
required Password for SAP Commerce Cloud or the path to the Magnolia password manager where the password is stored. |
|
|
|
required Username for SAP Commerce Cloud. |
|
required Client secret for SAP Commerce Cloud or the path to the Magnolia password manager. |
|
required The first part of the URL needed to compose the complete URL of images when using the API.
|
Viewing and testing connections
This section explains how to view and test the connection between the Magnolia E-commerce add-on module and your external commerce solution using the E-commerce app.
-
Open the E-commerce app Configuration tab.
-
Select a connection.
-
Click View to see the details of your connection to an external e-commerce solution.
Depending on your external e-commerce solution, the connection information displayed may be:
-
Definition name – The unique definition name. This name appears in the Catalogs subapp.
-
Connection name – The unique name for the connection configured.
-
E-commerce type – The type of external e-commerce solution you are connected to.
-
Authentication URL – Authentication URL for the solution you are connected to.
-
Base URL – Base URL for the solution you are connected to.
-
Username and Password – Credentials to access the external solution. Passwords or client secrets can be managed in the Passwords app.
-
Connection enabled – Shows if the connection is enabled or not. You may choose to disable the configuration, for example, to improve performance times or to test a connection in one environment before enabling it in another.
Click Test connection to check the connection configuration is correct. A message appears indicating if the test is successful or not.
Once you’ve tested your connection, go to the E-commerce tab. You can see the connections you have configured listed with the catalogs they contain.
Connection configuration validator
The info.magnolia.ecommerce.common.ConnectionValidator
interface and its implementations check if a connection configuration is valid.
The connection validation check is executed when you click Test connection.
If the connectionValidator property is not configured, the default info.magnolia.ecommerce.common.DefaultConnectionValidator implementation is used. The default connection validator fallback only checks if the categories are returned by the service. This could give a false negative in some cases where the connection works but no categories exist.
|
The implementations of info.magnolia.ecommerce.common.ConnectionValidator
are configured under: <module-name>/ecommerces/<definition-name>.yaml
:
-
Default implementation:
info.magnolia.ecommerce.common.DefaultConnectionValidator
Evaluates the connection configuration as valid if it returns a non-empty list of categories.
-
commercetools:
info.magnolia.ecommerce.commercetools.common.CommercetoolsConnectionValidator
Evaluates the connection configuration as valid if no exceptions are thrown when getting the project.
-
Adobe Commerce (formerly Magento):
info.magnolia.ecommerce.magento.common.MagentoConnectionValidator
Evaluates the connection configuration as valid when a not empty token is returned.
-
Salesforce:
info.magnolia.ecommerce.salesforce.common.SalesforceConnectionValidator
Evaluates the connection configuration as valid when getting catalogs does not throw an exception when connection parameter
siteId
equals no-site. In other cases, a site with a configured `siteId must be returned. -
SAP commerce:
info.magnolia.ecommerce.sap.common.SapConnectionValidator
Evaluates the connection configuration as valid when the returned list of
BaseSites
contains the configured connection name.
For example, this is a snippet of the connection configuration and implementation with the connectionValidator
set to the Commercetools implementation:
class: info.magnolia.ecommerce.common.EcommerceDefinition
type: commercetools
enabled: true
implementation:
products:
all: info.magnolia.ecommerce.commercetools.products.All
byId: info.magnolia.ecommerce.commercetools.products.ById
byCategoryId: info.magnolia.ecommerce.commercetools.products.ByCategoryId
searchByText: info.magnolia.ecommerce.commercetools.products.SearchByText
categories:
all: info.magnolia.ecommerce.commercetools.categories.All
byId: info.magnolia.ecommerce.commercetools.categories.ById
byParentCategoryId: info.magnolia.ecommerce.commercetools.categories.ByParentCategoryId
byProductId: info.magnolia.ecommerce.commercetools.categories.ByProductId
connectionValidator: info.magnolia.ecommerce.commercetools.common.CommercetoolsConnectionValidator
Configuring the cache
By default, the content pulled from your external e-commerce solution is updated every 300 seconds (5 minutes). You can configure the cache setting via YAML:
cachingDefinition:
enabled: true
invalidateInSeconds: 300
Configuring the images displayed in the E-commerce app
Images stored in your third-party e-commerce solution are displayed in the product detail view of the app.
You can configure:
-
If a single image or multiple images are displayed
-
The size of image(s) displayed.
For example:
form:
properties:
images:
label: Product image(s)
$type: multipleImageField
converterClass: info.magnolia.ecommerce.app.productdetail.field.URLsToStrings
imageRatio: 60
Property | Description |
---|---|
|
required |
|
optional Field label displayed to editors. The value can be literal or a key of a message bundle. If you do not provide the property, Magnolia will fall back to a generated i18n key. If you do not want a label at all, define the property and set its value to a blank space such as |
|
required Field type:
|
|
required
|
|
optional Defines the ratio of displayed images to the original images in percentage. In the example above, the value If the property isn’t set, the images are displayed in their original size. |
Configuring chooser dialogs (v1.3+)
You can configure the component definition chooser dialogs introduced in v1.3.
You can find the component configuration under /ecommerce-templating/dialogs/components
. There is also a section on chooser dialogs on the Category & Product use cases page.
The components introduced in v1.3 are suffixed with -v3 . Those with no suffix are provided for backwards compatibility with E-commerce v1.2.x.
|
By default, the chooser dialogs have four columns: connector, category, product and preview.
The Connector column is displayed when you have more than one connector correctly configured and enabled.
If you only have one connection enabled or correctly configured with a definitionName
and connectionName
in /<my-connector>/ecommerces/<my-connector>.yaml
then the Connector column is disabled by default, unless you set enableCategorySelection
to false
.
The Category and Product columns are displayed by default. You can disable them using the enableCategorySelection
and enableProductSelection
properties under /ecommerce-templating/dialogs/components/<any-v3-component>.yaml
.
By default, the system remembers the last selected item in a given chooser dialog. You can use the rememberLastSelectedLocation
property to change this.
Property | Description | ||
---|---|---|---|
|
You can use this as a shortcut for Example class annotation
See Field types for general values and the ecommercechooser directory for specific e-commerce field types (some examples are given at the end of this section). |
||
|
optional, default is `true` Set to The product column depends on the category column, so if |
||
|
optional, default is `true` Set to |
||
|
optional, default is `true` When set to When set to
When the Pages app is closed, all remembered locations are removed. |
Configuring text classification and image recognition for e-commerce content
If you have configured them, both Image Recognition and Text Classification are enabled for your e-commerce content.
To trigger the tagging operation, select a product and click Tag product in the E-commerce app action bar. You can view the tags generated in the ecommerce
workspace in JCR Browser app (system properties view) or in the Tags app. You can search for products based on the tags in the Find Bar.
Default configuration:
imageRecogniserEnabled: true
textClassifierEnabled: true
autoRecognitionEnabled: false
Property | Description | ||
---|---|---|---|
|
required, default is Enables image recognition functionality for e-commerce content. Disable this functionality by setting the property to |
||
|
required, default is Enables text classification functionality for e-commerce content. Disable this functionality by setting the property to |
||
|
required, default is Enables automatic tagging. You can enable automatic tagging by setting the autoRecognitionEnabled property to
|
Release history
E-commerce module 1.3.4
Released on March 21, 2023.
This release brings some important bug fixes.
-
ECOMMERCE-527 Function fix for:
info.magnolia.ecommerce.commercetools.integrationtest.CheckoutProviderIntegrationTest.setShippingAddressWithCartNotFound
.- For more on this topic
-
See Implementing data suppliers and required cart and checkout functionalities
-
ECOMMERCE-523 Invalid (old) data in jcr breaks app in combination with
ecommerceProductLinkField
. -
ECOMMERCE-520 Remove
info.magnolia
from log4j2.xml file frommagnolia-ecommerce-commercetools-connector
project.
E-commerce module 1.3.3
Released on May 2, 2022.
This release significantly improves seeing which products are selected when adding e-commerce content to a page and introduces two new fields for product choosers.
This release is only compatible with Magnolia 6.2.18. |
Improvements
-
-
Display JSON in text fields of e-commerce meaningfully. The new implementation displays a product’s name and SKU or the category path for categories.
See for yourself!
-
Two new fields
ecommerceProductLinkField
andecommerceProductListLinkField
extendecommerceLinkField
. See here for a full list of choosers and the E-commerce module documentation for more information on configuring chooser dialogs.-
product-detail-v3.yaml
form: properties: productDetail: $type: ecommerceProductLinkField
See what it looks like…
-
product-teaser-v3.yaml
form: properties: productTeaser: $type: ecommerceProductLinkField
-
product-list-v3.yaml
form: properties: productList: $type: ecommerceProductListLinkField
See what it looks like…
-
-
E-commerce module 1.3.2
Released on March 28, 2022.
This release brings a number of improvements as well as bug and security fixes.
Endpoint/API updates and improvements
-
ECOMMERCE-491 Following an upgrade to commercetools SDK v2, you must reconfigure its endpoint to continue using this connector.
Where can I update the endpoint?
In the Resource Files app, you can find the endpoint in the commercetools.yaml
file.
In particular, you need to update authUrl
and apiUrl
to the endpoint given below.
class: info.magnolia.ecommerce.common.EcommerceDefinition
type: commercetools
enabled: true
implementation:
products:
all: info.magnolia.ecommerce.commercetools.products.All
byId: info.magnolia.ecommerce.commercetools.products.ById
byCategoryId: info.magnolia.ecommerce.commercetools.products.ByCategoryId
searchByText: info.magnolia.ecommerce.commercetools.products.SearchByText
categories:
all: info.magnolia.ecommerce.commercetools.categories.All
byId: info.magnolia.ecommerce.commercetools.categories.ById
byParentCategoryId: info.magnolia.ecommerce.commercetools.categories.ByParentCategoryId
byProductId: info.magnolia.ecommerce.commercetools.categories.ByProductId
connectionValidator: info.magnolia.ecommerce.commercetools.common.CommercetoolsConnectionValidator
connections:
connectionName:
enabled: false
authUrl: https://auth.europe-west1.gcp.commercetools.com
parameters:
clientId: client_id
clientSecret: client_secret_or_path_to_password_manager
apiUrl: https://auth.europe-west1.gcp.commercetools.com
projectKey: project_key
locale: en
-
ECOMMERCE-491 The API of version 7.6.0 was adapted for commercetools SDK v2 following the deprecation of SDK v1.
-
ECOMMERCE-481 Resolves a typo in the Cart endpoint API v2. Previously,
quoteId
was written asqouteId
. -
ECOMMERCE-497 Category key exposed for E-commerce REST category endpoint as depicted (
“key”: “1234”
) in the example response below. -
ECOMMERCE-480 Cannot create a cart for Commercetools from its
CartEndpoint
. -
ECOMMERCE-482 Magento - Cannot use checkout endpoint for authentication user.
-
ECOMMERCE-484 Throwing the SocketException when calling the rest endpoint
ProductByCategoryId
.
New SAP security and timeouts
-
ECOMMERCE-492 You must use the SAP
Application Interface Key
(AIR) for any API call to an SAP system since the end of 2021. -
ECOMMERCE-495 You can adjust the connection timeout if required using the variables
connectionTimeoutInSeconds
andreadTimeoutInSeconds
.
Product selection enhancements
-
ECOMMERCE-476 Product chooser default width widened to show all columns optimally.
-
ECOMMERCE-508 Error when selecting a product.
Other fixes and improvements
-
ECOMMERCE-464 Salesforce seems to lose connection from time to time.
-
ECOMMERCE-488 Manage netty version in core BOMs.
-
ECOMMERCE-502 Should not see trace logs from the commercetools client.
-
ECOMMERCE-510 Commercetools: getShippingMethods throws RestExceptionMapper error.
E-commerce module 1.3.1
Released on October 6, 2021.
This release brings a number of improvements.
New ecommerceLinkField
field
A new ecommerceLinkField
field (extends Link field) has been introduced.
The ecommerceLinkField replaces the ecommerceChooserField , which is deprecated.
|
Here are the default configurations for the different e-commerce components provided:
form:
properties:
categoryList:
$type: ecommerceLinkField
enableCategorySelection: false
form:
properties:
productDetail:
$type: ecommerceLinkField
form:
properties:
productList:
$type: ecommerceLinkField
enableProductSelection: false
form:
properties:
productTeaser:
$type: ecommerceLinkField
New validators
New EcommerceChooserValidator
classes have been added to ensure the connection, category and product selected are valid when adding e-commerce content to a page.
E-commerce module 1.2.6
Released on October 6, 2021.
This maintenance release:
-
Improves the connection status message: when you test a connection, the result message is now displayed for longer to make it easier to read. (ECOMMERCE-465)
-
Fixes an exception that occurred when selecting a product detail component from the list of previously added products in the dialog. (ECOMMERCE-447)
E-commerce module 1.3
Released on July 21, 2021.
This Magnolia CMS 6.2.9+ compatible release brings improvements and bug fixes:
Intuitive product chooser
A user-friendly product chooser makes finding and selecting categories and products faster and simpler for end users.
Each column provides a filter at the top.
The chooser dialog can also be configured to enable or disable certain columns.
Updated component definitions and template files
You can find component definitions and template files configured under /ecommerce-templating/templates/components
.
The components introduced in v1.3 are suffixed with -v3
.
Those with no suffix are provided for backwards compatibility with E-commerce v1.2.x.
You can still view and edit the 1.2.x version components but we recommend you recreate your e-commerce pages using the new component definitions to benefit from the new product chooser dialog and other improvements.
E-commerce module 1.2.5
Released on July 21, 2021.
This Magnolia CMS 6.2.2+ compatible maintenance release brings improvements and bug fixes:
Category list and Product list components updated
The sample components Category list and Product list have been aligned with the other e-commerce page components and now provide chooser dialogs for selecting the e-commerce content to be displayed.
The chooser dialogs only store the connectionId
property, which consists of {definitionName}/{connectionName}
in JCR instead of the previously stored properties definition
and connection
.
The related template files category-list.ftl
and product-list.ftl
were adapted accordingly.
To ensure backward compatibility with the previous template files, an ecommerce-freemarker
renderer was introduced and configured for the renderType
property in the component configuration yaml files:
-
ecommerce-templating/dialogs/components/category-list.yaml
-
ecommerce-templating/dialogs/components/product-list.yaml
The ecommerce-freemarker
renderer parses the definition and connection names from the connectionId
property and wraps the component content with the definition
and connection
properties with the parsed values.
commercetools locale
configuration in YAML file
A new locale
parameter used for product/category names or descriptions can be set in the commercetools configuration.
See the parameter description in the tab for commercetools.
See the 1.2.5 changelog for all the changes.
E-commerce module 1.2.4
Released on April 13, 2021.
This release brings full compatibility with Magnolia 6.2.7 as well as some bug and security fixes.
Notable fixes:
-
Added the
info.magnolia.ecommerce.common.ConnectionValidator
interface and its implementations to check if a connection configuration is valid. (ECOMMERCE-322). -
Third-party library update: Netty updated to 4.1.59.Final (ECOMMERCE-365).
We keep the details of security-related fixes private in line with our security policy. Contact our Support team if you need more information.
See the 1.2.4 changelog for all the changes.
E-commerce module 1.2.3
Released on December 1, 2020.
E-commerce module 1.2.3 is a bug-fixing release.
See the 1.2.3 changelog for all the changes.
E-commerce module 1.2.2
Released on November 30, 2020.
This release brings full compatibility with Magnolia 6.2.5 as well as some bug fixes.
See the 1.2.2 changelog for all the changes.
E-commerce module 1.2.1
Released on September 16, 2020.
This release brings full compatibility with Magnolia 6.2.3 as well as some bug fixes.
See the 1.2.1 changelog for all the changes.
E-commerce module 1.2
Released on August 20, 2020.
SAP Commerce Cloud Connector
This release delivers a new connector for SAP Commerce Cloud (formerly Hybris).
The connector includes a new User endpoint for SAP:
-
/users/{userId}/accessToken
— To log in a user and obtain the user’s access token. -
/users/{userId}/addresses
— To handle stored addresses of users. -
/users/{userId}/paymentMethods
— To handle stored payment methods of users.
accessToken
@POST
@Path("/v2/users/{userId}/accessToken")
getUserAddresses
@GET
@Path("/v2/users/{userId}/addresses")
createUserAddress
@POST
@Path("/v2/users/{userId}/addresses")
deleteUserAddress
@DELETE
@Path("/v2/users/{userId}/addresses/{addressId}")
updateUserAddress
@PUT
@Path("/v2/users/{userId}/addresses/{addressId}")
getUserPaymentMethods
@GET
@Path("/v2/users/{userId}/paymentMethods")
updateUserPaymentMethod
@PUT
@Path("/v2/users/{userId}/paymentMethods/{paymentMethodId}")
deleteUserPaymentMethod
@DELETE
@Path("/v2/users/{userId}/paymentMethods/{paymentMethodId}")
See the User REST endpoint page.
Cart and Checkout endpoint updates
This release provides a V2 of two endpoints:
-
Checkout endpoint — In v2, the checkout endpoint sets the address of a
cartId
to ensure the correct resource is consistently identified. For example, the v1/checkouts/address/{cartId}
becomes in v2/checkouts/carts/{cartId}/address
.setAddress @PUT @Path("/checkouts/cart/{cartId}/address") setShippingMethod @PUT @Path("/checkouts/cart/{cartId}/shippingmethod") createOrder @POST @Path("/checkouts/cart/{cartId}/order") getShippingMethods @POST @Path("/checkouts/cart/{cartId}/shippingmethods")
-
Cart endpoint — In v2,
cartId
is a path parameter instead of form parameter in the REST calls. For example the v1/carts/items
becomes in v2/carts/{cartId}/items
. The other parts of the call are unchanged.addItem @POST @Path("/v2/carts/{cartId}/items") removeItem @DELETE @Path("/v2/carts/{cartId}/items/{itemId}") updateItemQuantity @POST @Path("/v2/carts/{cartId}/items/{itemId}")
The ecommerce-rest-role
has been updated to allow the v2 endpoints.
See the V2 endpoint pages.
V1 of the Cart and Checkout endpoints are deprecated from this release on. They will be removed in the next major version of the Commerce Connector Pack. |
Product chooser
This release also improves the sample template provided in the Pages app. Magnolia provides a dialog to select the connection, category and product instead of requiring you to manually enter the connection name, definition name and a product ID. If you only have one connection configured, you choose the category and product directly.
List of changes:
-
[ECOMMERCE-304] - SAP Cloud Commerce connector
-
[ECOMMERCE-310] - Improvements required for SAP (new User endpoint API)
-
[ECOMMERCE-305] - Cart method (v2)
-
[ECOMMERCE-307] - Checkout method (v2)
-
[ECOMMERCE-258] - Create Link field to select products from E-commerce app
-
[ECOMMERCE-318] - Update
ecommerce-rest-role
to allow v2 endpoints
See the 1.2.2 changelog for all the changes.
E-commerce module 1.1.1
Released on July 7, 2020.
This release introduces compatibility with Magnolia 6.2.2 and an improvement that means images are displayed instead of the URL now in the E-commerce app (see Configuring the images displayed in the E-commerce app). List of changes:
-
[ECOMMERCE-226] - Prod detail sub-app - image field displays image instead of path
-
[ECOMMERCE-295] - Use i18n keys instead of literals for labels in product detail view
-
[ECOMMERCE-254] - Manual tagging action should tag a product even if the product has a tag already
See the 1.2.1 changelog for all the changes.
E-commerce module 1.1
Released on April 6, 2020.
This release delivers a new connector for Salesforce Commerce.
See the 1.1 changelog for all the changes.
E-commerce module 1.0
Released on July 9, 2019.
Initial release of the Commerce Connector Pack for connecting to e-commerce systems such as Magento and commercetools.
See Commerce Connector Pack for an overview of the functionality provided.
Commerce Connector Pack compatibility
Module version | Magnolia CMS version |
---|---|
1.3.3 |
6.2.18 |
1.3+ |
6.2.9+ |
1.2+ |
6.2.2+ |
1.1.1 |
6.2.2 |
1.1 |
6.2 |
1.0 |
6.1 |
A note about connector compatibilty The third-party versions listed below are the versions Magnolia has developed and tested against. If you don’t see a particular version listed, it simply means that we do not routinely test on it. If you are using another version of the third-party tool and run into compatibility issues, please contact our Support team. |
Module version | commercetools SDK |
---|---|
7.6.0 |
Tested against 2.0. The API of version 7.6.0 was adapted for commercetools SDK v2 following the deprecation of SDK v1. |
1.0 |
Tested against 1.51.0 |
Module version | Adobe Commerce (formerly Magento) API |
---|---|
1.0 |
Tested against V1 |
Module version | Salesforce Commerce API |
---|---|
1.2.4 |
Tested against v20_10 |
1.0 |
Tested against 20.4 |