Einer unserer Kunden hatte kürzlich Anforderungen an die Suchergebnisseite von SharePoint Teamsites, die über die Standardfunktionalität nicht abgedeckt werden können. Über die Suchergebnisseite möchte der Kunde seine Suchanfrage direkt auf die Personensuche oder die erweiterte Suche eines Search Centers durchreichen. Aus diesem Grund habe ich eine schlanke Lösung implementiert, die diese Anforderungen via Feature-Aktivierung ermöglicht.

Nach dem Aktivieren des Features wird ein neuer Menüpunkt unter den Websitessammlungs-Einststellungen hinzugefügt.

 

image

Über diesen zusätzlich Link ist eine eigenen Konfigurationsseite erreichbar, auf der die URL zu dem zugewiesenen Search Center angegeben werden kann.

image

Zusätzlich zu dieser neuen Konfigurationsseite  wird eine eigene Suchergebnisseite in das 14 Hive-Verzeichnis ausgerollt und für die jeweilige Websitesammlung registriert. Diese ist danach in den Sucheinstellungen einsehbar.

 image

Um diese erweiterte Suchergebnisseite in einem Feature Event Receiver zu registrieren, ist folgender Code erforderlich.

        public override void FeatureActivated(SPFeatureReceiverProperties properties)
        {
            SPSite site = properties.Feature.Parent as SPSite;

            if (site != null)
            {
                site.RootWeb.AllProperties["SRCH_TRAGET_RESULTS_PAGE"] = site.RootWeb.Url+"/_layouts/searchresults.aspx";

                //don't overwrite existing entry
                if (!site.RootWeb.AllProperties.ContainsKey("SRCH_CENTER_URL"))
                {
                    site.RootWeb.AllProperties["SRCH_CENTER_URL"] = http://<Search Center-URL>;
                }

                site.RootWeb.Update();
            }
        }


        public override void FeatureDeactivating(SPFeatureReceiverProperties properties)
        {

             SPSite site = properties.Feature.Parent as SPSite;

            if (site != null)
            {
                site.RootWeb.AllProperties["SRCH_TRAGET_RESULTS_PAGE"] = "/_layouts/OSSSearchResults.aspx";
                site.RootWeb.Update();
            }
        }

Durch das Registrieren der eigenen Suchergebnisseite wird nun diese beim Ausführen einer Suchanfrage aufgerufen. Die neue Suchergebnisseite hat in diesem Fall zusätzliche Reiter, die direkt auf die Teilbereiche des konfigurierten Such Center verweisen und die Suchkriterien dorthin durchreichen.

image

Diese schlanke Lösung beweist wiedermal, dass bereits minimale Erweiterungen einen großen Mehrwert ausmachen können.

1 Comments

  1. Pingback: Aus der Praxis – Suchseite bei Teamsites optimieren - SharePoint Blogs in German - Bamboo Nation

Leave a comment

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Time limit is exhausted. Please reload the CAPTCHA.