Sitecore Commerce 7.5, powered by Commerce Server and Commerce Server 11.1 Readme (October 24, 2014)

Release notes for Sitecore Commerce 7.5, powered by Commerce Server and Commerce Server 11.1.

Sitecore Commerce 7.5, powered by Commerce Server and Commerce Server 11.1 is supported with a new suite of documentation. The on-product .chm based documentation is still available from the Start menu, but is supplemented with a web help suite.

For customers upgrading from Commerce Server 2009R2 or earlier, be aware that Sitecore Commerce 7.5, powered by Commerce Server and Commerce Server 11.1 has introduced extensive breaking changes, including, but not limited to:

A detailed accounting of breaking changes in Excel format is available at http://sdn.sitecore.net/downloads/SitecoreCommerceCommerceServerBreaking.download. The purpose of this spreadsheet is to provide you with guidance on migrating your existing solutions from Commerce Server 2009R2 or earlier to Sitecore Commerce 7.5, powered by Commerce Server and Commerce Server 11.1. It contains mappings illustrating the old and new names for assemblies, namespaces and other artifacts. This spreadsheet contains a number of sheets that allow you to filter and pivot on the various namespaces and or / assemblies to help plan your migration.

Breaking Changes

Highlights

Resolved Issues

The following issues have been fixed in this release:

Known Issues

Faceting by non-string data types when using Lucere returns invalid facet names

If you attempt to receive facets for a field that is not a string data type, for example List Price, the names for the facets returned are encoded rather than displaying their numeric value.

Merchandising Manger Toolbar Flyouts Revert To Closed After Page Loading

In Merchandising Manager, while each page is loading, the toolbars at the top and right of the screen will briefly be displayed. Once the page is fully rendered, the toolbars revert to their closed state. This is a design limitation of the Sitecore SPEAK in version 7.x of Sitecore that is attributed to the asynchronous nature of the framework, and will be redesigned in future releases of Sitecore to offer better performance.

Code Directly Referencing Commerce Server Assemblies Must Be Changed to Target .NET 4.5.1

Commerce Server depends on .NET 4.5.1. Code that references Commerce Server assemblies must be changed to target .NET 4.5.1. You may still access web services or go through COM interfaces to maintain compatibility where there are no direct refereces to Commerce Server assemblies.

GetEnumerator() No Longer Exists as a Member of the DataTable or DataSet Classes

Due to changes in the .NET Framework, as of .NET 3.5, GetEnumerator() does not exist as a member of the DataTable or DataSet classes. GetEnumerator() has moved to System.Data.DataSetExtensions.dll as an extension method. Any attempt to foreach over the Rows of a DataTable or similar operation will fail unless a reference to System.Data.DataSetExtensions.dll is added to your projects that use Commerce Server DataTables or DataSets.

Commerce Server Requires the Latest Visual C++ 2013 Runtime

Commerce Server requires the latest Visual C++ 2013 runtime, which is installed automatically by the installer in a customer environment. Native code that accesses Commerce Server native COM objects should not require any changes.

ADODB Recordsets Returned from Commerce Server COM Objects are Not Automatically Populated with Default Values

ADODB Recordsets that are returned to client code from Commerce Server COM objects are not automatically populated with default values. Any attempt to MoveFirst() or MoveNext() will fail when the Recordset.EOF = true, because there are no rows. Visual Basic 6 allows you to MoveFirst() on a Recordset that has no rows, and will return a Recordset that allowed that operation for clients operating on the Recordset. Visual Basic 6 will also construct an empty, default Recordset on the client side, even if the server returned null. This is no longer allowed. The simplest fix is just to change your code to check if the Recordset state is not closed, and ensure it is not empty before invoking operations involving any rows.

CommerceServer.Core.Configuration.dll Replaces the Legacy Configuration APIs

Change any references to CommerceServer.Core.Interop.Configuration .MSCSCFG .dll to use CommerceServer.Core.Configuration.dll, and change all type references. For example:
  • GlobalConfigFreeThreaded is changed to IGlobalConfig
  • GlobalConfigAdminFreeThreaded is changed to IGlobalConfig2
  • SiteConfigFreeThreaded is changed to ISiteConfig
  • SiteConfigReadOnly is changed to ISiteConfigReadOnly

CommerceServer.Core.Profiles.dll Replaces the Legacy BizDataManager.dll

You do not need to go through the legacy CommerceServer.Core.Internal.Profiles.BusinessDataAdminInterop wrapper (CommerceServer.Core.Profiles.DataManagement.dll), but it is still available to support legacy dependencies. Customers using the BusinessDataAdminInterop class should not have to make any changes. Customers using the new CommerceServer.Core.Profiles.dll instead of the legacy VB6 COM object, will have to change ref params to pass the parameters by value.

Uninstalling Previous Versions of Commerce Server

If you have a previous verions of Commerce Server installed on your system, for example, Commerce Server 2009 R2, you must uninstall that version before installing Sitecore Commerce 7.5, powered by Commerce Server and Commerce Server 11.1. It is strongly recommended that Commerce Server is installed on a system that has not previously had a Commerce Server installation.

Date Fields in Inventory Tab for Product and Variants do not Respect Locale Settings

The dates on the Inventory tab are always formatted in the following format: MM/DD/YYYY, no matter what locale is selected. The fields this impacts are Preorder Availability Date, Backorder Availability Date, and Last Restocked.

Searching Within Merchandising Manager will Fail if Empty Catalogs Exist

Merchandising Manager searches across all catalogs in your system. If an empty catalog exists, the search may fail. The workarounds for this issue are as follows:
  • Delete all empty catalogs.
  • Add at least one item to all empty catalogs.

Images Can't Be Added When Creating A Product or Category

Attempting to add an image during the creation of a product or category will result in the image not being attached. The workaround is to add the images after the product or category has been created and saved.

You Must Enter A Display Name When Creating a Base Catalog

When creating a Base Catalog, the Display Name field is not marked as required. However, the Base Catalog cannot be saved until the Display Name field is populated. There is no error message provided for this issue.

Live Preview In Merchandising Manager May Fail In Internet Explorer

Clicking Live Preview for a product or category within Merchandising Manager may trigger a The requested document was not found error message when using Internet Explorer. The workaround is to use another Sitecore supported Web browser.

Do Not Change Back Ordered Quantity or Preordered Quantity Fields in Product and Variant Inventory Details

The fields for Back Ordered Quantity and Preordered Quantity are computed fields, and should not be edited by the Business User.

Custom Catalog Rule Deletion List Does Not Reflect All Deletions

When deleting multiple Custom Catalog Rules, all rules selected for deletion will be removed, but the Pending Operations list will only display a single rule.

Incorrectly Rendered Navigation Breadcrumb Through the Parents Tab.

When a Business User navigates down a hierarchy, they will receive a breadcrumb trails. For example: Adventure Works Catalog --> Departments --> Pants --> Men's Pants Green. If they use the Parents tab and click on a parent category, the expected breadcrumb would be Adventure Works Catalog --> Departments --> Pants. What is actually rendered is Adventure Works Catalog --> Departments --> Pants --> Men's Pants Green --> Pants. The breadcrumb still works, but is rendered differently than may be expected.

Catalog Root Doesn't Refresh Automatically After Save

Lists do not always refresh after changes are saved at the root of a Base catalog. Refresh the page in your browser after saving any changes at the root of a Base Catalog.

Backup Staging Data to Retain the Staging Environment

A known issue exists where staging data is lost during migration to Sitecore Commerce 7.5, powered by Commerce Server and Commerce Server 11.1. If you wish to keep your staging environment you must perform a backup before starting any part of the migration. For complete instructions on performing a backup and restoring your staging environment, please see http://support.commerceserver.net/KnowledgebaseArticle51140.aspx

Error 1316 During a Commerce Server Repair

You may receive Error 1316.A network error occurred while attempting to read from the file Path\SSCERuntime-ENU.msi as an error message when you repair Sitecore Commerce 7.5, powered by Commerce Server and Commerce Server 11.1. This issue is related to the following Microsoft KB article, http://support.microsoft.com/kb/970876. To resolve this issue, follow these steps:
  1. Using Add or Remove Programs in Control Panel, Remove Microsoft SQL Server Compact 3.5 SP2 x64 ENU
  2. Using Add or Remove Programs in Control Panel, Remove Microsoft SQL Server Compact 3.5 SP2 ENU
  3. Rerun repair on Sitecore Commerce 7.5, powered by Commerce Server and Commerce Server 11.1. After the repair operation, the correct versions of SQL Server Compact 3.5 will be installed.

Database.SelectItems does not return results for some products

When you query for products that include a "-" in the ProductID Database.SelectItems does not return results for those products. The product ID needs to be enclosed in # characters. The correct query format is : /sitecore/Commerce/Catalog Management/Catalogs/Adventure Works Catalog/Departments/Boots/#AW074-04#/*[@CommerceItemType=\"variant\"]

Notes on Commerce Connect Inventory Conditions

The Sitecore Rules Engine only uses the Inventory Catalog associated with a Product's Base Catalog.

Stock counts apply to Products, not Product Families. Sitecore Commerce 7.5, powered by Commerce Server and Commerce Server 11.1 does not roll up counts from all variants in a family.

To enable the Inventory rules you will need to add the following node to ..\App_Config\Include\CommerceServer\CommerceServer.Obec.Connectors.Inventory.config under the < sitecore > node
<inventoryProductBuilder>  
        <patch:attribute name= "type "> Sitecore.Commerce.Obec.CommerceInventoryProductBuilder, Sitecore.Commerce</patch:attribute></inventoryProductBuilder>

Application Localization

Application localization may display data in English when logging in with a language other than en-US.

Keyboard Access for UI Controls

Some controls are not accessible using the keyboard. For example, the action bar that contains controls to filter, create, delete, etc.