May 2019 – updated Installation Guide - On Premise with clarifications & new Troubleshooting section
**April 2019 – released Sitecore Experience Commerce 9.1 Initial Release
**
Commerce 9.1 focuses on compatibility with Sitecore Experience Platform 9.1 Update-1, along with some enhancements and corrective content.
New features/improvements
Area | Description | TFS no. |
---|---|---|
Connect | Extended the capabilities of the Abandoned Cart marketing automation (MA) campaign, including: - New conditions and actions: > Check on email. > Check on cart content. > Send email: Transfers custom values from the MA campaign to the email campaign. EXM passes on the parameters to any rendering used to generate the email output. Provider based logic is used for transfering values to email campaigns. - Automatic enrollment on cart actions. - Templated campaign. Can be instatiated via a new API call. Link to documentation. | 251087 |
Connect and Storefront | Added support for CMS-only mode, meaning the Commerce stack can function without depending on the Platform's xDB functionality running, including the xConnect Tracker. This allows the Tracker to be disabled or enabled while in production, via a configuration change and web server restart. This new capability adds a new CommerceTracker abstraction that uses the existing xConnect Tracker only when its available. When not available it falls back to using a single tracking cookie to identify the contact/customer. This fall back occurs when: - The xConnect Tracker has been disabled (CMS-only mode). - Under stress/load wgeb xDB becomes unavailable. | 272332 |
Storefront | Added Direct Navigation functionality, including: - Ability to target individual catalog and product items directly by URL. - Ability to configure unique presentation on individual categories and products. - Ability to configure page events, goals, analytics profiles, personalization and multi-variant testing on category and product items, and have the artifacts in effect as you would expect. - Support for standard SXA components like Search Results, Breadcrumb and Navigation. - Unique catalog templates for each tenant and use of SXA Template-to-Page Design Mapping for multi-site support. For more information refer to topics on direct navigation: Enable direct navigation. Configure direct navigation on existing sites. | 280964, 271081, 288054 |
Storefront | Added Unified Search functionality based on use of SXA indexes. Note that SXA search components target the "sxacontent" custom index field, whereas Commerce search components target the standard "_content" hidden index field. | 303725 |
Storefront | A new version of the Product Bundle component has been created, which is based on a rendering variant. The previous Product Bundle component is still available but now the title has the postfix "(deprecated)". New component version is included with new sites. Existing sites being upgraded will still see the previous version. If the new version is desired, it should be included manually by adding it to available renderings for the site. | 277554 |
Storefront | It is now optional and configurable to include or exclude categories from search results. By default, categories are no longer included in search results contrary to previous releases. However, when upgrading to 9.1, the storefronts will be configured to include categories in order not to break backward compatibility. | 290513 |
Business Tools | Added the ability to create a Composer Template directly in the Composer Dashboard. Previously, to create a template the user needed to add a new view from the sellable item (or another entity) then select "make it a template". | 277240 |
Sitecore Identity | The previous Commerce Identity Server code has been incorporated into the Sitecore Platform's new Sitecore Identity service. Commerce 9.1 has been updated to use the new Sitecore Identity service. The bearer token authentication documentation has been updated with the new Sitecore Identity configuration. Link to documentation. | 276957 |
Performance | Improved the processing of the delete operation using the ImportCatalogs web service method, for example with the mode parameter set to "replace", testing revealed the time to delete all catalogs can be reduced to around 15% of the original time. | 299881 |
Deployment | Added the ability to set up Commerce roles on different subdomains. This resolves a previous distributed deployment limitation where Commerce roles needed to be on the same domain, distinguishable only by configuring non-standard SSL port(s). An example outcome of this improvement is in configuring for Cross-Site Request Forgery (CSRF) protection in a distributed Commerce deployment, for example: - Prior to Commerce 9.1: Commerce Authoring on sc9.com:5000, BusTools on sc9.com:4200 - New in Commerce 9.1: Commerce Authoring on commerceauthoring.sc9.com, BusTools on bizfx.sc9.com Link to documentation | 276570 |
Deployment | Added the Commerce sites postfix parameter to Deploy-Sitecore-Commerce.ps1 and installation script. Documented hostnames. Link to documentation (same link as the entry above) | 277015 |
Deployment | Improved the flexibility of installing Business Tools by replacing fixed names and settings (e.g. BizFx server name, install path, port) with parameters. | 277023 |
Resolved issues
Area | Description | TFS no. |
---|---|---|
Storefront | Opening a Storefront site in Experience Editor using HTTPS protocol, then exporting results in an error. | 277478 |
Storefront | Adding "/" at the end of a Storefront query (e.g. a Catalog category) returns an empty result, instead of returning all the results. An error occurs in the CatalogPageItemResolver. | 281055 |
Storefront | CatalogLinkProvider does not correctly use the default link manager configuration. | 292985, 320520 |
Storefront | Unable to link to a catalog item using the standard Sitecore link dialog. | 292985, 320520, 320516 |
Storefront | Unable to add to cart to a static bundle where the product has no variant. | 303048 |
Storefront | Product Categories are incorrectly returned when searching for products from the Search bar. You can now configure the solution to leave out categories. | 290513 |
Storefront | Sitecore.Commerce.Contacts.ContactFactory.GetUserId returns the Commerce user's ContactId, whereas it should return the UserName. | 309673 |
Storefront | Commerce Storefront returns search results based on a partially matched ID, whereas it should only return results based on a string, e.g. name or description. | 309597 |
Business Tools | It is not possible to use a custom hostname for the Business Tools if the "AntiForgeryEnabled" setting is set to true in the Commerce Authoring instance. | 316154 |
Business Tools | Adding a Composer Template to product definitions removes the products from content indexes. | 276324 |
Business Tools | When a View and a Composer Template have the same name, circular template inheritance errors occur, as shown in the log. The Business Tools and Sitecore Content Editor user interfaces appear to operate normally, but the custom template cannot be found from either UI. | 276414 |
Business Tools | An empty Composer property in a Composer View causes errors when the SellableItem is loaded via the CommerceDataProvider. | 278075 |
Business Tools | The wrong product composer template gets selected on Content Delivery server after creating a custom view using the Composer. | 306234 |
Business Tools | Creating a Composer Template and associating to the product that the template came from prevents data from being properly accessed for that new version. For example, creating version 2 should return all content that exists for version 1 plus the template, but there is an issue retrieving all the content for the item. | 306816 |
Business Tools | Multiple versions of published catalog content appear in commerce computed index fields. For example, when creating a second version of a catalog category and publishing it in the Business Tools, the category appears in duplicate in the menu in the Storefront. | 307514 |
Content Editor | Rebuilding the indexes in the Content Editor Control Panel causes catalog items that were not selected to be indexed. | 279642 |
Content Editor | The CatalogDataProvider causes duplicate __Standard Values versions. | 311105 |
Engine | A shopper who has never made an order cannot get access to a promotion, when the CurrentCustomerOrdersCountCondition is used. An error in the logic check of this condition causes the benefit to not be applied when the order count is 0. | 276938 |
Engine | System.InvalidOperationException: "Collection was modified; enumeration operation may not execute." is thrown when Sitecore.Commerce.Core.GetEnvironmentCacheBlock is executed in parallel threads. | 278081 |
Engine | CommerceCache leaks memory because its entry size is not calculated correctly. Documentation has been updated. Link to documentation. | 309139 |
Engine | Unable to configure the CreateTraceReport method of the Sitecore.Framework.Pipelines.PipelineTraceContextExtensions to execute and print a trace report. | 278695 |
Engine | A NullReferenceException is thrown in Sitecore.Commerce.Plugin.Catalog.FormatComposerViewPropertyBlock because the code misses a NullCheck for the request object. | 299687 |
Engine | A Minion runs another time without first confirming that the previous run has completed. | 279710, 277002 |
Engine | The wrong ID is being populated on Catalog relationships. The Sitecore ID is used and not the deterministic ID, which causes the Data Provider to not return variants of the related items. | 310496 |
Engine | Cannot add a Static Bundle to a Cart when it contains products with no variants. The Product Details page throws an error. | 303046, 303048 |
Indexing | Unpublished catalog content appears in the Web index and in Storefront search results. Indexing lists are not correctly handling "draft" or "awaiting approval" items. | 299109, 300078 |
Performance | The GetSitecoreIdFromMappings method in CE Connect is slow with large catalogs when searching keys by values. | 312872 |
Breaking changes
Area | Description | TFS no. |
---|---|---|
Sitecore Identity | The previous Commerce Identity Server code has been incorporated into the Sitecore Platform's new Sitecore Identity service. Commerce 9.1 has been updated to use the new Sitecore Identity service. The bearer token authentication documentation has been updated with the new Sitecore Identity configuration. Link to documentation. | 276957 |
Configuration and Schema | For information on the configuration and schema changes between Sitcore XC 9.0.3 and 9.1, refer to the instructions in the Commerce 9.1 Upgrade Guide. Link to Commerce 9.1 Upgrade Guide. | 301563, 303983 |
Known issues
Area | Description | TFS no. |
---|---|---|
Storefront | Categories and products in a catalog in certain scenarios can appear with an orphaned fullpath in Solr results, which results in broken navigation in the Storefront. If this occurs, then rebuilding the index solves the issue. | 309214 |
Storefront | The JSS Layout Service does not work with the Storefront. | 301199 |
Storefront | Assets are missing from Creative Exchange exports when deployed on Azure. This is due to SXA Bug 301730: SXA Creative Exchange export html with optimized-min css/js. Two work arounds are available: Option 1: Navigate to two items below and set Mode from "Concatenate And Minify" to "Disabled". /sitecore/system/Settings/Foundation/Experience Accelerator/Theming/Optimiser/Scripts /sitecore/system/Settings/Foundation/Experience Accelerator/Theming/Optimiser/Styles Option 2: Navigate to file \App_Config\Modules\SXA\Foundation\Sitecore.XA.Foundation.Theming.config and set "XA.Foundation.Theming.AssetsOptimizationSwitch.Enabled" from False to True. | 309933 |
Storefront | "Could not compute value for ComputedIndexField: urllink" message appears in the index log file.There is a pre-defined computed field "urllink" provided out of the box which is used in SearchResultItem. Sitecore populates its value while indexing where the context site is unknown, which results in the exception. Workaround: Remove or comment out the index field, as it will be deprecated and removed from the Platform. | 318838 |
Storefront | After a deployment on Azure, navigating to Storefront category/product pages throws exception, "Object reference not set to an instance of an object". Workaround: Smart Publish all languages and rebuild core, master and web indexes. Alternatively recycle the CD server role. | 322631 |
Connect | Orders do not display correctly in the Experience Analytics and Experience Profile reports applications, for example the Experience Profile report under the Commerce > Orders tabs. To work around the issue, re-instate the processor TriggerOrderOutcome that is commented out in the “/App_Config/Include/Sitecore.Commerce.Orders.config” file, under the pipeline “commerce.orders.submitVisitorOrder”. The root cause is the processor that triggers the Product Purchase outcome in Connect is disabled, which causes the outcome not to be triggered and reports depending on the outcome not to show any data. | 234685 |
Release Package | The Commerce Engine download package (e.g. Sitecore.Commerce.Engine.3.0.163.zip) delivers a set of Sitecore framework files (e.g. Sitecore.Framework.*.dll) that are not the most recent. These file instances are used only by the Commerce Engine. There are no known issues with them. Resolution: the latest supported versions of these files are available with the dependent Sitecore XP 9.1.1 release, within the Sitecore directory. And, when building the Commerce Engine SDK the correct latest versions are automatically retrieved from the MyGet feed. | N/A |
Documentation updates
Area | Description | TFS no. |
---|---|---|
Storefront | The Storefront documentation has been re-structured and enhanced. There are now developer-specific topics, for example Tasks for Developers. Link to Tasks for Developers documentation. In addition, many of the sections that follow this topic are new, for example: Best practices, Content tree architecture, Configure currencies, Configure site searches, Using the ModelReference field renderer, Product Bundle structure, Troubleshooting. | N/A |
Storefront | Documented the use of Javascript in base themes, the dependencies between them, and the order in which they need to be referenced. Link to documentation. | 309067 |
Storefront | Added guidance on how to configure new custom indexes in SXA, when the Storefront is in use, and how to implement and configure new Commerce Engine strategies for incremental index updates. Link to documentation. | 310379 |
Storefront | There are also new topics in Storefront user documentation. User documentation comprises more business user-centric tasks, for example tasks for Content Authors, and tasks for Designers. Link to Tasks for Content Authors documentation. Link to Tasks for Designers documentation. In addition, many of the sections that follow these topics are new, for example: The Toolbox, Workflow to set up a new storefront, Set up the storefront for abandoned cart marketing automation campaign, Walkthroughs, FAQs. | N/A |
Connect | Created a topic for configuring shipping options via the Commerce Control Panel. Link to documentation. | 277322 |
Orders | Added a table describing the status of an Order throughout its lifecycle. Link to documentation. Note that this was also added to the previous Commerce 9.0 release documentation. | 300292 |
Orders | Added process flows for Create Order process and Post-order Capture process. Link to documentation. Note that this was also added to the previous Commerce 9.0 release documentation. | 313815 |
Orders | Added information regarding the purpose of the Language field of Orders tool. Link to documentation. Note that this was also added to the previous Commerce 9.0 release documentation. | 312893 |
Developer | Added documentation on customizing fulfillment options. Link to documentation. Note that this was also added to the previous Commerce 9.0 release documentation. | 292944 |
Developer | Added description of the PurgeCartsMinion, the order maintenance minion that deletes expired carts after a configurable amount of time. Link to documentation. | 279083 |
Developer | Added description and use of Commerce Engine Policies. Link to documentation. Note that this was also added to the previous Commerce 9.0 release documentation. | 276685 |
Integration | Added procedure to create commerce term. Added as part of Walkthrough: Configuring fulfillment options. Link to documentation. Note that this was also added to the previous Commerce 9.0 release documentation. | 312619 |