SaaS CMS has officially launched! Learn more now.

Henrik Fransas
May 14, 2015
(2 votes)

Adding EPiServer Find to Alloy - Part 1

In this blog series, I will show you step-by-step how to add EPiServer Find to a project and how to use it and the most functions in it.

Part 1 - Installing EPiServer Find

Adding EPiServer Find, add the EPiServer.Find.Cms nuget package. The simplest way to do this is to run the following command from the Package Manager Console: Install-Package EPiServer.Find.Cms. This command installs two other packages on which that package depends, EPiServer.Find and EPiServer.Find.Framework. So, that command, installs all three packages. When running that command, you might get the message below. If you do, save everything, unload, then load the project again (or restart Visual Studio).


When you try to run the site, you get at least one error. The first time I ran it, I got this error: Cannot add duplicate collection entry of type 'add' with unique key attribute 'name' set to 'ExtensionlessUrlHandler-Integrated-4.0'. This is because one of the Nuget packages adds a handler that already exists in web.config and that does not like IIS. To fix, open web.config, search for ExtensionlessUrlHandler-Integrated-4.0, and remove one of the handlers (I saved the one with verb *).

You also get this error: The serviceUrl cannot be empty. You get this because, when adding the Nuget package, Find did not add a link to your index. So, go to this address and sign up with a UserName, email and password. You do not need to be a EPiServer partner or similar to sign up - it is open to everyone. After you are done, sign in (if you are not already logged in). Hint: On this site, use your username to sign in, compared to EpiServer World, for example, where your username and signin are your email address.

After you log in, click Add Developer Services. Name your index, select languages for which you want to be able to use linguistics, accept the terms, then click Create Service. Next, a page of information about the index appears. After a few minutes, press F5, and the page looks something like this:
index details

Now, copy the section-part from the black textbox and add it to your web.config file, inside the configsections-element. After that, add the element episerver.find to your web.config, placing it for example directly after </configSections>. Save the web.config, and your site should be up and running.

Once the site is running, inspect what Find indexes out of the box. To do that, start the site again, go into admin-mode, and run the scheduled task EPiServer Find Content Indexing Job. When that is ready, navigate to EPiServer Find and the Overview tab. (You get there from the top-menu inside edit or admin in EPiServer.)

That view displays what was indexed: all content, blocks, media files, container pages, pages, and even trash. This is not what you want. Part 2 shows how to determine what gets indexed.

May 14, 2015


Please login to comment.
Latest blogs
Optimizely SaaS CMS Concepts and Terminologies

Whether you're a new user of Optimizely CMS or a veteran who have been through the evolution of it, the SaaS CMS is bringing some new concepts and...

Patrick Lam | Jul 15, 2024

How to have a link plugin with extra link id attribute in TinyMce

Introduce Optimizely CMS Editing is using TinyMce for editing rich-text content. We need to use this control a lot in CMS site for kind of WYSWYG...

Binh Nguyen Thi | Jul 13, 2024

Create your first demo site with Optimizely SaaS/Visual Builder

Hello everyone, We are very excited about the launch of our SaaS CMS and the new Visual Builder that comes with it. Since it is the first time you'...

Patrick Lam | Jul 11, 2024

Integrate a CMP workflow step with CMS

As you might know Optimizely has an integration where you can create and edit pages in the CMS directly from the CMP. One of the benefits of this i...

Marcus Hoffmann | Jul 10, 2024

GetNextSegment with empty Remaining causing fuzzes

Optimizely CMS offers you to create partial routers. This concept allows you display content differently depending on the routed content in the URL...

David Drouin-Prince | Jul 8, 2024 | Syndicated blog

Product Listing Page - using Graph

Optimizely Graph makes it possible to query your data in an advanced way, by using GraphQL. Querying data, using facets and search phrases, is very...

Jonas Bergqvist | Jul 5, 2024