Broadleaf Microservices
  • v1.0.0-latest-prod

Fulfillment Services Release Notes for 2.0.2-GA

Tip
The 2.x versions are Spring Boot 3 compatible.

Requirements

  • JDK 17 is required for Broadleaf release trains 2.0.0-GA, and beyond.

New Features & Notable Changes

  • Fulfillment Entities like FulfillmentCalculatorConfig, FulfillmentDestination, and FulfillmentOrigin now have a ContextState field and are ContextStateAware.

  • Updated DefaultFulfillmentOptionService to sort the fulfillment options to ensure the default service level is first and the rest are sorted by price.

  • Added ActiveAware to JpaFulfillmentCalculatorConfig

  • Improved the help-text on certain fields in the Admin.

  • Added an endpoint to read pages of FulfillmentCalculatorConfig

  • Added a DistanceCalculationHelper class for conversion and to perform arithmetic operations on Distance.

Fulfillment Calculator Restrictions

Fields for dimension or weight restrictions have been added to Fulfillment Calculators. Calculators will not price items that exceed the restricted dimension or weight.

Improvements to make client extensions easier:

  • Added ContextInfo to FulfillmentPricingContext

  • Passing EnhancedFulfillmentPricingGroup as a parameter to filterCalculatorsByGroupFulfillmentDestination() method.

  • Removed unused constructor parameter from DefaultFulfillmentCalculatorService

Support For Fulfillment Radius

  • FulfillmentDestinations have DestinationDetailTypes that specify exactly which geographic areas make up the FulfillmentDestination. Currently, this is specified with country, state, city, or zip code data. This update adds fields to support a circular area defined by a radius and a center point. The center point may be specified as an address or as coordinates.

  • DBFulfillmentCalculator has been enhanced to support determining if a fulfillment address is within the area specified by the calculator’s FulfillmentDestination. DBFulfillmentCalculator defers to GeoCoordinateService for the actual calculations.

  • There is no geolocation functionality included with the framework, but there is the GeolocationProvider interface that a client could implement to provide geolocation functionality to the GeoCoordinateService. Alternatively, clients could use a front-end library to set coordinates on the addresses.

  • With this update, a new field supportedFulfillmentTypes is added to FulfillmentPricingConfig. With this field, applications can specify which fulfillment types should be requested when requesting fulfillment options. This value is read by CartOperationService when creating the fulfillment pricing request. Logic has also been updated in DefaultFulfillmentOptionService to support options for multiple fulfillment types being returned.

Admin Improvements

  • Improved grid display and functionality for Fulfillment Calculator Configs:

    • Added columns

    • All columns made sortable

    • Added name filtering

    • Added query builder