Office 365: SharePoint-Anwendungsfälle

Suchgetriebene Abfrage von ungenehmigten Verträgen

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Nicht genehmigte Verträge bedürfen einer nachträglichen Bearbeitung. Wie Sie diese automatisch erkennen, verrät dieser Film.

Transkript

Die zweite suchgetriebene Abfrage, die wir hier verwenden, ist die Übersicht der nicht freigegebenen Verträge. Wie diese zusammengesetzt ist, schauen wir uns als nächstes an. Wir sehen hier eine Auflistung von Suchtreffern, die sich auf Dokumentenmappen bezieht und uns mit einer Information versorgt, ob diese Dokumentenmappe, also der logische Vertrag, bereits freigegeben ist oder nicht. In dem Fall ist es nicht der Fall, weil nämlich die Treffer in unserem Scope für nicht freigegebene Verträge hängengeblieben sind. Wenn wir uns etwa die Eigenschaften dieser Dokumentenmappe anschauen, können wir sehen: Der Genehmigungsstatus für die Dokumentenmappe steht auf ausstehend. Also noch nicht freigegeben. Um diese Information zusammenzuziehen, müssen wir folgendes tun. Zunächst einmal müssen wir natürlich eine Suchergebnisquelle definieren. die uns einen Scope auf den Datenbestand liefert. Wir haben also hier unsere Suchergebnisquellen und suchen uns dann die von mir bereits vorbereitete Suchergebnisquelle für nicht genehmigte Verträge heraus. Hier können wir's sehen. Die ungenehmigten Verträge. Ich editiere das Ganze mal, um dann das entsprechende Formular zu laden. Die Bezeichnung ist trivial, alles andere ist am Standard gehalten. Interessant ist hier die Abfrage, die im Abfragegenerator sichtbar wird. Wir haben hier jetzt eine logische ODER-Abfrage. Wir wollen also die Leasing-Verträge, die Mietverträge, die Rahmenverträge und die Dienstleistungsverträge mit einbeziehen. Das machen wir über die Abfrage des Content Type. Anschließend haben wir über eine UND-Verknüpfung die managed Property RefinableString07 als Kriterium mit einbezogen. Zunächst einmal schauen wir uns an, was sich dahinter verbirgt. Das machen wir über das Suchschema, was ich als nächstes aufmache. Ich suche nach RefinableString07. Und wir sehen, dass diese managed Property verbunden ist ows_ModerationStatus. Diese crawled Property enthält und übergibt den Genehmigungsstatus. Sprich: ausstehend, genehmigt oder abgelehnt. Die crawled Property ows_ModerationStatus ist intuitiv nicht dem Genehmigungsstatus einer Dokumentenmappe beziehungsweise eines Dokuments generell zuzuordnen. Das heißt, zunächst einmal müssen wir den Wert übergeben, indem wir eine Verknüpfung vornehmen von einer managed Property zu einer crawled Property. Als nächstes haben wir das Ganze nachvollziehen können und wenn uns nun wieder unserer Suchergebnisquelle zu. Hier haben wir das Kriterium RefinableString07. Also dieser hier. Dahinter verbirgt sich der Genehmigungsstatus. Größer/kleiner Null. Das steht in dem Fall in der Keyword Query Language innerhalb dieser Abfragesyntax für ein "ist nicht gleich". Das heißt, wir möchten sämtliche Suchtreffer hier mit drinhaben, wo der Genehmigungsstatus ungleich Null ist. Jetzt werden Sie sich vielleicht fragen, warum steht hier eine Null. Warum steht hier nicht genehmigt oder abgelehnt oder ausstehend? Ganz einfach: Weil nämlich diese managed Property einen Wert entgegennimmt aus der crawled Property ModerationStatus. Und die crawled Property ModerationStatus übergibt keine expliziten Werte im Sinne ausstehend, genehmigt oder abgelehnt, sondern diese crawled Property übergibt ausschließlich Zahlencodes in Form einer Null, einer Eins, einer Zwei, einer Drei. Diese Zahlencodes haben eine Bedeutung, die wir zunächst noch einpflegen müssen. Das passiert also als nächstes und wie Sie sich schon denken können, passiert das hier über das Display Template. Out of the box würden wir einen Wert zurückbekommen, der uns keine explizite Bedeutung, sondern nur einen Zahlenwert – 0, 1, 2, 3, 4 – zurückgeben würde. Als Genehmigungsstatus. Um dies umzurechnen, müssen wir nun etwas Client-Seitiges entwickeln. In dem Fall machen wir das Ganze über JavaScript. Wir navigieren zunächst einmal wieder zum Display Template und suchen uns dann das Display Template für den ungenehmigten Vertrag heraus. In dem Fall dieses hier. Und wir verschaffen uns zunächst einmal einen Überblick. Zunächst ist zu bemerken, dass die managed Property RefinableString in Managed Property Mapping angemeldet werden muss. Als nächstes schauen wir uns die Darstellung unseres Wertes an. Wie gesagt, zu 90-95 Prozent ist dieses Template von einem anderen kopiert. Alle Anpassungen, die ich vorgenommen habe, sage ich hier explizit an. Diese Zeile hier bezieht sich auf die Wiedergabe des Approval State. Aber der ursprünglich entgegengenommene Wert kommt aus der managed Property RefinableString07. Dieser wird hier allerdings nicht dargestellt. Dargestellt wird eine lokale Variable, mit der Bezeichnung ApprovalState. Sie gibt einen Wert namens ausstehend oder abgelehnt zurück. Hier muss irgendwo eine Umrechnung stattfinden. Das ist der Fall. Genau diese Umrechnung, beziehungsweise Umformatierung, passiert über diese Schleife. Zunächst einmal habe ich eine Variable erstellt mit der Bezeichnung ApprovalState. Diese wird mit dem Wert RefinableString07 initialisiert, den wir oben angemeldet haben, aus dem Kontext des aktuellen Elements. Denken Sie bitte daran, hier auf die Groß- und Kleinschreibung zu achten. Das muss beachtet werden, sonst funktioniert es nicht. So. Nun müssen wir die Bedeutung der jeweiligen Zahlencodes kennen. Das kann man zum Beispiel bei Microsoft MDSN oder im Technet nachschlagen. Eben in einer entsprechend tiefgreifenden technischen Dokumentation zu Sharepoint. Dann müssen wir die Bedeutung der jeweiligen Zahlen hier in JavaScript einpflegen. Das machen wir über eine if-Schleife. Wir sagen also: Wenn der ApprovalState, beziehungsweise der Wert in dieser Variable, gleich null ist, bedeutet das genehmigt. Dann soll genehmigt in diese entsprechende Spalte, in den entsprechenden Wert oder die Variable zurückgeschrieben werden. Das gleiche Prinzip haben wir hier als nächstes. Wenn es keine Null ist, könnte es eine Eins sein. Wenn es eine Eins ist, bedeutet das abgelehnt. Er schreibt das jetzt also von rechts nach links in die jeweilige Variable. Genau so verhält es sich mit Nummer Zwei und Drei. Das sind all unsere grundsätzlichen Optionen. Wir haben hier eine Null, eine Zwei, eine Eins und eine Drei, die wir mit einer jeweiligen Bedeutung versehen. Anschließend gehen wir natürlich dazu über, den anschließend mit einem verständlichen Begriff initialisierten Wert hier darzustellen. Jetzt wollen wir uns zuletzt noch einmal angucken, wie das Ganze im Original ausgesehen hätte. Dazu mache ich mal folgendes: Ich dupliziere diese Spalte, füge noch einen kleinen Umbruch hinzu und jetzt sage ich: Ich möchte, dass der Wert im Original in Form der managed Property RefinableString07 ebenfalls an das Display Template durchgereicht wird. Ich speicher das Ganze ab und dann können wir uns im Vergleich ansehen, wie das Ganze ausgesehen hätte, wenn wir das JavaScript nicht geschrieben hätten. Es hätte nämlich nicht besonders viele Informationen überreicht, weil es schlicht und ergreifend nur aus Zahlencodes bestanden hätte. Wir wechseln als nächstes wieder zu unserer Vertragsverwaltung zurück, aktualisieren die Page und werfen nun einen Blick auf das Ergebnis. Hier können wir also sehen, dass ein Zahlencode in Form einer Zwei für ausstehend und ein Zahlencode in Form einer Eins für abgelehnt dargestellt wird. Diese Art der Information würde also dem Benutzer der Vertragsverwaltung überhaupt nichts bringen. Sie würden nichts aussagen. Dementsprechend ist es hier und da erforderlich, eine Information in Sharepoint möglichst Client-seitig zu reformatieren. Das kann eine Datumsinformation sein, die einfach anders formatiert dargestellt sein soll. Zum Beispiel: Gib ein deutsches anstelle eines amerikanischen Datumsformats zurück. Oder wie in dem Fall bekomme ich bei Sharepoint nicht immer explizit die Werte zurück, wie hier beim Genehmigungsstatus, da bekomme ich nur Zahlen zurück und muss dann dementsprechend eine kleine JavaScript-Routine hinterlegen, die dem User die aussagekräfte Information übergibt.

Office 365: SharePoint-Anwendungsfälle

Sehen Sie, wie SharePoint-Lösungen Schritt für Schritt entstehen. An zwei Beispielen sehen Sie die Umsetzung von der Bedarfsanalyse bis zur funktionstüchtigen Lösung.

5 Std. 46 min (69 Videos)
Derzeit sind keine Feedbacks vorhanden...

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!