Content Definitions API Templates

With the content definitions api you can "remotely manage definitions, such as Content types, Property Groups, and Property Data Types without deploying code to the Optimizely application or using the admin user interface." Personally, as a dinosaur, I think I will still do it the "old" way by creating content types in code, but in … Continue reading Content Definitions API Templates

Create Find facets based on attributes

First of all.... Happy New Year! While back I wrote a post about how to create term facets from attributes on contenttype properties. Doing a POC at the end of last year, about which I will post later, I remembered that I did not follow up on how to retrieve the facets created that way. … Continue reading Create Find facets based on attributes

Temporarily disable the catalogitem change manager

When you run large imports you might run into the issue that the "Change log auto truncate job" will timeout because the tblActivityLog has become very large. When that happens you can manually run a stored procedure on the DB as described here. To prevent it from happening, as from EPiServer.Commerce 11.6.0, you can disable … Continue reading Temporarily disable the catalogitem change manager

Retrieve localizations through an api

When you have a need to use available localizations from e.g. a headless app, one way to do it is through a custom api. In this gist you can find a basic api controller that you could use. It uses the LocalizationService to retrieve all localizations grouped by culture, localizations with a specific key grouped … Continue reading Retrieve localizations through an api

Get “linked” product url

Imagine a scenario where you have a main catalog containing all your products and several "sub" catalogs with products linked from the main catalog.When you do a search for a product in the sub catalog and you would want to get the link to a product, you would get the link to the product within … Continue reading Get “linked” product url

Use Serilog with CMS12

In previous versions of Optimizely, when you wanted to use a different logger, it took a bit of work. Or you could use one of my providers. With CMS12 you can now just configure a different provider without the need of a custom provider. For Serilog add the following packages, I used the file sink, … Continue reading Use Serilog with CMS12

“Filter” your commerce navigation

Within Episerver Commerce you can have a lot of rules for displaying a product to a visitor, e.g. if it's available for the current market. So it can happen that when you click on a main category or subcategory link there are no products displayed. To prevent this, as it can be quite annoying for … Continue reading “Filter” your commerce navigation

Offload your Episerver Find tracking

Imagine a site with 10+ instances and a lot of visitors and search requests. The find queries are tracked, to provide data for the auto suggest, and cached. And then... you get an error in Find: Too Many Requests. My first thought was to increase the value for StaticallyCacheFor. But it did not have as … Continue reading Offload your Episerver Find tracking

Auto correct a search query

So your visitor is in a hurry and makes a typo in the search box. Chances are no results might be returned. By using the Bing Spellcheck API you can auto correct typos in the query and, maybe, return a result. As with the auto correct on your phone, it kinda depends on how smart … Continue reading Auto correct a search query

Use ML.net recommender for recommendations (POC)

A while ago I wrote about how you can use ML.Net Recommender to add some smarts to your up-sell. I decided to take it a step further and make it work for general product recommendations. So I created a scheduled job that creates and trains the recommendation model, creates predictions for all available variations in … Continue reading Use ML.net recommender for recommendations (POC)