Aus der Praxis: Filtern von Listeneinträgen anhand von Gruppenmitgliedschaften


Fast in jedem Projekt taucht die Fragestellung auf, ob es möglich ist Listeinträge in Abhängigkeit des angemeldeten Benutzers und/oder einer Gruppenmitgliedschaft zu filtern.

Allgemein bekannt ist die Möglichkeit eine Listenansicht in Abhängigkeit des angemeldeten Benutzers zu filtern.

Anders verhält es sich mit einer Filterung auf Basis von Gruppenmitgliedschaften. Eine Konfiguration über die SharePoint-Oberfläche ist leider nicht möglich. Hier helfen nur SharePoint Designer oder Visual Studio weiter.

SharePoint verwendet den hier beschreiben Ansatz selber und zwar in der Ansicht “Nach meinen Gruppen” der Aufgabenliste.

Öffnet man die Ansicht “Nach meinen Gruppen”  (MyGrTsks.aspx) im SharePoint Designer ist am Begin des Abschnittes  <XmlDefinition> die folgende CAML-Abfrage zu finden:

<Query>
<Where>
      <Membership Type="CurrentUserGroups">
<FieldRef Name="AssignedTo"/>
</Membership>
  </Where>      
<GroupBy Collapse="FALSE">
<FieldRef Name="AssignedTo"/>
</GroupBy>
<OrderBy>
<FieldRef Name="AssignedTo"/>
<FieldRef Name="Status"/>
<FieldRef Name="Priority"/>
</OrderBy>
</Query>

In dem gelb markierten Abschnitt wir festgelegt, dass nur die Aufgaben angezeigt werden, bei denen sich die Gruppenmitgliedschaften des aktuellen Benutzers mit denen im Feld “AssignedTo” festgelegten überschneiden.

Mit diesem Ansatz ist die Filterung jeder beliebigen SharePoint-Liste möglich.

Das schöne ist, dass eine Anpassung der CAML-Abfrage nicht zu einer Trennung von der Websitedefinition führt, die Seite also “ghosted” bleibt.

 
Bild von Uwe Mächting (ehemaliger Mitarbeiter)
Uwe Mächting (ehemaliger Mitarbeiter) Diese Person ist nicht mehr bei HanseVision tätig. Alle Artikel des Autors

Ähnliche Blog-Artikel

Mit unserem HanseVision Update sind Sie immer gut informiert über alle Themen rund um moderne Zusammenarbeit, kluge Köpfe, Lösungen und Tools, Referenzen und Aktionen.

Jetzt zum Newsletter anmelden
Updates & Aktionen
Versand alle 4-6 Wochen
Trends & aktuelle Entwicklungen