Announcement: You can find the guides for Commerce 7.5 and later on the new Elastic Path Documentation site. The Developer Center continues to support Commerce 6.13.0 through 7.4.1.Visit new site

What's new for Commerce Engine 6.9.0

What's new for Commerce Engine 6.9.0

Elastic Path Commerce Engine 6.9.0 includes bug fixes, performance improvements, and new features.

If you have any questions, contact Support or go to the Grep community site for the latest information and access to support bulletins, forums, and other Elastic Path resources.

New Features

JMS Order Messaging

A messaging framework has been introduced to allow the publishing of event messages to a JMS broker. This framework is used within a CheckoutAction to send an Order Event Message to signal that a new order has been created. For more information, see Asynchronous Event Messaging. This requires a JMS Server, which is described in the Installation and Configuration Guide.

Database Changes

  • The BILLING_ADDRESS_UID column on TCUSTOMERCREDITCARD is no longer used and has been removed.
  • A new setting definition has been added to TSETTINGDEFINITION for the order event message channel URI (COMMERCE/SYSTEM/MESSAGING/ORDERS/channelUri) along with corresponding values in TSETTINGMETADATA
  • Dropped DEFAULT_CARD from TCUSTOMERCREDITCARD and PAYMENTMETHOD_GUID from TCARTORDER

Enhancements

Solr Replication Configuration

Solr replication is updated so configuration can be performed without modifying or rebuilding the Search war file. Include the replication configuration XML in /etc/ep/index.solr.replication.config.xml or ../replication/index.solr.replication.config.xml (for each solr index) and it will be picked up during the Search Server startup. For more information, see Search Server Clustering.

Payment Tokens are Now Supported in the Import-Export Tool

The Import-Export tool now supports importing Payment Tokens in addition to Credit Cards for Customers, see Import-Export Tool Guide: Customer. This change is backwards compatible with the original Customer import schema.

Code Changes

Customer Payment Method API Refactoring

The Java API used to manage payment methods stored with a customer's account has changed. Previously each CustomerCreditCard had a flag to indicate if it was the customer's default card, controlled via setDefault/isDefault. Now the default is specified via the CustomerPaymentMethods object.

Previously, to set a card as the default:

selectedCreditCard.setDefaultCard(true);
customer.addCreditCard(selectedCreditCard);

Now, for 6.9.0:

customer.setPreferredCreditCard(selectedCreditCard);

Previously, to determine if a card is the default:

if (card.isDefaultCard()) {

Now, for 6.9.0:

if (card.equals(this.customer.getPaymentMethods().getDefault())) {

Build Changes

PMD Upgrade

The build now uses PMD 5.0.5 with maven-pmd-plugin 3.0.1. The upgrade includes additional rules, and new code updated for compliance with these rules. Extension code may require changes to bring it in line with the new rules if you choose to run PMD checking as part of your build.

Note: Developers Using PMD with Eclipse

We no longer support the Eclipse PMD plugin, which was supported in previous versions of Elastic Path. If it's necessary you use it, you can download the plugins following the directions in a note on this page: Eclipse Plugin Notes; however, this is not supported.

Developers using Eclipse may need to update their Eclipse PMD plugin and its m2e configurator if they are using the earlier plugin versions.

Parallelised Integration Tests

Integration tests now run in parallel. The integration tests will spawn 0.5C number of JVMs where C is the number of cores on the machine. Due to SUREFIRE-1056 this forkCount setting will fail for single core machines. The workaround is to either turn off parallelisation with forkCount=1 or increase parallelisation with forkCount=1C. This configuration can be found in the itest-parent.

3rd Party Library Changes and Upgrades

Updated Dependencies:

  • Jackson 2.1.2 to 2.1.4

New Dependencies:

  • camel-core 2.11.1
  • camel-jackson 2.11.1
  • camel-jms 2.11.1
  • camel-spring-2.11.1
  • spring-jms 3.1.4