Eine immer wiederkehrende Anforderung in unseren Projekten ist die Umsetzung eines Abteilungsadressbuches auf Basis der im „User Profil Service“ hinterlegten Attribute.

SharePoint stellt für diese Anforderung keinen eigenen Listentyp bereit, der einen direkten Zugriff auf die UserProfiles ermöglicht. Ein Umweg über die PeopleSearch führt jedoch zum Ziel.

Folgende Schritte sind hierzu erforderlich:

  • Einfügen eines People Search Core Results WebParts
  • Filterung des WebParts auf die Mitarbeiter der Abteilung.
  • Anpassung der Ergebnis-Formatierung , so dass die gewünschten Attribute in Listenform dargestellt werden

Das WebPart People Search Core Results wird in der WebPartzone platziert …

clip_image001

… und mit einer Fixed Keyword Query konfiguriert, so dass nur Mitglieder der gewünschten Abteilung angezeigt werden (z.B. Department:“Project Management“).

clip_image002

Das Resultat der Fixed Keyword Query hat nun noch das Format einer typischen Suchergebnisseite …

clip_image003

… und muss nun noch durch eine Anpassung der XSL-Transformation in die gewünschte Listenform gebracht werden.

Dieser Schritt kann unter Zuhilfenahme des SharePoint Designer umgesetzt werden.

  • Hierzu werden die XML-Daten des Suchergebnisses benötigt
  • Die XML-Daten werden im SharePoint Designer als Datenquelle eingebunden.
  • Auf Basis der Daten wird ein DataFormWebPart erstellt und formatiert (Spaltenauswahl, Sortierung, Gruppierung, Pageing).
  • Der vom SharePoint Designer erzeugte XSL-Code kann nun zur Formatierung des People Search Core Results verwendet werden.

Die Schritte im Detail:

  • Um die XML-Rohdaten des Suchergebnisses zu erhalten, muss die XSL-Transformation des Search Core Results WebPart durch den folgenden Code ausgetauscht werden. Wichtig ist hierbei, dass die Option „Use Location Visualization“ deaktiviert ist. Ansonsten ist eine Bearbeitung des XSLT nicht möglich.

clip_image004

<xsl:stylesheet version=“1.0″
xmlns:xsl=“http://www.w3.org/1999/XSL/Transform“>
<xsl:output method=“xml“ version=“1.0″ encoding=“UTF-8″ indent=“yes“/>
<xsl:template match=“/“>
<xmp><xsl:copy-of select=“*“/></xmp>
</xsl:template>
</xsl:stylesheet>

Das Suchergebnis wird nun als XML-Rohdaten angezeigt.

<All_Results>
<Result>
<id>1</id>
<workid>45</workid>
<userprofile_guid>d1dd8a48-f4a8-412f-9a71-8b5912fa4100</userprofile_guid>
<accountname>contoso\aylak</accountname>
<preferredname>Ayla Kol</preferredname>
<yomidisplayname></yomidisplayname>
<jobtitle>Project Manager</jobtitle>
<department>Project Management</department>
<workphone>(206) 555-3448</workphone>
<officenumber>Seattle, WA</officenumber>
<pictureurl>http://intranet.contoso.com/my/User Photos/ProfilePictures/contoso_aylak_MThumb.jpg</pictureurl>
<hierarchyurl>http://intranet.contoso.com/my/OrganizationView.aspx?ProfileType=User&amp;accountname=contoso%5Caylak</hierarchyurl>
<workemail>aylak@contoso.com</workemail>
<url>http://intranet.contoso.com/my/Person.aspx?accountname=contoso\aylak</url>
……
</All_Results>

Das komplette Suchergebnis inklusiver des umschließenden Tags <All_Results> … </All_Results>wird in einen Texteditor kopiert und als Datei searchresult.xml abgespeichert.

  • Im SharePoint Designer wird nun die Site in der das Adressbuch dargestellt werden soll geöffnet und die erstellte XML-Datei als Datenquelle importiert.

clip_image005

  • Nun kann das DataForm WebPart in eine WebPart-Zone eingefügt werden, wobei die vorausgewählten Spalten noch wenig sinnvoll sind.

clip_image006

Spaltenauswahl, Sortierung , Gruppierung und Pageing können nun den eigenen Vorstellungen angepasst werden.

clip_image007

clip_image008

Der Trick besteht nun darin, das soeben durch den SharePoint Designer erstellte XSL-Template in den XSL Editor des PeopleSearch Core Result WebParts zu kopieren. Am einfachsten macht man einen Rechtslick auf die Zeile mit <xsl:stylesheet …> und wählt in Kontextmenu „Select Tag“ aus.

<xsl:stylesheet ….>
…..
</xsl:stylesheet>

Die neue Suchergebnisseite für das Department „Projekt Management“ sieht nun wie folgt aus:

image

Generell kann dieses Vorgehen immer dann angewendet werden, wenn suchbasierte Datenquellen in Listenform dargestellt werden soll. Auch wenn der SharePoint Designer kein vollwertiger XSL-Editor ist, leistet er in solchen Szenarien sehr gute Dienste.

1 Comments

  1. Pingback: Aus der Praxis: Abteilungsadressbuch auf Basis der People-Search - 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.