SaaS CMS has officially launched! Learn more now.
This topic lists Optimizely updates, delivered as NuGet packages and services. You decide which updates apply to your project.
Select a product, package, or service in the left menu, and then select one of the following filters from Item type and click Filter.
Note: NuGet packages listed here may not be immediately available in the Optimizely NuGet feed.
Latest changes
Several customers have reported that they want to be able to ignore the products in their catalog and export all variants as separate items instead.
To do this, use the abstractions and structure map interceptor pattern. Partners need to write their own implementation of an interface method whose default implementation is ~500 lines of code with private sub-methods. The source code is provided to the partners for this purpose.
There should be info-level logging for successful exports and warning/error-level logging for failed exports.
The scheduled job log should mention how many blobs are in the DB. Something like: "Created X catalog feeds. There are now Y feeds awaiting export.
If there are more feeds awaiting export than were created by the latest job execution it indicates that earlier exports have not been successful.
https://github.com/JamesNK/Newtonsoft.Json/issues/830
We use a custom contract resolver inheriting CamelCasePropertyNamesContractResolver to serialize tracking data to JSON. Even though we use different instances of our contract resolver the CamelCasePropertyNamesContractResolver uses an internal static cache of resolved JsonContracts and shares them between resolver instances.
When a contract for a tracking type is resolved the Site and ClientToken values for the current scope are used in the JSON data and, because of the cache, in all future tracking data of that type. If the site consists of more than one web app the web apps may have cached values from different scopes leading to a, from the outside, seemingly random behavior in regards to what values are included in the JSON.
The Newtonsoft team have chosen not to “fix” it (it’s not really a bug, it’s inconsistent behavior) in later versions because that would be a major breaking change. Therefore, upgrading the Newtonsoft.Json version is not a viable workaround.
Steps to reproduce Precondition: There is a multi-site commerce solution where products are kept in a master catalog (primarey category relation for each product links to the master catalog) and then linked to categories site-specific catalogs.
1. Configure personalization for each of the sites, including configuration of the catalog to export for each site. 2. Run the catalog feed export.
Expected: The products linked to each site specific catalog are included in the export. Actual: The products are not included in the catalog they are linked to.
Steps to reproduce Precondition: There is a multi-site commerce solution where products are kept in a master catalog (primary category relation for each product links to the master catalog) and then linked to categories site-specific catalogs.
Expected: The category outline for each product refers only to categories in the exported catalog. If the product is linked to multiple categories in the same catalog, all these outlines are included. Actual: All outlines in all catalogs are included.
Since only one catalog can be exported in each catalog feed, and with the new multi-site support there is no indication there will ever be multiple catalogs in one feed, the catalog name in the category hierarchy in the feed only adds noise.
Remove the catalog level from the hierarchy.
NOTE: This must be matched by adjusting the category tracking in the same way.
Steps to reproduce
Expected: The product description in Svenska can be exported to catalog feed via <p:description location="sv"/> property.
Actual: Product description in Svenska cannot be exported.