Virto Version 3 beta product release notes

Executive summary

Virto Commerce is pleased to release the beta version of its platform, Virto Commerce Version 3. This release offers innovative advancements in the core architecture, increased speed and new or improved modules. Business users will appreciate the benefits of shorter time-to-market for the solution – enabling faster uptime for transactions.

What were our objectives when starting the development project on VC platform v3?

  • Change primary technology stack to .NET Core for the platform application and all key modules.
  • Eliminate known technical and architecture design issues of 2.x version (Caching, Overloaded core module, Asynchronous code, Platform simplification, Extensibility, Performance, Authentication and Authorization)
  • Provide easy and clear migration from 2.x version by preserving complete backward compatibility for API and Database schema
  • The platform and 18 core modules were planned to be migrated.

These Virto Commerce release notes below are a subset of the larger list of migration changes to ASP.NET Core.

What does Virto V3 provide to developers and architects?

  • Improved extensibility and unification to increase the development speed and decrease time-to-market.
  • Unified architecture and the use of solid architectural principals lead to a shorter learning curve for developers who are new to working with Virto Commerce

What technological stack have we applied?

  • .NET Core, ASP.NET Core 2.2 as base framework
  • EF Core 2.2 as primary ORM
  • ASP.NET Core Identity 2.2 for authentication and authorization
  • OpenIddict 2.0.0 for complete support of all OAuth authorization scenarios and OpenID Connect server
  • WebPack as primary design/runtime bundler and minifier for JS scripts and styles
  • Swashbuckle.AspNetCore.SwaggerGen for Swagger docs and UI
  • SignalR Core for push notifications
  • AngularJS 1.4 still as the primary framework for SPA
  • HangFire 1.6.21 for running background tasks

What architectural changes were implemented?

  • Configuration: NET Core configuration paradigm (configuration providers and POCO classes IOptions) replaces the old .NET Framework Configuration
  • Dependency Injection: Unity DI is replaced with build-in .NET Core DI Microsoft.Extensions.DependencyInjection
  • Persistent infrastructure: EF Core, async queries and commands, DB context triggers for aspect operations, TPH inheritance policy
  • Localization: permissions and settings can now be localized
  • Caching: CacheManager to ASP.NET in-memory is replaced by cache dependencies
  • Modularity: powered by the new dynamic assembly loading in .NET Core; significant module manifest changes
  • Platform permissions, settings and dynamic properties: the new definition and registration
  • Bundling and minification: use Webpack + npm
  • Make all as asynchronous: DAL and Domain services, API controllers

Platform changes

  • Solution changes: solution structure, startup.cs
  • Authorization and Authentication: migrate to ASP.NET Core Identity membership and OpenIddict OpenID Connect server
  • Platform manager UI changes: small redesign and layout changes

What has changed in the modules?

  • Core module: CoreModule.Domain project is terminated
  • Marketing module changes: new serialization logic for expressions
  • Catalog module changes: remove the WEB model and add the possibility for model extension
  • Lucene search module: migration to new version of search engine Lucene .NET 4.8
  • Image Tools module: switch from Windows Component dependency for Images transformation to another library .NET Standard compatible

Which modules have migrated?

  • The following modules have been migrated

  • Cart
  • Catalog
  • Content
  • Core
  • Customer
  • ImageTool
  • Inventory
  • Licensing
  • Lucene-search
  • Marketing
  • Orders
  • Pricing
  • Sitemaps
  • Store
  • Subscriptions

Which modules have been added?

VirtoCommerce.Notifications module 3.0 includes:

  • Functionality that was spread across the system has been shifted to a dedicated module
  • Manage availability of notifications for each store
  • Unlimited cannels types for sending notifications
  • Possibility to activate/deactivate each notification individually for each store
  • New flexible extendibility model
  • Allows to preview a notification
  • Support of LIQUID syntax for templates based on Scriban engine
  • The new notification messaged feed allows to search and preview individual messages

Tax module 3.0

  • The tax calculation functionality that was spread across the system has been shifted to a dedicated module responsible for tax settings and calculation
  • The new module is a single integration point for third-party software and custom extensions

Shipping module 3.0

  • The functionality for calculating shipping costs, which was spread throughout the system, has beenshifted to a dedicated module responsible for shipping methods, related settings and the calculation of shipping costs
  • The new module is a single integration point for third party software and custom extensions

Payment module 3.0

  • The payment methods functionality and the integrations that were spread across the system haveshifted to a dedicated module responsible for payment methods and related settings
  • The new module is a single integration point for payment gateways integration

Search module 3.0

  • The new module is a single integration point for search engine integration

Which modules have been removed?

  • Smart cashing module
  • Virto Commerce dynamic expression library module

Release status note

  • We inspire you to try and investigate the new version of the system and give us your feedback.
  • This is a beta release, which has not yet been verified on a production project yet.
  • We have delivered a simple migration from 2.x version by preserving complete backward compatibility for API and Database schema, while you will need additional efforts in case there are custom changes in your current 2.X system. Please follow our migration guide during the migration project.
  • We cannot guarantee the backward compatibility of current the beta version with the final 3.X release
Share. Spread tech knowledge & news:

About the author of this article

Alexander Siniouguine
CEO & Founder

Alexander has over 20 years of experience in software product development and e-commerce operations. He once started as a creator and chief product architect for what is now known as Episerver Commerce before founding Virto Commerce in 2011. He holds a Master's degree in Computer Science from California State University, Fullerton.