Jonas Bergqvist
Optimizely
Apr 16, 2015
visibility 5934
star star star star star
(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: http://www.youtube.com/watch?v=vNMtr6gCkIg

Github

The code is open source and can be found at http://github.com/jonasbergqvist/brilliantcut. More information about the project will be found at that page.

Installation

The nuget packages is located at “http://nuget.jobe.employee.episerver.com/”. 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

Comments

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.

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?

Regards
Khurram

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 11.1.5.4342, 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
{
[InitializableModule]
[ModuleDependency(typeof(EPiServer.Web.InitializationModule))]
public class BrilliantCutInitialization : IInitializableModule
{
public void Initialize(InitializationEngine context)
{
context.Locate.Advanced.GetInstance()
.Facet()
.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.

error Please login to comment.
Latest blogs
Surviving a Dirty Feed. Part 3: Error Handling and Event Batching

Committing a 250,000-row Optimizely catalog import row by row, returning a per-row failure report, and coalescing catalog events into one per batch.

Stanisław Szołkowski | Oct 16, 2026 |

Building UI Extensions for Optimizely SaaS CMS

Introduction Developers have been extending the functionality of Optimizely PaaS CMS for years using addons built in C# and deployed as NuGet...

Mark Stott | Oct 15, 2026

Cheapskate AI Translator: Because Translation Should Not Require a Second Mortgage

There is a particular kind of software project that begins with a detailed architecture document, a product roadmap, and a carefully assembled...

Linh Doan Cuu | Oct 15, 2026

Computed Fields in CMS 13 Content Contracts with Optimizely Graph

Content Contracts in Optimizely CMS 13 allow different content types to share a common structure when querying Optimizely Graph. But what if the...

Mardy | Oct 14, 2026