Wenn man die Anforderung bekommt, Informationen die über verschiedene Sites oder sogar verschiedene SiteCollections verteilt sind zentral an einem Ort zu Verfügung zu stellen, kann es schnell schwieriger werden, dies umzusetzen.
Innerhalb einer SiteCollection kann man ganz gut mit dem Content Query Webpart arbeiten, welches es erlaubt über verschiedene Sites hinweg mit entsprechenden Filtern, die man in den Webpart-Einstellungen konfiguriert, Abfragen zu gestalten, deren Ergebnis man dann über XSLT-Templates für die Ausgabe gestaltet. Was man aber gerade bei sehr großen SiteCollections bedenken muss ist die Tatsache, dass solche Abfragen natürlich gegen die Datenbank gehen und unter Umständen sehr unperformant werden können.
Das Content Query Webpart stößt aber an seine Grenzen wenn es darum geht über SiteCollections hinweg Informationen zu aggregieren. Die Klassiker hier sind z.B.
- Meine Ankündigungen –> zeige mir alle Ankündigungen über alle SiteCollections hinweg an einer Stelle
- Meine Aufgaben –> zeige mir alle Aufgaben über alle SiteCollections hinweg, die mir zugewiesen sind an einer Stelle
- Meine Teamsites –> …
- Alle zuletzt geänderten Dokumente –> …
Diese Liste könnte beliebig fortgesetzt werden. Gerade für den Endanwender sind solche Bereiche, in denen aggregiert die wichtigsten bzw. neuesten Informationen bereitgestellt werden eine enorme Erleichterung.
Stellt sich nun die Frage, wie man an diese Informationen kommt. Im Grund ganz einfach: Diese Informationen sind meist alle im Search-Index der Suche enthalten. Sind bestimmte Bereiche bzw. Listen von der Suche ausgeschlossen, sind diese hier außen vor.
Was oftmals nicht bekannt ist, dass es ein Standard-Webpart gibt, dass man dazu verwenden kann, diese Informationen aus dem Search-Index heraus darzustellen. Es handelt sich dabei um das Core Result Webpart. Dieses Webpart wird im SearchCenter dafür verwendet die Query, die über die Suchfeld angegeben wird auszuführen und die Ergebnisse dazustellen.
Nun kann man dieses Webpart auch so konfigurieren, dass es nicht auf Benutzereingaben reagiert, sondern mit fixen Querys arbeiten kann. In Kombination mit verschiedenen Search-Scopes und XSLT-Ergebnisdarstellung kann man ganz erstaunliche Ergebnisse erreichen.
Wie man dies im einzelnen konfiguriert (und damit ohne Programmierung auskommt), könnt ihr in meinem nächsten Teil des Artikels lesen.