Jonas Bergqvist
Apr 16, 2015
(8 votes)

Introducing BrilliantCut

BrilliantCut makes it possible to filter the catalog UI using facets. The project includes facets like language, market, and category. It also includes a free text search, and the possibility to choose if the search should apply to children or descendants. The more important feature in BrilliantCut is the possibility to create your own facets for filtering the catalog UI. It’s very easy to creating your own facets in the catalog UI using a fluent API.


The video can also be watched here:


The code is open source and can be found at More information about the project will be found at that page.


The nuget packages is located at “”. Add a nuget package source to that directory in Visual Studio to be able to install “BrilliantCut”. When the package source has been added in Visual Studio, the packages can be installed to your site by writing “install-package brilliantcut.widget” in the package manager console.

Apr 16, 2015


Quan Mai
Quan Mai Apr 16, 2015 12:11 PM

This is cool! Let's hope this will someday be part of Commerce code

Apr 16, 2015 03:08 PM

This is awesome, well done Jonas!

Adam Finzel
Adam Finzel Apr 16, 2015 09:34 PM

This looks very good.

Welcome Servicedesk
Welcome Servicedesk Jun 10, 2015 11:55 AM

Hi Jonas,

I am trying to install via Nuget but getting installations issue. Our website is on EPiServer.Commerce.Core 8.11.5. I am not sure how to proceed with this. Any Help?


install-package : Updating 'EPiServer.Commerce.Core 7.12.0' to 'EPiServer.Commerce.Core 8.9.0' failed. Unable to find a version of 'EPiServer.Commerce.UI' that is compatible with

'EPiServer.Commerce.Core 8.9.0'.

At line:1 char:1

+ install-package brilliantcut.widget

+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    + CategoryInfo          : NotSpecified: (:) [Install-Package], InvalidOperationException

    + FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PowerShell.Commands.InstallPackageCommand

Jul 15, 2015 07:08 AM

I installed on the latest build last week, and it worked. I hope it works for you now Khurram. 

David Elias
David Elias May 26, 2016 06:30 PM

I am curious if this is still working for people?  We are on CMS 9.8.3, Commerce 9.14, Find, and Find.Commerce 9.5.3.  Basically, We can install the NuGet Widgit, which installs the Core too.  I can add the BrilliantCut gadget and see the initial option buttons of No Filtering, Filter result list, etc.  When we add the Initialization Module as described in the video (pasted below), neither of the the facet items I added display.  Meaning, filters for Children and Descendents options don't display, nor does the text box.

using System;
using System.Linq;
using BrilliantCut.Core;
using BrilliantCut.Core.Filters.Implementations;
using BrilliantCut.Core.FilterSettings;
using EPiServer.Framework;
using EPiServer.Framework.Initialization;

namespace Polaris.CMS.Core.Initialization
public class BrilliantCutInitialization : IInitializableModule
public void Initialize(InitializationEngine context)
.Facet(new TextboxFilterSetting(50));

public void Uninitialize(InitializationEngine context)
//Add uninitialization logic

David Elias
David Elias May 26, 2016 06:31 PM

Oh, and yes we the have the catalog indexed.

Dec 8, 2016 08:43 AM

There is probably several things that needs to be worked on for the last versions of Commerce. I havn't had time to work on this for over a year, sorry for that.

Please login to comment.
Latest blogs
Optimizely SendGrid SMTP host is deprecated

SendGrid is a services for sending email that is included in Optimizely DXP. Previously was the recommended SMTP server to use,...

Tomas Hensrud Gulla | Dec 4, 2022 | Syndicated blog

Hosting Optimizely CMS 12 on Docker Engine

Since Optimizely CMS can now be deployed as a Docker container, here is a demonstration of building, running and scaling an Optimizely CMS 12 site ...

Stefan Holm Olsen | Dec 4, 2022 | Syndicated blog

How to use CacheTagHelper with content areas in Optimizely CMS 12

I might be going out on a limb here - if you have a better solution, feel very free to share it!  Upgrading your Optimizely web application from .N...

Andreas J | Dec 2, 2022

The 1001st Piece in your 1000 Piece Puzzle: .NET Default Interface Functions

I was recently working with a client who wanted a reasonably large subsystem added to Optimizely that would add automated management to their...

Greg J | Nov 28, 2022 | Syndicated blog