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:
-
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. |
-
The UI has been extended with the Chips and VC Buttons components:
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 storingDateTime
values asdatetime
ordatetime2
. Consequently, when you retrieveDateTime
values from the database, they always have aDateTimeKind
ofUnspecified
. To fix it, we have added:- UtcDateTimeConverter to convert
DateTimeKind.Unspecified
toDateTimeKind.Utc
when read from the database and back toDateTimeKind.Utc
when saving data to the database. - DbContextBase class: a derived class with applied
UtcDateTimeConverter
for allDateTime
properties. This ensures that allDateTime
values are consistently treated asUtc
when interacting with the database.
- UtcDateTimeConverter to convert
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).
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:
- selectCartItems to select specific cart items within a shopping cart.
- unselectCartItems to unselect specific cart items within a shopping cart.
- selectAllCartItems to select all cart items within a shopping cart.
- unselectAllCartItems to unselect all cart items within a shopping cart.
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:
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:
- AlwaysInStock
- InStockQuantity
- ValidFrom
- ValidTo
- ImageUrls
-
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
- New documentation design.
- New Storefront user guide.