News Digest - October 2023

Welcome to our October News Digest, where we’ll be sharing the exciting updates and improvements to Virto Commerce solutions that were made throughout September 2023.

Highlights

  • Platform update to AngularJS 1.8.3.
  • Elastic Search 8 release.
  • Improved Storefront password UX.
  • And much more.

Storefront

  • 1.39.0 The checkout process has become even more convenient:

    • When you open your cart, all the items in it are selected by default.
    • Before checking out, you can select only the items you want to pay for. In this case, the order summary will only apply to the selected items.
    • The order will be created only for the selected items. The unselected items will remain in the cart.
  • 1.39.0 Users are now notified that their passwords are about to expire:

  • 1.39.0 Users are forced to change their password when it expires. They will see the notification thereof on the login page.

  • 1.38.0 Blocked users now see Account blocked page with a link to the site administrator contact form.

  • The Payment required status appears for the orders not paid by the bank card:

  • Users can now change the Storefront language:

    image

  • Product images are zoomable now:

  • 1.39.0 Orders can now be printed from the order list:

  • Google Analytics now tracks Clear cart and Place order events.

  • 6.26.0 New error alerts have been added to give users could get more relevant information about login errors. This also helps create a more personalized storefront interface.

Code Condition Default Message
username_or_emailIs_required​ login.UserName == null && login.Email == null​ Please provide a username or email​
login_failed​ user == null​ Login attempt failed. Please check your credentials.​
email_verification_is_required​ loginResult.IsLockedOut && user.Status == “Locked” && !user.EmailConfirmed;​ Email verification required. Please verify your email address.​
user_is_temporary_locked_out​ loginResult.IsLockedOut && user.LockoutEndDateUtc != DateTime.MaxValue.ToUniversalTime()​ Your account has been temporarily locked. Please try again after some time.​
user_is_locked_out​ loginResult.IsLockedOut ​ Your account has been locked. Please contact support for assistance.​
login_failed​ !loginResult.Succeeded​ Login attempt failed. Please check your credentials.​
user_cannot_login_in_store​ ! (_user.IsAdministrator
password_expired​ user.PasswordExpired​ Your password has been expired and must be changed.​
user_not_found​ user.Contact == null​ User not found. Please ensure you’ve entered the correct information.​

View the enhancements on public demo site

Read more and install Storefront

Platform

  • The Platform has been updated to AngularJS 1.8.3 without breaking changes for custom modules.

  • UseResponseCompression option has been added to enable the response compression middleware for default MIME types and compression providers (Brotli and Gzip).

  • VirtoCommerce.Platform.Core.Security.Events.UserLoginEvent has been extended with ExternalLoginInfo which allows to get information from SSO context and update user data from external login information. For example, roles, details, etc.​

  • xAPI now returns date and time correctly. We found out, that SQL Server does not preserve the DateTime.Kind information when storing DateTime values as datetime or datetime2 . Consequently, when you retrieve DateTime values from the database, they always have a DateTimeKind of Unspecified . To fix it, we have added:

    • UtcDateTimeConverter to convert DateTimeKind.Unspecified to DateTimeKind.Utc when read from the database and back to DateTimeKind.Utc when saving data to the database.
    • DbContextBase class: a derived class with applied UtcDateTimeConverter for all DateTime properties. This ensures that all DateTime values are consistently treated as Utc when interacting with the database.

Download and install the Platform

ElasticSearch

Elastic Search 8 with support for semantic search has been released. The Virto Commerce Elastic Search module implements the ISearchProvider defined in the Virto Commerce Search module. It uses the Elasticsearch engine to store indexed documents. The module supports the following Elasticsearch deployment options:

  • Standalone Elasticsearch 8.x
  • Elastic Cloud 8.x

Key features of the module include:

  • New .NET client for Elasticsearch.
  • Semantic Search (Preview).

Semantic search is a search method that helps you find data based on the intent and contextual meaning of a search query, rather than a match to query terms (lexical search).

semantic search

Read more and download module

Cart, Order, xAPI

New mutations have been added to improve the customer experience and reduce the number of clicks and use the cart as a wish list:

Download and install the Cart module
Download and install the Order module
Download and install the xAPI module

Catalog

Now you can query the list of products variations as a regular product query and implement a variation catalog experience with facets, filters, pagination, and sorting on the product page:

​{​
  products(​
    storeId:"Electronics"  ​
    filter: "productfamilyid:6e7a31c35c814fb389dc2574aa142b63 status:hidden,visible")​
  {​
    totalCount​
    items​
    {​
       id​
      code​
      name​
    }​
  }​
}

The products variations list can now be viewed as follows:
image

Download and install the Catalog module

Profile

A new option to notify user of pending password expiration has been added. Now, the users can be notified in advance that their passwords will expire in the specified number of days.

GraphQL:​
{​
user (id:"857b0eb9-24a4-482b-b4e5-af1e0c48a04b")​
  {​
    id​
    passwordExpiryInDays​
    passwordExpired​
    userName​
  }​
}​

Download and install the Profile module

Content

  • The Clone List button has been added for copying existing link lists. Now you can easily clone link lists and quickly duplicate existing links when needed.


    ​​

  • All modules now support Schema Builder. This means that a schema is created at the start of indexation.

  • Store pagination has been added to the Content main blade. Now store information is loaded paginated. ​

  • Asset text editor has been improved:

    • The header with file name has been removed for editing operations.
    • The width and height can be expanded up to 100% of the blade.



Download and install the Content module

Task module

The DB agnostic approach has been implemented in the Task module. The module is now designed to work independently of specific database systems.

Download and install the Task module

Virto Cloud

Virto Cloud now supports PostgreSQL in addition to SQL Server. Based on our tests, PostgreSQL performs 25-30% faster and consumes less CPU and memory compared to SQL Server:

Metric Sql Server Postgre Sql Diff
VC Instance, RAM, Mib​ 640​ 505​ 21%​
DB utilization, %​ 25%​ 22%​ 3%​
Total Samples, count​ 163 900​ 177 000​ 8%​
Avg Duration (all API calls)​ 190​ 130​ 32%​
Create Order, ms​ 1300​ 930​ 29%​
Add To Cart, ms​ 730​ 490​ 33%​
Get Product, ms​ 499​ 356​ 29%​

Marketplace

  • Vendor users can now be enabled/disabled:

  • Product types can now be configured:

  • Multi-language version has been released.

  • Offers import has been extended with adiitional fields:

  • Staged offers are now created and stored in the Vendor’s private catalog.

  • Images with special symbols in their names can now be uploaded to the Vendor portal.

For more information, request a demo.

Documentation