Optimizely Configured Commerce SDK v5.2 Release

  • Updated

Optimizely is excited to announce our v5.2 release, which continues to reflect a focus on delivering a scalable and extensible solution that meets the changing business needs of manufacturers and distributors. The 5.2 release focuses on improving the experience of the business user to manage their digital platform and enhance the end-user experience.

This release includes the following new features and functionality:

Highlights

  • Spire CMS now has a Compact Header.
  • Vendor Managed Inventory (VMI) is now publicly available to all customers. Use VMI to update inventory and place orders with mobile barcode scanning. Features include:    

    • Access VMI via desktop and mobile app.
    • Configure VMI locations.
    • Use barcode scanning via a mobile app with automatic order suggestions .
    • Use inventory reporting to track slow and fast-moving products.

    Learn more about using VMI via desktop and mobile app or configuring pages in Spire.

  • There is now a Sign In Overlay option allowing users to log in with the side panel instead of being directed to the Sign In page.
  • Elasticsearch v7 has now been fully released with improved synonym recognition, Dimensional Analyzer support, and faster search results. The Dimensional Analyzer recognizes numerical product values for decimals or fractions, allowing customers to locate products based on size and application. Searches using multiple words return multi-word results based on similar names and product titles.
  • You can now translate the Admin Console and Spire CMS into multiple languages.
  • You can use one page checkout, letting you provide your customers with a smoother checkout process and a more minimal design. Users can still access and edit items in their cart anytime during the checkout process and view cart items across multiple devices when logged in.
  • .NET7 has been released to beta for partners and customers to build extensions projects. The Beta includes full support to build projects with .NET extensions and Linux containers in the hosted environment. The features include:
    • Performance improvements in the application itself with faster API calls.
    • Ability to run on Linux Kubernetes containers, which can be started more quickly.

    See .NET7 framework to migration and local development environment for more information.

All features

Spire CMS

  • Added Compact Header feature.
  • Updated Docker Node to 14.
  • Added a custom CSS field to the Banner, Image, Link, Link List, Navigation List, Slideshow, Header Link List, Header Main Navigation, Recent Orders, Secondary Navigation, Social Links, Rich Content, Header Search Input, Subscribe, Button, and Logo widgets.
  • Added functionality to recalculate promotions upon payment method change.
  • Replaced loading text with delayed loading spinner in Spire.
  • Enhanced performance by changing CategoryList Widget so large category trees are not downloaded.
  • Improved performance by adding font to main bundle.
  • Added maintenance page.
  • Removed backend Page Type Link widget from the Spire CMS shell.
  • Added the Category Detail Banner widget to the Add Widget modal for the Product List Page.
  • Added the Location Finder widget to the widget modals on the Create Account and Location Finder pages.
  • Added ability to include additional email addresses for order confirmation during checkout.
  • Added ability to use Tel: (telephone numbers) as URLs.
  • Added blueprint widgets to the Add Widget modal.
  • Improved drag and drop of nested List Field elements.
  • Implemented Square Payment Connector.
  • Changed the Slideshow widget's Slide field to contextual to allow more customization
  • Improved console error messages for the React 18 upgrade.
  • Added the ability to log out users from all current sessions after a password change
  • Updated Reorder Variants in Spire.
  • Added Datadog APM tracing to Spire.
  • Added ability for guest users to ignore Allow Ship To Address Creation setting in Spire.
  • Updated the Add Experiment modal in the Admin Console to remove Spire sites from the dropdown menu.
  • Added the ability to merge CSS from the theme and component for data table components (DataTableBody, DataTableCell, DataTableHead, DataTableHeader, and DataTableRow), Panel Menu, Drawer, Page and Pagination, Layout Table, Layout Cell, Layout Group, Menu, Date Picker, Loading Overlay, Loading Spinner, Modal, Lazy Image and Link, Toast, File Upload, UnorderedList, OrderedList, and ListItem components in Spire.
  • Added the ability to merge CSS from the theme and component for the Tooltip component in Spire.
  • Added product badging, which allows you to apply visual indicators to product cards displayed on pages such as Product List, Product Detail, List Pages, and other pages containing product carousel widgets. These indicators (icons, images, and text badges) show important information to help your customers make purchasing decisions based on product attributes, promotions, or product status. 
  • Added a warning when deleting Layout Zones to show pages where the widget has content.
  • Enhanced accessibility in My Account.
  • Added the ISC_Implementer user role for Spire only sites.
  • Added the ability to set header, footer, and site content to Full Width using Site Configurations in the Style Guide
  • Added the ability to add code to <head> directly within the Style Guide.
  • Updated the Minimum Banner Height field in the Banner Widget to be contextual for responsiveness.
  • Added the ability to easily find and assign approvers on the User Administration page through a searchable dropdown.
  • Added a Custom CSS field to control how the row widget displays full width content.
  • Improved pagination to follow SEO best practices.
  • Added the ability for customers to remove promotion codes without clearing their Cart.
  • Added the Promotion Code Form widget to the Cart page and Checkout - Shipping page.
  • Added the ability to create context-specific content for the Banner, Image, Product Carousel, and Brand Gallery widgets.
  • Added field text below the Tag fields noting to click Enter on the keyboard to add the desired tag. The field also has an auto-save feature to save the tag if the field loses focus.
  • Added a Flex Row widget with configuration options such as direction, wrap, justify content, align items, and align content.
  • Updated the Froala Image Editor to work with Spire functionality.
  • Added support to allow customers/partners to install 3rd party NPM packages for Spire.
  • Added the ability for the Image Carousel widget on the Product Detail Page to display vertically.
  • Released VMI to general availability, allowing you to track and update warehouse inventory on both the desktop and mobile app.
  • Added the option to use the Sign In Overlay in Spire, allowing users to sign in without being redirected to the Sign In page.
  • Added language translations to the Admin Console and Spire CMS.
  • Adjusted the default Unit of Measure to respect the Minimum Order Quantity defined for a product when calculating the product's quantity on the storefront.
  • Added a new Spire widget that allows for placing page breadcrumbs via the CMS.
  • Updated the default CMS content in Spire. The default content now displays breadcrumbs by using the new widget. The default content aligns horizontally when the content is set to full-width display via the style guide.
  • Added Sprout Social as a user agent.
  • Added a tooltip on the My Lists view when the List is shared with all users on a billing account.
  • Made Breadcrumb generation code in Spire extensible.
  • Added the ability to use full-width buttons with the Sign In External Providers widget.
  • Added a "X" option to the Social Links widget for Twitter's new branding.
  • Improved performance for the OOTB Country API call.
  • Added retries to the Spire API calling logic when the connection from Spire to the Configured Commerce API is lost and logs an ECONNRESET error.
  • Added Show Pricing and Show Inventory toggles to the Compact Header Flyout menu.
  • Added an Address Book Overlay and corresponding widget.
  • Added a Store Pickup Overlay and corresponding widget.
  • Added the ability for one-page checkout and corresponding One Page Checkout Elements and One Page Checkout Confirmation Elements widgets.
  • Added support for multiple ReCaptchas on a page.
  • Added Manifest.json and ServiceWorker.js pages to Spire CMS to enable Progressive Web Application (PWA) functionality.
  • Improved the full-width option to center content and stay within site breakpoints.

Classic CMS

  • Added the indexing of News Summary and News Content.
  • Added the ability for users to define search radius on Change PickUp screen and Location Finder page in Classic.
  • Added category descriptions for product lists in Classic.
  • Added the ability to log out users from all current sessions after a password change in Classic.
  • Moved custom widget groups to the bottom of list in Classic.
  • Hid the quantity field on the Product Detail Page for out of stock variants when backorder is disabled in Classic.
  • Added performance enhancements for Top Sellers widget.
  • Added a Classic CMS to Spire CMS conversion tool, allowing you to translate content from the Classic environment and upload to the Spire environment.

Search Improvements

  • Improved Search Rebuild V2 Performance by splitting single product purchase history query into two.
  • Added log queries for content search in Elasticsearch.
  • Added fields for Open Graph image and title for Product List and Search Results pages.
  • Updated Search Provider and Indexer to not allow mismatches.
  • Added Elasticsearch version 7. This version includes searching for products based on size and application and using multi-word synonym searches. See the Dimensional Analyzer for more information.

Value Added Tax (VAT)

Performance Improvements

  • Added support for schema.org.
    • Added Structured page data JSON-LD text field to content and non-template pages.
    • Added a toggle field to the Product Details page to support and generate structured data.
    • Added additional JSON properties to product data structure.
  • Limited integration jobs to 1000 records per batch in the FieldMap processor.
  • Implemented passive scrolling to improve performance.

  • Improved UnsupportedPage handling
  • Improved reliability and performance of the ETag Cache feature.
  • Improved application performance when under memory pressure.
  • Improved performance of dynamic category rebuilds, especially for categories with more than 100,000 products.
  • Optimized an algorithm within the GetAllCategoryFacets method of ProductSearchProviderElasticsearch that could cause occasional slow requests, especially for sites with many product categories.
  • Improved performance tolerance of ElasticsearchContentRepository GetElasticsearchContents.
  • Improved nightly maintenance performance by optimizing processing of dynamic recommendations data.

Admin Console

  • Added the ability to copy promotions in the Admin Console.
  • Added the ability to sort brands in Product List Page.

  • Added support for 360 degree images in PIM.
  • Updated settings to limit credit card attempts and allow lockout time configuration.
  • Added Extensions Version to Administration > Debug in the Admin Console.
  • Hid the delete button for websites from the ISC_Implementer role.
  • Added ability to delete empty translation records on demand in the Admin Console.
  • Added the ability to translate User Roles.
  • Added logging for website changes to Audit Logs in the Admin Console.
  • Upgraded IronPDF for invoice email generation.
  • Enhanced field mapping for the Price Matrix job.
  • Limited reinitiating of TokenEx calls to 20 seconds after failure to prevent endless call loop.
  • Hid inappropriate commands for transactions in the Admin Console.
  • Limited Order History to show only assigned ShipTos.
  • Updated the Rules Manager in the Admin Console to make Max Value optional for Ordered Product rule types.
  • Added ability to adjust currency symbol position.
  • Changed Rule Manager number inputs to decimal control in the Admin Console.
  • Added the ability to tie rules to view-only products through the Product Visibility tab, which allows you to set which customers can or cannot purchase them.
  • Added a setting to disable the carryover of unused monthly budgets.
  • Added a warning label to show restricted products in Order Approval and disabled ApproveOrder button if all products are restricted.
  • Added new dropdown within settings to support displaying the Admin Console in alternative languages.
  • Added the ability for Order Approvers to receive an email notifications when customers submit an order for approval.
  • Implemented stricter default password settings to increase security.
  • Updated the Export screen with clearer options for what records will be exported.
  • Hid Email Schedules and List Shares as List Import options in the Admin Console to remove confusion.
  • Added the ability to import lists Customers into the Admin Console.
  • Updated UserProfile field to be optional during list import.
  • Added the ability to set Large/Medium/Small Default Product Image per website.
  • Updated 'Real Time Inventory Service' - 'Insite' to decrement product quantity in associated warehouse.
  • Re-wrote the data export process to improve performance across various export jobs.
  • Added a new "Internal" CMS type to hide Identity sites in the Admin Console, accessible only by ISC_System users.
  • Added the ability to unassign related products via import and bulk unassign products and customers from restriction groups via import.
  • Added a setting to enable auto-generation of Recently Purchased Products lists.
  • Added a new setting Customers Also Purchased Maximum Related Products to manage the amount of data retained for dynamic recommendations.
  • Added the ability to export user roles for website and console users as general UserProfile information.
  • Added an Order History setting to show the associated product image for products a user cannot access, such as restricted, deactivated or discontinued.

SSO

  • Added system setting to support authorization code flow for external SSO providers.
  • Added external Single Sign-On support for custom claims
  • Added the ability to send custom parameters to OpenID identity provider.
  • Added website user variable options to the Order Confirmation Email.
  • Added a downloadable template for importing Lists.
  • Added the ability to import and export directly from the RestrictionGroup structure by specifying the child collection.
  • Added extensibility options for OpenID SSO, including the ability to customize private classes and to customize UserService to prevent auto-creation.

Integrations

  • Payment Gateways
    • Added credit card authorization code support for IFS Aurena.
    • Added Level III functionality for authorize & sale transactions to Elavon payment gateway. See Connectors for Elavon.
    • Implemented Square Payment Connector in Classic
    • Added functionality to reuse Ebizcharge vaulted payment methods.
    • Updated Elavon payment gateway 3DSecure functionality for Classic CMS.
    • Added Square saved card functionality
    • Added the Paystand payment gateway.
    • Added the Payware payment gateway.
    • Added vaulting support for Payeezy Soap API.
    • Updated Adyen Drop-in node package module.
    • Added Saved Cards support for the Square iFrame in the Classic and Spire storefronts.
    • Added the Order Number to be included with the Stripe Payment for website orders.
    • Added attributes as needed to prevent "EnableSavedCreditCards" = On if the current payment iframe is unsupported. Also added functionality to delete all saved payment methods if the payment iframe is changed; this is protected by an "Are you sure?" prompt.
    • Added the ability for website users to hide customer-specific pricing and inventory.
    • Added the ability to filter Order History by user orders only.
  • Integration Jobs
    • Removed the Child Collection Field Type option from the integration field mapping screen.
    • Implemented Optimizely Product Recommendations Connector
  • AD Data Feed
    • Improved AD import process for thumbnail and detail image S3 URLs by always importing with .jpg extension.
    • Added multiple new data mappings into the AD Data Feed Connector.
    • Added support for category image import for the AD Data Feed connector.
    • Added fields for the AD Data Feed connector.
    • Added small improvements to the AD product refresh to improve performance of large data imports, as requested by an AD client.
    • Added several multi-language mapping enhancements to the AD Data Feed Connector.
    • Improved the AD Category Images import process to configure image sizes via the "Category Images" job step parameters and source them directly from the Configured Commerce media library.
  • GA4
    • Added Google Analytics 4 for Google tracking. The integration also includes currency when sending data.

APIs/Handlers/Pipelines

  • Added an alternate cart creation endpoint.

Technology and Other Changes

  • Upgraded SSH.NET to support better connectivity and security.

  • Exposed the RealtimePricingEngine and RealtimeInventoryEngine cache keys to the public surface area to allow for customization.
  • Enhanced multi-language support by adding the ability to pass site language to Entra ID (formerly Azure AD) B2C OpenID Connect for authentication.
  • Enhanced multi-language support by adding the ability to pass site language to Entra ID B2C OpenID Connect for authentication.
  • Updated the CenPOS mapping for Level 3 ItemCommodityCode to use the B2B product UNSPSC.
  • Updated href tag to use translated URL instead of auto-generating via parameters.
  • Added an error message safeguard against mismatching of the serverside bundle and the clientside bundle when a blueprint has a widget or page replacing base code and is not included in the overrides folder.
  • Modified the import process for Global Synonyms to not require a language.
  • Updated style of the login page for consistency with Optimizely suite.
  • Enhanced performance by limiting TokenEx script to the payment screen. See TokenEx and custom themes for Classic CMS for changes that may be needed if you are using custom themes in Classic.
  • Implemented IndexNow sitemap submission for search engines.
  • Enhanced the capabilities of the WIS Broker to handle larger amounts of data.
  • Removed unnecessary 'Classic pages were not generated...' Application Log message.
  • Enhanced performance of List functionality.
  • Enhanced performance by using preload hints for fonts referenced by CSS.
  • Added Structured page data JSON-LD text field to content and non-template pages for schema.org support for Classic CMS.
  • Added a checkbox to the Product Details page to support and generate structured data for schema.org for Classic CMS.
  • Added maintenance page for Classic CMS.
  • Adjusted layout shift in the header area.
  • Adjusted field widths on Integration Connection interface.
  • Improved filtering of restricted child variants.
  • Improved Audit Log formatting for readability.
  • Added Daylight Savings Time tooltip to Integration Job Definition Recurrence Repeat field.
  • Upgraded React to version 18.8.0.
  • Differentiated between page name and URL collisions in the Application Log.
  • Added email link URL settings for AccountActivation & ResetPassword emails for websites operating in headless mode.
  • Added Circuit Breaker to Block Anonymous Traffic feature to prevent database connection depletion
  • Fixed an issue in Configured Commerce 4.6 where the Access Token was not invalidated after log out
  • Updated vaulting for CenPOS to use Token API and replace AddRecurringSaleInformation call
  • Added currency code to Authorize.Net requests.
  • Updated to the newest version of Azure Blob Storage.
  • Updated Newtonsoft.Json to 13.0.2.
  • Added the Optimizely.SDK NuGet package to AllowedLibraries.
  • Added the ability for ISC_Implementer roles to enable Elavon 3DSecure settings.
  • Added logging when Retry All Undelivered Emails or Retry Individual Email are triggered to capture date, username, and email type (for individual email) in the Audit Log.
  • Improved error handling within the ETag Cache feature.
  • Ensured TLS 1.3 support for all connections in Configured Commerce.
  • Added the ability for PageErrorWrapper to be extendible.
  • Added Unlicense and BSD Zero Clause to the list of allowed licenses for 3rd party NPM packages.
  • Whitelisted Elasticsearch 7 libraries.
  • Improved security and performance for the products API by implementing a configurable max page size.
  • Improved security and performance for tracking running integration jobs.
  • Implemented HTTP Security Headers settings.
  • Added support for zero pricing when the Price Matrix provides $0 price for a product.