News Digest - March 2023

This post highlights the recent updates and releases for the Virto Commerce platform, including updates to support NodeJS 18 LTS for WebPackBuild, the release of the Virto Storefront, enhancements to the Cart, the release of the Power BI Reports module, and improvements to inventory management features.

Virto Commerce Platform and Modules now support NodeJS 18 LTS and WebPack 5

The Virto Commerce team has updated the platform and all Virto Commerce modules to support WebPackBuild on NodeJS 18 LTS and WebPack 5.

If you are planning to update your custom module, you need to replace your webpack.config.js, package.json, and package-lock.json in your custom modules from vc-cli-module-template. For more information, check out this related topic.

Virto Storefront Update with New Features

These new features help improve the overall user experience of the Virto Commerce Storefront. The new designs for checkout, cart, and order details provide a more modern and streamlined look, which can help increase customer engagement and satisfaction. Additionally, the implementation of GA purchase and begin checkout events can help store owners track key metrics related to customer behavior and sales, which can be used to optimize marketing and sales strategies.

  • New design for checkout shipping step
  • New design for checkout billing step
  • New design for the cart
  • New design to accept gifts
  • New design for order-details
  • Added step to view the order at checkout
  • GA purchase event
  • GA begin checkout event
    and more.

View them on public demo site.

Or Download and install VirtoCommerce/vc-theme-b2b-vue from GitHub.

Cart Resolves Concurrency Conflicts

The Cart and xAPI modules have been updated to handle concurrency conflicts when multiple users try to make conflicting changes to the same cart item simultaneously.

The update includes Pessimistic concurrency handling using Redis distributed lock (RedLock library for .NET), as well as Optimistic concurrency handling at the database level.

Additionally, you can use ResolveSyncronizedAsync which wraps lock mechanism.

vc-module-cart
vc-module-experience-api

Power BI Reports Module Released

The Virto Commerce team has released the preview version of the Power BI Reports module, a powerful analytics tool that allows users to gain valuable insights into their e-commerce operations.

With this module, users can connect their Virto Commerce platform data to Microsoft Power BI, which enables them to create interactive and customizable reports and dashboards. The module provides a range of pre-built report templates and data models, allowing users to easily extract and visualize critical data on sales, customer behavior, inventory, and more.

vc-module-power-bi-reports

Inventory: Menu & Dynamic Properties

Administrators can now access Fulfillment Centers via the Main VC Menu and add Dynamic Properties to Fulfillment Centers.

XAPI Performance Improvements for Inventory with 500K inventories

The Virto Commerce team has reviewed and improved the performance of xAPI to support Inventory with 500K inventories. This can help soultions remains scalable and performant, even as the number of products and orders grows.

Status Changed Notification for Payment and Shipment

Customers now can be informed about status updates for Payment and Shipment documents. Notification templates include PaymentStatusChangedEmailNotification and ShipmentStatusChangedEmailNotification.

Also, we added two settings:

  1. OrderPaidAndOrderSentNotifications, by default = true
  2. PaymentShipmentStatusChangedNotifications, by default = false
    that help in enabling or disabling if events on global level.

Adjust Inventory on Order Cancellation

Inventory levels are now adjusted automatically when an order is cancelled. Inventory reverts on Order Delete and Cancellation.

Get Product By Catalog and SKU

We added API that retrieves a list of products based on their catalog id and sku’s using the REST API.

POST /api/catalog/{catalogId}/products-by-codes 
[ "code1", "code2", ... ]