Integration Module Diagnostics

9/28/2012

Introduction

The SiteSeeker integration module can either be configured using the web.config, programmatically, or a combination of both.

When bootstrapping a web application for SiteSeeker integration, a lot happens behind the scenes. When the web application starts for the first time, the SiteSeeker bootstrapper reads and configures all the relevant settings, such as services and search indices.

When issues related to the integration module arise, it is often necessary to investigate the bootstrapper in order to understand and solve these problems.

Viewing the Diagnostics Page

As a first step towards troubleshooting the above mentioned issues, a diagnostics page has been made available. To be able to see what the bootstrapper has loaded and configured during the start-up of the web application, this diagnostics page can be viewed as follows:

http://<hostserver>/h.siteseeker?sht=8

Replace <hostserver> in the url with that of your web application and open it in your browser.

Diagnostics Page Layout

The diagnostics page is divided into 2 main sections:

  1. Global Settings
  2. Search Indices

Global Settings:

This section list all the settings that apply to all configured search indices.

  • Default Services - lists all default services and their corresponding implementations.

Search Indices:

This section list all the settings particular to each configured search index.

  • Each table bears the name of the search index for which it displays settings.
  • A [NULL] value means that the property was not set
  • A blank value means that the property was set to an empty string
  • For a setting that is a list, a comma separated list of values is shown, e.g. the ServiceOverrides setting.
  • ServiceOverrides - the contents of this list is displayed in the following format: [<ServiceInterface>:<Implementation>[, ...]]

Security

It is possible to set permissions to restrict access to the diagnostics page. This can be done in two ways:

  1. Web.config
  2. Programmatically

1. In the web.config, provide the following node:

<siteseeker>
    <components>
      <add name="diagnosticsPermissions" implementation="SiteSeeker.Diagnostics.DiagnosticsPermissions,SiteSeeker" service="SiteSeeker.Diagnostics.DiagnosticsPermissions,SiteSeeker">
        <parameters>
          <add name="EnableForRoles" value="Administrators"></add>
        </parameters>
      </add>
    </components>
</siteseeker>

The value is a pipe-delimited list of roles for which viewing permissions are granted. An example of a delimited list is: "Administrators|Employees|Management"

2. To programmatically configure diagnostics page permissions, do the following:

var cfg = new EPiServerSiteSeekerConfiguration(new SiteSeekerServiceOverride(typeof (DiagnosticsPermissions),typeof (DiagnosticsPermissions),new List<Parameter>(){Parameter.ForKey("enableForRoles").Eq("Administrators|Employees")}));

The same pipe-delimited format can be used to specify a list of roles.