COMPAREX AG
SharePoint Bordmittel – Ich, gefilterte WebParts und Paging (Header)

SharePoint Bordmittel – Ich, gefilterte WebParts und Paging

Theorie und Praxis liegen immer etwas auseinander. In der IT und auch im SharePoint trifft dies besonders zu. So stößt man immer wieder auf Eigenheiten, die so nicht zu erklären sind. Lesen Sie im folgenden Beitrag, wie Sie schnell und effektiv Filterfunktionen in SharePoint erstellen.

Ein Blogbeitrag von Henrik Krumbholz, Senior Consultant

Ausgangspunkt/Anforderung

Im Intranet des SharePoints soll auf der Startseite eine gefilterte Sicht der verfügbaren Autokonfigurationen des Unternehmens dargestellt werden. Wenn ich mich also für die Marke AUDI als Firmenwagen interessiere, möchte ich alle zur Konfiguration stehenden Fahrzeuge sehen können. Dabei kann sich zur Vereinfachung jeder Mitarbeiter jedes Fahrzeug konfigurieren. Ich simplifiziere das Beispiel etwas, um den Sachverhalt besser darstellen zu können, aber natürlich freut sich nicht nur der CEO, wenn er sich einen A8 konfigurieren kann.

Umsetzungsidee

Was ist die erste Idee, die vermutlich jeder SharePoint-Consultant hat? Richtig. Zwei Listen, eine Nachschlagespalte und ein Filter dazwischen. Wie dieser Filter schlussendlich implementiert wird, sei erstmal dahingestellt.

Umsetzung

Von der Grundidee der Listen nicht abweichend, gibt es für den Anwendungsfall also die Listen „Fahrzeughersteller“ und „Fahrzeuge“. Die Liste der Fahrzeughersteller enthält so ruhmreiche Namen wie Toyota, Opel, Ford, BMW und andere – eben ganz überraschend Fahrzeughersteller, ohne auf die vorurteilsbehafteten Eigenheiten und Rivalitäten einzugehen. Sonst befindet sich in der Liste nichts.


Abbildung 1: Test Tenant im Office 365 (SharePoint Online) der COMPAREX AG. Gilt auch für SharePoint 2013 und SharePoint 2016.

Abbildung 1: Test Tenant im Office 365 (SharePoint Online) der COMPAREX AG. Gilt auch für SharePoint 2013 und SharePoint 2016.

Die zweite Liste der Fahrzeuge bekommt eine Nachschlagespalte verpasst, die auf die Liste der Hersteller verweist.

 Abbildung 2: Test Tenant im Office 365 (SharePoint Online) der COMPAREX AG. Gilt auch für SharePoint 2013 und SharePoint 2016.
Abbildung 2: Test Tenant im Office 365 (SharePoint Online) der COMPAREX AG. Gilt auch für SharePoint 2013 und SharePoint 2016.

In der Liste sieht es dann wie folgt aus.

Abbildung 3: Test Tenant im Office 365 (SharePoint Online) der COMPAREX AG. Gilt auch für SharePoint 2013 und SharePoint 2016. 
Abbildung 3: Test Tenant im Office 365 (SharePoint Online) der COMPAREX AG. Gilt auch für SharePoint 2013 und SharePoint 2016.

So far so good. Nun bietet SharePoint einige Filtermöglichkeiten, die man out of the box verwenden kann, um oben genannte Anforderungen umzusetzen. Probieren wir uns daran.

Dazu lege ich mir eine Seite an und platziere zwei Listen-WebParts – eines mit den Herstellern und eines mit den Fahrzeugen. Ich baue noch ein Paging ein, damit die Mitarbeiter nicht gleich an Reizüberflutung untergehen.

Abbildung 4: Test Tenant im Office 365 (SharePoint Online) der COMPAREX AG. Gilt auch für SharePoint 2013 und SharePoint 2016. 
Abbildung 4: Test Tenant im Office 365 (SharePoint Online) der COMPAREX AG. Gilt auch für SharePoint 2013 und SharePoint 2016.

Jetzt wird es spannend. Die erste Hürde, die es zu überwinden gilt, ist das Auffinden der Einstellungen für den Filter. Das ist nämlich gar nicht so intuitiv, wie man es sonst von SharePoint gewöhnt ist. Dazu geht man auf die eben angelegte Seite und setzt die Seite in den Bearbeitungsmodus. Wer nun vermutet, dass man über das DropDown am WebPart die Möglichkeit hat, Filter einzustellen, liegt leider falsch. Erst wenn ich mir die WebPart-Eigenschaften einblende, kann ich über das DropDown auch die Verbindungen (und damit Filter) einstellen – lustigerweise dann auch für alle WebParts auf der Seite, egal welche WebPart-Eigenschaften ich gewählt habe.

Über das DropDown wähle ich nun also den Eintrag Connections und habe die im Bild erkenntlichen Möglichkeiten. Mit „Get Filter Values From“ komme ich vermutlich an mein Ziel. Dort kann ich den WebPart der Hersteller auswählen.
 

Abbildung 5: Test Tenant im Office 365 (SharePoint Online) der COMPAREX AG. Gilt auch für SharePoint 2013 und SharePoint 2016.
Abbildung 5: Test Tenant im Office 365 (SharePoint Online) der COMPAREX AG. Gilt auch für SharePoint 2013 und SharePoint 2016.

Nun wird es wieder interessant. Wenn man jetzt die Connection entsprechend auswählt, passiert bei mir und bei den meisten von Ihnen nichts. Wenn man nicht genau hinschaut oder den IE benutzt, erkennt man nicht, was gerade passiert ist. Die zweite Hürde ist nämlich, zu erkennen, dass der PopUp-Blocker des Browsers zugeschlagen hat.

Abbildung 6: Test Tenant im Office 365 (SharePoint Online) der COMPAREX AG. Gilt auch für SharePoint 2013 und SharePoint 2016. 
Abbildung 6: Test Tenant im Office 365 (SharePoint Online) der COMPAREX AG. Gilt auch für SharePoint 2013 und SharePoint 2016.

Ja, Microsoft hat hier ein PopUp eingebaut und das sogar in Office 365 (wo die Demo stattfindet). Besser gesagt: Microsoft hat die Implementierung seit mindestens SharePoint 2010 (vermutlich sogar 2007, aber daran kann und will ich mich nicht mehr erinnern) nicht erneuert.

Dementsprechend also das PopUp erlauben und das Obige nochmal durchlaufen. Nun sollte folgendes PopUp erscheinen.

Abbildung 7: Test Tenant im Office 365 (SharePoint Online) der COMPAREX AG. Gilt auch für SharePoint 2013 und SharePoint 2016. 
Abbildung 7: Test Tenant im Office 365 (SharePoint Online) der COMPAREX AG. Gilt auch für SharePoint 2013 und SharePoint 2016.

Wir stellen jetzt das ein, was wir im Prinzip schon bei der Nachschlagespalte eingestellt haben. Der „Provider Field Name“ ist die Quelle, in unserem Fall also „Title“ der Liste Fahrzeughersteller, und der „Consumer Field Name“ ist das Ziel, das gefiltert werden soll und in unserem Fall die Nachschlagespalte „Hersteller“ der Liste Fahrzeuge ist.

Abbildung 8: Test Tenant im Office 365 (SharePoint Online) der COMPAREX AG. Gilt auch für SharePoint 2013 und SharePoint 2016. 
Abbildung 8: Test Tenant im Office 365 (SharePoint Online) der COMPAREX AG. Gilt auch für SharePoint 2013 und SharePoint 2016.

Mit „Finish“ ist Hürde zwei gemeistert.

Nun ist der begeisterte Leser, der es bis hierhin ausgehalten hat, geneigt zu sagen, dass damit die Anforderung erfüllt sei. Das ist so auch korrekt, denn schlussendlich sieht es wie folgt aus und funktioniert auch fehlerfrei – in den meisten Fällen.

Abbildung 9: Test Tenant im Office 365 (SharePoint Online) der COMPAREX AG. Gilt auch für SharePoint 2013 und SharePoint 2016. 
Abbildung 9: Test Tenant im Office 365 (SharePoint Online) der COMPAREX AG. Gilt auch für SharePoint 2013 und SharePoint 2016.

SharePoint wäre nicht SharePoint, wenn es nicht noch so kleine Feinheiten gäbe, die dann nicht doch noch ärgerlich sind und das vermeintliche Einfache etwas schwieriger machen.

Level 2

Es gibt Mitarbeiter des Unternehmens, die relativ abgeklärt sagen: „Die großen Drei der Automobilbranche AUDI, BMW und Fiat interessieren mich nicht, auch wenn sie gleich als Erstes angezeigt werden. Ich fahre seit Jahren Renault.“ Pauschal sagt man dann: „Ja gerne, bitte Paging benutzen und den entsprechenden Hersteller auswählen.“ Diese vermeintlich einfache und logische Antwort ist leider falsch.

Denn wie es der Zufall (oder ich als Admin) so will, ist das Paging auf drei Einträge pro Seite eingestellt. Damit haben wir auf Seite drei die Einträge sieben bis neun und Renault an erster Stelle. In dem Nutzerszenario passiert also Folgendes:

  1. Renaulttreuer Mitarbeiter navigiert im Browser zur Übersicht der Fahrzeuge.
  2. Mitarbeiter navigiert innerhalb der Fahrzeughersteller direkt auf Seite 3 und möchte Renault auswählen.
  3. Er kann es nicht.

Der Grund, warum er es nicht kann, ist, dass Renault schon ausgewählt ist. „Fancy, SharePoint aktualisiert das direkt.“, möchte man meinen, ist aber leider nicht so. Die Ansicht, die der Mitarbeiter erhält, sieht wie folgt aus:

Abbildung 10: Test Tenant im Office 365 (SharePoint Online) der COMPAREX AG. Gilt auch für SharePoint 2013 und SharePoint 2016. 
Abbildung 10: Test Tenant im Office 365 (SharePoint Online) der COMPAREX AG. Gilt auch für SharePoint 2013 und SharePoint 2016.

Und siehe da. Insofern Renault nicht neue Linien mit dem Namen A4, A5, A6, A7 und A8 herausgebracht hat oder die Datenpflege durch die Administratoren falsch gegangen ist, haben wir hier Hürde Nummer drei. Es hilft übrigens auch nicht auf den Namen „Renault“ zu klicken. Dort kommt man lediglich in die Eigenschaften des Listeneintrags. Man muss schon auf den Pfeil klicken, was übrigens nicht geht, weil dieser ja ausgewählt ist.

Ich darf die Überraschung vorwegnehmen: Es gibt keine (mir bekannte) Lösung, die das Problem grundsätzlich löst, außer der Behebung des Fehlers im Quellcode.

Das Warten auf die Behebung des Fehlers durch Microsoft und das selbstständige Abändern im Quellcode sind keine Option. Unabhängig davon, dass man die korrekte Stelle im Quellcode (ASP.NET, CodeBehind oder doch HTML?) finden müsste. Wir suchen also nach Workarounds.

Netterweise filtert SharePoint relativ häufig über die Adresszeile des Browsers. So auch in diesem Fall. Wenn man sich die Parameter anschaut, erkennt man folgende Werte:

Parameter

Beispielwert

View

%7B20D71E0B-3102-48B0-9B55-90699ABB726D%7D

SelectedID

2

InitialTabId

Ribbon%2ERead&VisibilityContext=WSSTabPersistence#InplviewHashc9a7fcc8-7472-4441-ac58-b1c30b6bf97d=

 

Abbildung 11: Test Tenant im Office 365 (SharePoint Online) der COMPAREX AG. Gilt auch für SharePoint 2013 und SharePoint 2016.Abbildung 11: Test Tenant im Office 365 (SharePoint Online) der COMPAREX AG. Gilt auch für SharePoint 2013 und SharePoint 2016.

Dort ist auch ein Parameter mit SelectedID hinterlegt. Dieser beschreibt den Wert, der ausgewählt wurde. Die View ist die View des WebParts. InitialTabId ist vernachlässigbar.

Wenn man sich nun die Adresse mit obigen Parameter hernimmt und so anpasst, dass der Parameter InitialTabId rausfliegt, View so bestehen bleibt und SelectedID die eins ist, erhält man genau die gleiche Startseite, wie wenn es ohne Parameter aufgerufen würde, mit der Ausnahme, dass der renaulttreue Mitarbeiter jetzt direkt filtern kann.

Abbildung 12: Test Tenant im Office 365 (SharePoint Online) der COMPAREX AG. Gilt auch für SharePoint 2013 und SharePoint 2016. 
Abbildung 12: Test Tenant im Office 365 (SharePoint Online) der COMPAREX AG. Gilt auch für SharePoint 2013 und SharePoint 2016.

Zwar sind die Fahrzeuge noch nicht passend, aber der Mitarbeiter kann nun Renault auswählen und erhält die entsprechenden Fahrzeuge.

Die URL sieht dann so aus:
Abbildung 13: Test Tenant im Office 365 (SharePoint Online) der COMPAREX AG. Gilt auch für SharePoint 2013 und SharePoint 2016. Abbildung 13: Test Tenant im Office 365 (SharePoint Online) der COMPAREX AG. Gilt auch für SharePoint 2013 und SharePoint 2016.

Die Aufgabe besteht nun darin, die Links auf diese Seite auf die neue URL abzuändern. Zu beachten ist, dass SelectedID auf die ID in der Liste verweist, die die Filterwerte bereitstellt. Wenn es dort die ID 1 nicht mehr gibt, muss eine andere genommen werden. Heißt in unserem Beispiel: Wenn wir AUDI nicht mehr als Hersteller im Unternehmen anbieten, funktioniert der Workaround nicht mehr, weil AUDI die ID 1 hat und gelöscht wurde. Ich muss also auf die 2 gehen.

Fazit

Die Filtermechanismen sind solide, funktionieren grundsätzlich fehlerfrei und sind einfach eingerichtet, wenn man Hürde eins und zwei übersteht. Damit hat man ein relativ schnell zu konfigurierendes und mächtiges Mittel, um Inhalte schnell und gefiltert an den Mann oder die Frau zu bringen. Natürlich ist der Workaround einer, der nicht in allen Lebenslagen helfen wird, aber so lange keine Lösung besteht, kommt man damit doch schon recht weit.

Sie wünschen sich weitere Informationen?

Sie wollen noch mehr über SharePoint, Office 365 oder den modernen Arbeitsplatz erfahren und den Wandel in Ihrem Unternehmen voranbringen? Dann besuchen Sie uns auf dem COMPAREX Modern Workplace Summit! Jetzt kostenfrei teilnehmen.

Alle Informationen zum Modern Workplace Summit

Diesen Artikel teilen

Artikel vom:
07.08.2018

geschrieben von:

TAGS:
How-to, SharePoint

Thema:

Kommentieren sie diesen Artikel...

© COMPAREX AG
Zurück nach oben