EPiServer CMS Integration

2/5/2013

This article applies to version 4.2.57.1 and higher of the .Net Module.

The .Net Module now offers the following features in EPiServer CMS:

  • SiteSeeker Indexing Job (All versions of EPiServer)
  • SiteSeeker Shell Module (EPiServer version 6 and higher)
  • Hook-up to Publish and Moved events

SiteSeeker Indexing Job

This job can be configured to run at scheduled intervals, and it serves the following purpose:

  • Collect all pages that have been published or unpublished since the last successfull job.
  • Notify SiteSeeker of these pages so that they could be indexed or removed from the index.

The job can be found in the EPiServer CMS Admin Mode Admin tab under the Scheduled Jobs heading.

It is available for all versions of EPiServer 5.2 and higher.

SiteSeeker Shell Module

The new SiteSeeker Shell Module is only available for EPiServer version 6 and higher. For EPiServer 5.2, this functionality is available in EPiServer CMS, Edit Mode under the SiteSeeker tab.

For EPiServer 6, this functionality has now been moved to a menu item in the EPiServer Dashboard called SiteSeeker. The location of this menu item applies to EPiServer 7 as well.

The SiteSeeker shell module provides a list of search indices, with links to their respective statistics, diagnostics and log pages.

The log view shows the current active log file for a specific search index. The file name indicates which log is being viewed. Any inactive log files can be accessed on the file system of the web server.

Hook-up to Published and Moved Events

The initialization module hooks up to the Published and Moved events in EPiServer. This means that whenever a page is published or moved within EPiServer CMS, SiteSeeker will be notified to index or remove that particular page.

Note that if the page is scheduled to be published in the future, the event handler will ignore the publish event. For this scenario, the SiteSeeker Indexing Job will pick up this page in the future and then notify SiteSeeker.

Enabling Notifications

Notifications can be configured per search index in either the web.config, or in code.

Web.config approach:

Add enableNotifications attribute and set the value to either true or false

<add name="exampleSearchIndex" displayName="Knowledgebase index" url="http://siteseeker-knowledgebase.siteseeker.se/ws/siteseeker-knowledgebase/" userName="ws" password="gnus5/dopier" enableNotifications="true" />


Code approach:

var cfg = new SiteSeekerSearchIndexConfiguration() {EnableNotifications = true};


By default notifications for a search index is disabled if enableNotifications is not set.

This setting applies to both the SiteSeeker Indexing Job as well as the publish event notification. Both these honour this setting.

Advanced Notification Configuration

In scenarios where you need specialized control over when Notifications should happen, it is possible to override the EPiServerNotificationSelector service.

Each configured search index has an EPiServerNotificationManager that uses a NotificationSelector<T> to determine if the search client, as represented by the search index, should be notified about the object T.

    public class EPiServerNotificationSelector: NotificationSelector<PageData>
    {
        public override bool AcceptsNotifications(PageData data)
        {
            return data != null && !string.IsNullOrEmpty(data.LinkURL);
        }
    }