Welcome to our monthly update on Virto Commerce solutions, highlighting the enhancements for September 2023.
Today’s highlights are:
- Storefront integration with the Builder.io solution.
- Platform modules updates.
- Multi-language approach implemented in the Marketplace.
Storefront
-
Storefront has been integrated with the Builder.io solution. Now you can create landing pages for Virto Commerce in Builder.io.
-
A new security measure to enhance the protection of user accounts has been implemented. Users are now forced to changed their passwords at regular intervals. Forcing customers to change their passwords on a regular basis significantly reduces the opportunity for attackers to exploit a compromised password.
-
When you click on a product in the catalog, the product page opens in a new window. This makes the user experience more convenient and allows you to continue scrolling down the catalog from the same place you stopped.
-
A new feature to request a new email verification link, replacing the expired one has been added.
-
When a payment for an order fails, a Payment required notification is displayed next to the unpaid order, informing the user of the issue and prompting them to retry the payment:
-
A new feature has been added, allowing users to copy the SKU number to the clipboard with a single button click:
-
The users are now being informed when their wishlist has not been saved:
View the enhancements on public demo site
Read more and install Storefront
Platform
-
Several security headers have been newly introduced to enhance response security. These headers include X-Content-Type-Options, X-Frame-Options, X-XSS-Protection, Referrer-Policy, Content-Security-Policy, and Strict-Transport-Security, contributing to a safer and more secure browsing experience.
-
The
IDistributedLockService
service has been added to the platform to ensure exclusive access to a particular resource at any given time:
Download and install the Platform
Order
Capture and refund operations now use Distributed Locks by Order ID to ensure synchronized execution. This prevents concurrent updates of the order in Virto Commerce and the Payment System:
"Orders": {"PaymentDistributedLockOptions": {
"LockTimeout": "00:00:30",
"TryLockTimeout": "00:00:30",
"RetryInterval": "00:00:01.000"
}
}
Download and install the Order module
Contract
-
The contracts details page has been extended with the status field. You can select a default status from the drop-down list or create a new status:
-
You can now use the filtering option to efficiently find the specific contract you’re looking for. This feature is especially helpful when dealing with numerous records:
-
The contracts can now be linked to a specific vendor. This means that you can now associate a particular contract with a specific vendor and customer. This feature adds a vendor-specific dimension to the contracts, making it easier to manage and track agreements within the system:
-
The scalable indexation feature has been released. It allows you to divide the catalog into bundles and increase indexing efficiency by running multiple workers in parallel.
-
The contract and the contracts queries have been extended to see all the concluded contracts and contract information:
{ contract (id: "d97ee2c7-e29d-440a-a43a-388eb5586087") { id name description status storeId vendorId code startDate endDate dynamicProperties { name value valueType } } }
{ contracts ( storeId: "B2B-store" organizationId: "33ae18d0-b7ba-4844-8c19-afd49489401b" statuses: ["Draft", "Active"] after: 0 first: 20) { items { id name description status dynamicProperties { name value } } totalCount } }
Download and install the Contract module
Profile
-
The option to send verification email has been added. If a user is authorized, the system will use the ‘userId’ and ‘email’ values from the user’s current profile:
mutation ($command: InputSendVerifyEmailType){ sendVerifyEmail(command: $command) }
{ "command": { "userId": "4162ff51-c880-4e42-bc4b-4bfd120a0bdf", "storeId": "B2B-store", "languageCode": "EN-US" } }
-
The new scenario is now ready to run. You can make email verification mandatory for using your site:
-
A new mutation to confirm email has been added:
mutation ($command: ConfirmEmailType){ confirmEmail(command: $command) }
{ "command": { "userId": "4162ff51-c880-4e42-bc4b-4bfd120a0bdf", “token": “CfDJ8BluBQSMjM5OhRGBcqa2bBAuYkKMUo81c…" } }
Download and install the Profile module
Elastic Search
Creating an index is now a separate and standalone operation. It’s no longer performed automatically as part of each query. Instead of creating the index each time a query is made, the index is created separately and less frequently.
Download and install the Elastic Search module
Catalog + xAPI
A new feature allows you to hide both categories and sub-categories, as well as the products within them, by simply deactivating the parent category. This means you can now hide entire categories and all associated products with a single click, eliminating the need for bulk operations.
Furthermore, the hidden categories and products will be excluded from xAPI queries:
Download and install the Catalog module
Download and install the xAPI module
Pricing + xAPI
A new mutation has been added to display the lowest price of the main product and its variations. This price can be shown in a list of products as a demonstration of starting prices.
Download and install the Pricing module
Download and install the xAPI module
Shipping + xAPI
The Shipping method has been extended with the name and description. Now relevant data can be reverted to frontend or customers:
Download and install the Shipping module
Download and install the xAPI module
xAPI
The customer access to the Storefront can now be blocked automatically once their account is locked in the backend, ensuring heightened security and minimizing potential risks. The 401 error page is returned for the locked accounts.
Download and install the xAPI module
Schema builder
The new schema builder feature allows you to input any product details prior to its indexation. This enhancement boosts indexing efficiency and aids in error detection before indexing, as the index no longer demands additional checks and updates.
Download and install the Pricing module
Download and install the Inventory module
Download and install the Customer module
Download and install the Order module
Download and install the Catalog module
New DB Agnostic modules
The DB agnostic approach has been implemented in the Avatax and Return modules. The modules are now designed to work independently of specific database systems, making them more versatile and adaptable to different database configurations or types.
Download and install the Avatax module
Download and install the Returns module
Marketplace
-
Product properties can now be input in multiple languages, enhancing the product’s internationalization and multilingual support:
-
The Offers and the Products modules have been designed as dynamic custom modules: