# News Digest - October 2023

**URL:** <https://www.virtocommerce.org/t/news-digest-october-2023/631>\
**Category:** news digest\
**Created:** [September 28, 2023, 11:56am UTC](https://www.virtocommerce.org/t/news-digest-october-2023/631 "2023-09-28T11:56:54Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![Maria-Volkova-Tula](https://yyz2.discourse-cdn.com/flex032/user_avatar/www.virtocommerce.org/maria-volkova-tula/32/1326_2.png) [@Maria-Volkova-Tula](https://www.virtocommerce.org/u/Maria-Volkova-Tula)\
**Post date:** [September 28, 2023, 11:56am UTC](https://www.virtocommerce.org/t/news-digest-october-2023/631/1 "2023-09-28T11:56:55Z")

</div>

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](https://github.com/VirtoCommerce/vc-theme-b2b-vue/releases/tag/1.39.0) The checkout process has become even more convenient:

- [1.39.0](https://github.com/VirtoCommerce/vc-theme-b2b-vue/releases/tag/1.39.0) Users are now notified that their passwords are about to expire:

- [1.39.0](https://github.com/VirtoCommerce/vc-theme-b2b-vue/releases/tag/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](https://github.com/VirtoCommerce/vc-theme-b2b-vue/releases/tag/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](https://github.com/VirtoCommerce/vc-theme-b2b-vue/releases/tag/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](https://github.com/VirtoCommerce/vc-storefront/releases/tag/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](https://virtostart-demo-store.govirto.com/)

[Read more and install Storefront](https://github.com/VirtoCommerce/vc-theme-b2b-vue)

## 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:

[Download and install the Platform](https://github.com/VirtoCommerce/vc-platform/releases)

### 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](https://canada1.discourse-cdn.com/flex032/uploads/virtocommerce/original/2X/c/c5f3c71117e9e4b1ad15cdde7cd7cdb4c5882290.gif)

[Read more and download module](https://github.com/VirtoCommerce/vc-module-elastic-search-8)

### 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](https://docs.virtocommerce.org/new/dev_docs/GraphQL-Storefront-API-Reference-xAPI/Cart/mutations/selectCartItems/) to select specific cart items within a shopping cart.
- [unselectCartItems](https://docs.virtocommerce.org/new/dev_docs/GraphQL-Storefront-API-Reference-xAPI/Cart/mutations/unselectCartItems/) to unselect specific cart items within a shopping cart.
- [selectAllCartItems](https://docs.virtocommerce.org/new/dev_docs/GraphQL-Storefront-API-Reference-xAPI/Cart/mutations/selectAllCartItems/) to select all cart items within a shopping cart.
- [unselectAllCartItems](https://docs.virtocommerce.org/new/dev_docs/GraphQL-Storefront-API-Reference-xAPI/Cart/mutations/unselectAllCartItems/) to unselect all cart items within a shopping cart.

[Download and install the Cart module](https://github.com/VirtoCommerce/vc-module-cart/releases)  
[Download and install the Order module](https://github.com/VirtoCommerce/vc-module-order/releases)  
[Download and install the xAPI module](https://github.com/VirtoCommerce/vc-module-experience-api/releases)

### 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:

```auto
​{​
  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](https://canada1.discourse-cdn.com/flex032/uploads/virtocommerce/original/2X/7/79b550845c97790f9feca5bff6ec977c96964720.png)

[Download and install the Catalog module](https://github.com/VirtoCommerce/vc-module-catalog/releases)

### 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.

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

```

[Download and install the Profile module](https://github.com/VirtoCommerce/vc-module-profile-experience-api/releases)

### 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:

 ![image](https://canada1.discourse-cdn.com/flex032/uploads/virtocommerce/original/2X/3/3f1e24428e3b6dde04b41ec2473de303d0f8ab88.png)  
​  
[Download and install the Content module](https://github.com/VirtoCommerce/vc-module-content)

### 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](https://github.com/VirtoCommerce/vc-module-task-management/releases)

## 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](https://virtocommerce.com/request-demo).

## Documentation

- New documentation design.
- New [Storefront user guide](https://docs.virtocommerce.org/new/user_docs/storefront/overview/).
