SP2010 – Aus der Praxis: Suchbasiertes Websiteverzeichniss
avatar

Für die Navigation in einer SharePoint-Farm mit einer Vielzahl von Websites in verschiedenen Websitesammlungen hält SharePoint leider kein geeignetes WebPart bereit. Doch bereits mit wenig Aufwand kann ein einfaches alphabetisches Verzeichnis auf Basis des Search Core Result WebParts realisiert werden.

Die Lösung besteht aus einer Seite mit einem Inhaltseditor-WebPart, in dem die Anfangsbuchstaben der Website-Titel aufgeführt sind. Die Buchstaben sind mit einer gemeinsame Ergebnisseite verlinkt und übergeben als URL-Parameter eine Fixed Keyword Query. Die Ergebnisseite zeigt alle Websites eines Suchbereichs an, deren Anfangsbuchstabe des Website-Titels dem angeklickten Buchstaben entspricht.

clip_image001

Auf der Ergebnisseite ist ein Core Search Result WebPart für die Trefferanzeige verantwortlich. Dieses wertet die Parameter a (Fixed Keyword) und s (Suchbereich) aus (siehe MSDN), grenzt die Ergebnismenge auf Inhalte mit der contentclass „STS_Site“ oder „STS_Web“ ein und stellt über eine angepasste XSL-Transformation die Treffer sortiertet dar.

clip_image002

Der Aufruf der Ergebnisseite erfolgt in meinem Beispiel wie folgt:

http://localhost/sites/SiteDir/SitePages/sitedir-result.aspx?a=title:a&s:customers

Die Suchparamter begrenzen die Suche auf Elemente, deren Titel mit dem Anfangsbuchstaben a beginnen und in dem Suchbereich „Customers“ enthalten sind.

  • Im WebPart wird die Fixed Keyword Query um einen weiteren Parameter erweitert, so dass nur Sites zurückgegeben werden.

clip_image003

  • Weiter werden im Search Core WebPart die Werte für die maximale Anzahl der Ergebnisse pro Seite (höchster zulässiger Wert ist 50) und die Zeichenlänge der Zusammenfassung angepasst. Durch die Begrenzung der Länge auf 1 wird keine Zusammenfassung angezeigt.

clip_image004

  • Als letzter Schritt muss noch die XSL-Transformation so angepasst werden, dass die Suchergebnisse einer Ergebnisseite sortiert ausgegeben werden.
    Hierzu wird die Zeile

    <xsl:apply-templates />

    durch den folgenden Block ersetzt

    <xsl:apply-templates select=“All_Results/Result“> 
        <xsl:sort select=“title“ /> 
    </xsl:apply-templates>

Solange die Websitesanzahl pro Buchstabe kleiner als 50 ist, kann der hier aufgezeigte Ansatz uneingeschränkt verwendet werden. Bei größeren Treffermengen kann durch das Hinzufügen eines Paging-WebParts der Zugriff auf alle Ergebnisse bereitgestellt werden, die Sortierung der Treffer erfolgt jedoch immer nur seitenweise.

Ein Gedanke zu “SP2010 – Aus der Praxis: Suchbasiertes Websiteverzeichniss
avatar

  1. Pingback: SP2010 – Aus der Praxis: Suchbasiertes Websiteverzeichniss - SharePoint Blogs in German - Bamboo Nation

Schreibe einen Kommentar