Jahresabschluss 2017

Das Jahr neigt sich dem Ende und gibt mir damit Gelegenheit alles Lesern dieses Blogs zu danken. Wenn ich der Statistik trauen darf, waren in 2017 ca. 9000 Besucher auf diesem Blog. Es hätten viel mehr sein können, aber ich hatte dieses Jahr von https://nicothiemer.wordpress.com auf https://nicothiemer.wordpress.com umgestellt, was mir Google eine ganze Weile übel genommen hat. Die Situation bessert sich aber zusehends.

Der am meisten gelesene Artikel ist der zum Verschieben von Listen, dicht gefolgt von Ampelfunktion für Aufgabenlisten. Danach folgt, und das freut mich ganz besonders, Verwalten von Vorlagen mit SharePoint und Inhaltstypen. Metadaten und Inhaltstypen sind und bleiben das Grundkonzept von SharePoint.

Ich habe einige neue Blogs in Planung; wenn jemand eine Idee hat was ich mal schreiben soll, einfach in den Kommentar zu diesem Beitrag schreiben.

Treffen Sie mich in 2018 bei verschiedenen Veranstaltungen, ich werde rechtzeitig hier darüber informieren. Bis dahin wünsche ich allen ein schönes Fest und einen guten Rutsch!

Performance Analyse SharePoint – So geht es

In Projekten stehe ich oft vor der Herausforderung die Performance einer vermeintlichen oder tatsächlich langsamen SharePoint Installation zu messen. Am besten geht dies, indem ich eine Anzahl ausgewählter Performancecounter gleichzeitig überwache. Nun sind dies eine ganze Menge und jedes Mal diese zu konfigurieren recht aufwendig. Dieser Blogartikel zeigt, wie sich diese Arbeit erleichtern lässt.

Vorbemerkung

Der Gedanke ist, ein PowerShell Script zu erstellen, welches die Counter aus eine Textdatei liest und in eine Datei schreibt, welche ich wieder in den Performancemonitor einlesen kann. Dort kann ich mir dann alle Werte anzeigen lassen oder nur einige davon. Das Script läuft dann so lange, bis ich es eben abbreche. Folgende Voraussetzungen, damit alles funktioniert, müssen unbedingt vorhanden sein:

  • Das Script muss von einem Konto gestartet werden, welches das Recht zum Ausführen von Scripten hat, in den Ordner schreiben und alle Performancecounter lesen darf. Typischerweise ist dies ein administratives Konto.
  • Diese Anleitung wird nur mit einem englischen SharePoint auf einem englischen Windowsserver funktionieren. Bei anderen Sprachen müssen die Performancecounter entsprechend übersetzt werden.
  • Es sollte die aktuellste PowerShell Version installiert sein.
  • Das Script sollte nicht in der Root ausgeführt werden, sondern in einem extra Ordner.
  • Das Script muss für jedem SharePoint Server auf dem jeweiligen Server ausgeführt werden.

Daten erfassen

Erstellen Sie zuerst eine Textdatei, in welcher Sie die folgenden Counter kopieren. Jeder Counter stellt dabei eine Zeile dar. Der Namen meiner Datei ist counter.txt

.NET CLR Memory(*)% Time in GC
ASP.NETApplication Restarts
ASP.NETRequest Execution Time
ASP.NETRequests Rejected
ASP.NETRequests Queued
ASP.NETWorker Process Restarts
ASP.NETRequest Wait Time
ASP.NET Applications(*)Requests/Sec
LogicalDisk(*)% Idle Time
MemoryAvailable MBytes
Memory% Committed Bytes In Use
MemoryPage Faults/sec
MemoryPages Input/sec
MemoryPage Reads/sec
MemoryPages/sec
MemoryPool Nonpaged Bytes
Network Interface(*)Bytes Total/sec
Network Interface(*)Packets/sec
Paging File(*)% Usage
PhysicalDisk(*)Current Disk Queue Length
PhysicalDisk(*)% Disk Time
PhysicalDisk(*)Disk Transfers/sec
PhysicalDisk(*)Avg. Disk sec/Transfer
Process(*)% Processor Time
Process(*)Page Faults/sec
Process(*)Page File Bytes Peak
Process(*)Page File Bytes
Process(*)Private Bytes
Process(*)Virtual Bytes Peak
Process(*)Virtual Bytes
Process(*)Working Set Peak
Process(*)Working Set
Processor(*)% Processor Time
Processor(*)Interrupts/sec
RedirectorServer Sessions Hung
ServerWork Item Shortages
SystemContext Switches/sec
SystemProcessor Queue Length
Web Service(*)Bytes Received/sec
Web Service(*)Bytes Sent/sec
Web Service(*)Total Connection Attempts (all instances)
Web Service(*)Current Connections
Web Service(*)Get Requests/sec
SharePoint Foundation(*)Active Threads
SharePoint Foundation(*)Sql Query Executing  time
SharePoint Foundation(*)Executing Sql Queries
SharePoint Foundation(*)Responded Page Requests Rate
SharePoint Foundation(*)Executing Time/Page Request
SharePoint Foundation(*)Current Page Requests
SharePoint Foundation(*)Reject Page Requests Rate
SharePoint Foundation(*)Incoming Page Requests Rate

Erstellen Sie danach eine PowerShell Datei, welche den folgenden Code enthält. Die Counter werden aller fünf Sekunden erfasst. Bei weniger oder mehr passen Sie -sampleinterval 5 an. Die Datei, in welcher die Counter gespeichert werden heißt counter.bin.

get-counter -counter (get-content counter.txt) -MaxSamples 100 -sampleinterval 5 | export-counter counter.bin

Starten Sie das Script aus einer PowerShell Umgehung und lassen Sie es laufen solange Sie die Daten erfassen möchten.

Daten auswerten

Starten Sie den Performancemonitor perfmon.msc und klicken Sie auf Performance -> Monitoring Tools – Performance Monitor. Ziehen Sie die Datei counter.bin per D&D ins Fenster. Damit Sie die erfassten Werte sehen können, müssen Sie diese noch hinzufügen. Denn jetzt sollten eigentlich überhaupt keine Werte mehr gemessen werden. Klicken Sie auf + und fügen Sie die gewünschten Werte hinzu. Sie können in der Liste auch alle Werte markieren und mit einmal hinzufügen. Das war es dann auch schon. Inspiriert zu dem Artikel wurde ich von https://gallery.technet.microsoft.com/office/PowerShell-script-for-59cf3f70

Haben Sie diese Anforderung schon einmal gehabt? Oder eine andere Frage? Dann schreiben Sie einen Kommentar!

Vielen Dank für Ihr Interesse an meinem Blogeintrag.
Gerne beantworte ich Ihnen persönlich weitergehende Fragen zu diesem Thema.
Kontaktieren Sie mich einfach über mein Kontaktformular oder schreiben Sie einen Kommentar.

Sie wollen mehr über meine Leistungen erfahren? Dann klicken Sie hier.

Ressourcenverwaltung mit Kalenderüberlagerung

In vielen Projekten werde ich gefragt wie sich mit SharePoint effektiv Ressourcen verwalten lassen. In der Tat ist SharePoint dafür nicht unbedingt das ideale Mittel. Mit der Möglichkeit der Kalenderüberlagerung kann man aber sehr gut einfache Anwendungen realisieren. Im Folgenden Beitrag zeige ich wie man mit SharePoint Bordmitteln eine sehr einfache(!) Fuhrparkverwaltung realisieren kann.

In meinem Beispiel werde ich drei PKW verwalten. Dazu lege ich mir für jeden PKW einen Kalender an und einen weiteren Kalender der die vorhandenen konsolidiert.

In die Kalender für jeden PKW trage ich ein wann diese gebucht sind. Dabei erfasse ich neben den Zeitdaten einen Titel und den Ort.

Habe ich alle Daten erfasst wechsle ich den Kalender Fuhrpark. Dort klicke ich auf das Menüband Kalender und dann auf die Schaltfläche Kalenderüberlagerung.

Klicken Sie in der folgenden Seite auf die Schaltfläche Neuer Kalender.

Geben sie einen Kalendernamen ein und wählen sie eine Farbe. Bei Web-URL geben Sie den Name der Site ein von der Sie den Kalender beziehen möchten. Nach einem Klick auf Auflösen können sie ihren entsprechen Kalender im Dropdown Feld Liste auswählen. Vergessen sie nicht in Haken bei Immer anzeigen zu setzen.

Dies wiederhole ich für meine weiteren Kalender, es können dabei maximal zehn Kalender eingebunden werden. Schaue ich mir jetzt meinen Kalender Fuhrpark an, sehe ich darin die überlagerten anderen Kalender.

Geht man in die Wochenansicht, werden neben dem Titel auch die Orte der Termine angezeigt.

Thomas Maier- der SharePoint Schwabe- hat in seinem Blog noch eine andere interessante Möglichkeit der Kalenderüberlagerung beschrieben. Hierbei kommt man mit einem Kalender aus, benötigt aber ein größeres Know-How in SharePoint. https://www.sharepoint-schwabe.de/tipp-so-koennen-sie-termine-auch-im-sharepoint-kalender-farblich-markieren-2/

Probleme mit dem Health Analyzer in mehrsprachigen Umgebungen

Dieser Beitrag beschreibt einen Fehler welcher bei der Verwendung des Health Analyzer in mehrsprachigen Umgebungen auftritt. Typischerweise wurde SharePoint in einer nicht englischen Sprache installiert und danach ein englisches Sprachpaket angewendet. Dadurch erhalte ich im Health Analyzer eine interessante Mischung in meinem Fall aus Englisch und Deutsch in der Definition der Regeln. Werden jetzt Fehler erneut analysiert oder sollen diese automatisch behoben werden kommt es zu Fehlern.

Die Fehler wiederum werden ausschließlich in Englisch angezeigt.

Wenn man nun einen Fehler im Health Analyzer erneut analysieren oder aber automatisch lösen lassen möchte erhält man einen Fehler.

Dieser ist wenig aussagekräftig, die Fehler-ID verweist auf den Fehler Object reference not set to an instance of an object. Der Grund dafür ist folgender: Wenn ein Fehler erneut analysiert wird oder aber automatisch behoben werden soll, wird eine Regeldefinition gesucht welche genau den Titel des ausgewählten Fehlers entspricht. Haben nun Fehler und Regeldefinition unterschiedliche Titel, der Fehler Englisch, die Definition deutsch, tritt der oben beschriebene Fehler auf. Die Lösung besteht hier darin, die entsprechende deutsche Regeldefinition zu suchen, diese zu bearbeiten und den Titel so umzubenennen, dass er den englischsprachigen Fehler entspricht.

Regeldefinition vor dem umbenennen.

Regeldefinition nach dem umbenennen. Danach kann da Fehler problemlos erneut analysiert und gegebenenfalls automatisch behoben werden.

E-Mail Benachrichtigungen für Listen und Bibliotheken anpassen

Ein oft genutzte Funktion in SharePoint sind die E-Mail Benachrichtigungen für Listen und Bibliotheken. Sie sind ja auch praktisch, bei jeder Änderung kann ich automatisch informiert werden und muss nicht mehr selber nachschauen. Obwohl man in den Benachrichtigungen eine Menge einstellen kann ist es nicht möglich sich nur informieren zu lassen wenn sich ein bestimmtes Metadatum ändert. Dies ist zum Beispiel dann wichtig, wenn ich mit SharePoint Qualitätsmanagement (QM) Dokumente verwalte. So könnte ich meinen Benutzern anbieten, dass diese nur informiert werden, wenn es eine inhaltliche Änderung gibt. Eine Benachrichtigung bei redaktionellen Änderungen, z.B. der Korrektur von Rechtschreibfehlern erfolgt nicht. Leider ist diese Anpassung nur für SharePoint onPremise möglich. Dieser Artikel erläutert, wie Sie dabei vorgehen.

Die folgende Abbildung zeigt die Bedingungen für das setzen der Benachrichtigungen. Dieser Bereich muss entsprechend ergänzt werden.

Achtung, wir bearbeiten hier Dateien aus dem Dateisystem eines SharePoint Servers. Bearbeiten Sie NIEMALS die Originaldateien, sondern immer nur Kopien.

Filter hinzufügen

Die Datei, welche die Benachrichtigungen definiert, befindet sich bei SharePoint 2013 im 15er Ordner, in SharePoint 2010 entsprechend im 14er Ordner. Dieser Ordner finden Sie bei SharePoint 2013 in %CommonProgramFiles%\Microsoft Shared\Web Server Extensions\15. Gehen Sie dort in das Unterverzeichnis \TEMPLATE\XML und suchen Sie die Datei alerttemplates.xml. Kopieren Sie die Datei und benennen Sie diese um z.B. in alerttemplates_contoso.xml. Öffnen Sie diese Datei in einem XML Editor Ihrer Wahl. Wenn Sie die Datei untersuchen, werden Sie sehen, dass hier Benachrichtigungen für verschiedene Listen- und Bibliothektypen definiert sind. Wir möchten gern das Template für Dokumentenbibliotheken anpassen.


Die Struktur innerhalb einer Liste/Dokumentenbibliothek ist immer gleich.

Um einen neuen Filter zu setzen, müssen wir also den Abschnitt Filter ergänzen. In diesem gibt es schon drei Dokumentenbibliotheken spezifische Filter. Der erste Filter ist generisch (Benachrichtigung bei alle Änderungen) und hier nicht aufgeführt. Jeder Filter besteht dabei aus einem Namen für die Ansicht, einem kurzen Namen und Filterregeln. Beachten Sie dabei, dass Sie Umlaute im Namen HTML kodieren müssen.

Während der Name recht einfach ist, sind die Regeln komplexer. Sie finden diese im Abschnitt Query und werden dort in CAML notiert. Allerdings sind nicht alle CAML Ausdrücke erlaubt, im Zweifelfall hilft es sich anzuschauen, wie die schon vorhandenen Regeln aufgebaut sind.

In meinem Fall habe ich in einer Dokumentenbibliothek ein neues Feld angelegt, welches vom Typ Auswahl ist und die Werte

  • Inhaltlich
  • Redaktionell

hat. Bei einer Änderung muss das Feld entsprechend gesetzt werden. Wurde es auf Inhaltlich gesetzt, soll eine Benachrichtigung erfolgen. Das Feld hat den Namen TypAenderung.

Ich habe mir einen vorhandenen Filter kopiert und diesen angepasst. Es sind jetzt also vier Filter vorhanden. Die neue Abfrage für den neuen Filter würde dann wie unten aussehen.

Filter veröffentlichen

Um die Änderung zu veröffentlichen müssen Sie die neue XML Datei importieren. Anpassungen der Benachrichtigungen können Sie entweder für die ganze Farm, pro Sitecollection oder für eine spezielle Liste veröffentlichen. Ich habe mich für die Anpassung per Sitecollection entschieden. Zum Import nutze ich stsadm.exe. Sie finden dies im 14er/15er Ordner im Unterverzeichnis Bin. Da ich die Sitecollection http://sharePoint.contoso.com/sites/QM
anpassen möchte, sieht der Befehl bei mir so aus:
stsadm -o updatealerttemplates -filename „C:\Program Files\Common Files\microsoft shared\Web Server Extensions\15\TEMPLATE\XML\alerttemplates_contoso.xml“ -url http://sharePoint.contoso.com/sites/QM

Nach dem Import muss der SharePoint Timer Dienst neu gestartet werden. Dafür gibt es mehrere Möglichkeiten, eine ist das Services Snap-In.

Und schon kann der Benutzer die neue Bedingung setzen.

Achtung: Die Validierung der Regel erfolgt erst wenn die Regel gesetzt wird! Testen Sie also vorher!

Schon gesetzte Benachrichtigungen werden nicht geändert. Wenn dies gewünscht ist hilft die PowerShell weiter oder der Benutzer löscht seine Benachrichtigungen und erstellt diese neu.

HTML E-Mail Quelltext in SharePoint Designer 2013 bearbeiten

Wer mit SharePoint Designer schon einmal einen Workflow erstellt hat, welcher eine E-Mail verschickt, kennt sicher das Problem. Es ist zwar möglich die E-Mail im Editor zu formatieren, aber nicht ohne weiteres den eigentlichen HTML Quelltext. Dabei ist dies oft wichtig, z.B. wenn ich einen Link zur einer CSS Datei einfügen möchte. Mit einem kleinen Trick kommen Sie aber doch an Quelltext.

Im folgenden Beispiel werde ich einen Link einfügen, welcher als Beschriftung eine Referenz hat. Ich gehe dabei davon aus, dass der Workflow schon erstellt ist. Es spielt keine Rolle, ob es sich dabei um einen SharePoint 2010 oder 2013 Workflow handelt, das Problem ist in beiden Fällen identisch. Die Abbildung unten zeigt einen einfachen SharePoint 2013 Workflow, welcher nur eine E-Mail verschicken soll.

Diese E-Mail ist dabei wiefolgt konfiguriert.

Um an den Quelltext zu kommen, schließen wir die Aktion und wählen deren Eigenschaften.

Im neuem Fenster sehen wir alle Eigenschaften der E-Mail, auch den Body, welcher ja den Text der E-Mail enthält. Wenn Sie in die Zeile klicken, können Sie sich über … den Wert anzeigen lassen.

Sie sehen nun den HTML Text und müssen diesen noch erweitern. Dummerweise läßt sich der Text nicht kopieren und auch mit Einfügen gibt es Probleme. Deshalb muss der Text in dem Fenster bearbeitet werden. Nicht optimal, aber machbar. In meinem Beispiel gebe ich an der gewünschten Stelle wo der Link erscheinen soll

<a href=“

ein und klicke dann auch Nachschlagevorgang hinzufügen oder ändern. Dort wähle ich Aktuelles Element => Encoded Absolute URL und klicke auf OK.

Jetzt gebe ich

„>

ein und wiederhole das Einfügen für die Eigenschaft Aktuelles Element => Name. Zum Abschluss gebe ich

</a>

ein. Eingefügt habe ich also

<a href=“[%Aktuelles Element:Encoded Absolute URL%]“>[%Aktuelles Element:Name%]</a>

Die E-Mail, welche der Workflow jetzt verschickt, ist damit richtig formatiert.

Zum Schluß: Natürlich geht es bei diesem speziellen Fall auch einfacher! Im Editor kann ich einen Link anlegen, welcher auch Nachschlagen zuläßt. Das Beispiel oben ist eben nur ein Beispiel.

Rückblick SharePoint Konferenz 2017 der ppedv in Erding

Wie in einem meiner früheren Beiträgen erwähnt, war ich als Sprecher auf die SharePoint Konferenz 2017 der ppedv AG in Erding geladen. Meine Themen waren dabei eher „weich“ und keine harten technischen. Als erstes habe ich darüber gesprochen, welche Aufgaben sich in Zeiten der Digitalisierung an Führungskräfte stellen und wie man diese begegnet. Ich war wirklich neugierig, wie dieses Thema angenommen wird. Wenn da 20 Teilnehmer sind, da kann ich mich freuen so dachte ich mir. Aber nein, der Saal, wenn auch nicht allzu groß, war voll, ich schätze so um die 50 Teilnehmer. Ich hatte dabei das Glück den ersten Vortrag des Tages, direkt nach der Keynote, halten zu können. Dementsprechend viel Zeit blieb dann auch später zum Diskutieren. Den Reaktionen und Gesprächen danach war anzumerken, dass das Thema einen Nerv getroffen hatte. So meinte eine Teilnehmerin, durch der Vortrag hätte sie ein anderes, neues Verständnis von IT bekommen. So etwas hört man doch gern. Vielleicht schreibe ich dazu auch einmal einen Artikel.

Das zweite Thema beschäftigte sich mit Metadaten und der Suche in SharePoint. Auch hier war die Resonanz höher als erwartet und die Reaktionen durchweg positiv. Die Konferenz war durch die ppedv sehr gut organisiert und ich habe mich auch als Sprecher sehr wohlgefühlt. Mal sehen, ob es nächstes Jahr wieder klappt. Beim Office 365 Business Day war ich dann leider krank 😦

Laufende Nummer aus einer Liste ermitteln mit Nintex Workflow

Dieser Beitrag beschäftigt sich mit einer Aufgabe aus dem Bereich Nintex Workflow, welche ich fast in jedem Projekt gestellt bekomme. Diese besteht darin, dass ich eine SharePoint-Liste habe, welche laufende Nummern enthält. Diese können z.B. verwendet werden um in einem Projektportal die Projektnummern entsprechend zu vergeben. Nur wie lese ich diese Nummern aus der Liste und wie schreibe ich diese in die Liste wenn der Zähler um eins erhöht wird? Dieser Beitrag gibt dafür eine Anleitung.

Voraussetzungen

Ich gehe im Folgenden nicht darauf ein wie in Nintex Workflow ein Workflow erstellt wird und welche Optionen dieser hat. Das würde den Rahmen dieses Beitrages sprengen. Voraussetzung ist eine Liste mit dem Namen Projektnummern und mit mindestens dem folgenden Schema:

Feldname Beschreibung
ID ID des Eintrages, wird von SharePoint verwaltet.
LaufendeNummer Dieser Wert wird von Nintex Workflow gelesen/geschrieben. Startwert ist 1000.

Außerdem gibt es noch eine Liste Projekte, welche auch ein Feld Projektnummer hat. Hier soll ein neuer Eintrag erstellt werden mit dem entsprechenden Wert.

Die Abfrage der Liste erfolgt mit CAML. „CAML (Collaborative Application Markup Language) ist eine auf XML basierende Auszeichnungssprache, die speziell für die SharePoint-Produkte (z. B. Microsoft SharePoint Foundation und Microsoft SharePoint Server) entwickelt wurde und für diese ausgelegt ist. CAML enthält Elemente zur Datendefinition und zur Abfrage und Anzeige von Daten in SharePoint-Portalen.“ Sie sollten mit der Sprache vertraut sein, auch wenn Nintex Workflow dafür einen Assistenten anbietet.

Der Workflow ist generisch folgendermaßen aufgebaut. Er enthält nicht alle Schritte der Übersichtlichkeit halber.

Workflow erstellen…

Der Workflow startet in der Liste Projekte und benötigt die folgenden Nintex Workflow Aktionen.

Name der Aktion (Englisch)

Bereich (Englisch)

Bild

Query List Libraries and lists

Collection operation Operations

Create item Libraries and lists

Der fertige Workflow sieht dann so aus.

Im Folgenden werde ich Aktionen anhand ihrer Nummern erläutern.

Aktion 1 – Query List

Diese Aktion ruft alle Werte ab, welche in der Spalte LaufendeNummer in der Liste Projektnummern stehen. Damit dies funktioniert, muss zuerst eine Variable vom Typ Collection erzeugt werden. In meinem Fall trägt diese den Namen CollNummer. Um eine Variable zu erstellen, klicken Sie auf die Nintexaktion Query List im Designer und dann im Menüband auf Variables. Anschließend
auf New und legen Sie die Variable an.
Wenn Sie schon einmal dabei sind, legen Sie eine weitere Variable vom Typ Number mit den Namen lfdNummer an.
Legen Sie außerdem eine Variable vom Typ Number mit der Bezeichnung Index an.
Die Zahlen geben den Klickpfad an.

Zurück in die Aktion Query List wählen Sie bei List die Liste Projektnummern und bei Sort die Spalte ID. Bei Field wählen Sie LaufendeNummer aus und klicken auf Add. In dem
erscheinenden Dropdown wählen Sie CollNummer.

Wenn Sie sehen wollen wie der Code aussieht und ob der Abruf funktioniert, kicken Sie auf Run now in der Menüleiste. Mit einen Klick auf Execute sehen Sie jetzt alle Einträge in der Liste.

Speichern Sie die Aktion wenn alles funktioniert.

Aktion 2 – Collection operation – Sort CollNummer

Diese Aktion ist nicht unbedingt erforderlich, dient aber der Sicherheit. Die Daten sollten eigentlich schon so geliefert werden, dass die höchste ID und damit die höchste Zahl das letzte Element in der Collection sind. Aber sicher ist sicher, also sortieren wir noch einmal. Konfigurieren Sie die Aktion wie unten gezeigt.

Aktion 3 – Collection operation – Count CollNummer

Um den letzten Eintrag abzurufen müssen wir erst wissen, wie viele Einträge die Collection hat. Dafür bietet Nintex die Methode Count an. Konfigurieren Sie die Aktion wie unten gezeigt.

Aktion 4 – Collection operation – letzte Nummer holen

Jetzt endlich können wir die letzte Nummer holen. Konfigurieren Sie die Aktion wie unten gezeigt.

Aktion 5 – Create new item in Projekte

Sie haben jetzt den Wert in der Variable und können diese entsprechend weiterbenutzen. Ich werde nur als Beispiel ein neues Element in der Liste Projekte erstellen. Konfigurieren Sie die Aktion wie unten gezeigt. Natürlich würden noch mehr Felder gefüllt werden müssen, ich habe diese aus Gründen der Übersicht weggelassen. Ebenso wäre der Projekttitel bestimmt dynamisch.

Der Workflow ist damit im Wesentlichen abgeschlossen. Man sollte jetzt auch in die Liste Projektnummern einen neuen Eintrag erzeugen um die Zahl hochzuzählen. Natürlich kann man auch die Zahlen direkt in der Projektliste verwalten, der Möglichkeiten gibt es da viele.

Vielen Dank für Ihr Interesse an meinem Blogeintrag.
Gerne beantworte ich Ihnen persönlich weitergehende Fragen zu diesem Thema.
Kontaktieren Sie mich einfach über mein Kontaktformular. oder schreiben Sie einen Kommentar.

Sie wollen mehr über mich erfahren? Dann stöbern Sie doch ein wenig auf dieser Site.

Empfehlung: 27.04.2017 – 1. Office 365 Business Forum – Produktivität aus der Wolke

Am 27.04.2017 findet von 09:00 – 18:00 Uhr bei der Adesso AG das erste Office 365 Business Forum – Produktivität aus der Wolke statt. Ich werde dabei einen Vortrag halten wie man Mitarbeiter für den digitalen Wandel gewinnen kann bzw. warum sich viele Firmen doch damit sehr schwer tun. In vielen Fällen ist nicht das neue Tool oder der neue Service der eingeführt wird das Problem. Vielmehr liegt das Problem oft in der Firmenkultur. Wie eine solche entsteht, wie man eine solche ändern kann,  damit beschäftigt sich mein Vortrag.

Natürlich gibt es auch noch weitere Vorträge welche versprechen interessant zu werden. Das Programm kann man hier sehen:

Agenda Office 365 Business Forum

Zur Anmeldung geht es hier:

Anmeldung bei XING

Da die Veranstaltung kostenfrei ist, gibt es eigentliche keine Entschuldigung, wenn man nicht hingeht 🙂 Die Adresse ist Am Tullnaupark 15, 90402 Nürnberg

Arbeiten mit dem Webpart für Inhaltssuche – Teil 4 – Vordefinierte Suchen erstellen

Arbeiten mit dem Webpart für Inhaltssuche – Teil 1 Übersicht
Arbeiten mit dem Webpart für Inhaltssuche – Teil 2 – KQL
Arbeiten mit dem Webpart für Inhaltssuche – Teil 3 – Arbeiten mit Displaytemplates
Arbeiten mit dem Webpart für Inhaltssuche – Teil 4 – Vordefinierte Suchen erstellen

Der vierte und letzte Teil der kleinen Serie über das Arbeiten mit dem Webpart für Inhaltssuche beschäftigt sich mit dem Erstellen von vordefinierten Suchen. Darunter verstehe ich eine Seite, auf welcher ich Suchen absetzen und diese auch verfeinern kann. Dabei ist der Suchfocus im Allgemeinen schon auf ein Thema eingegrenzt, z.B. die Suche in einer Projektverwaltung oder auf Aufgaben. Diese Seiten können dann z.B. über einer Linkliste auf der Startseite aufgerufen werden.

Zwar muss jede Seite individuell konfiguriert werden, aber Sie haben so auch den größten Nutzen. Natürlich können Sie eine solche Seite auch in einem Suchcenter erstellen. Dort ist das Erstellen der Seiten sogar noch einfacher, da ein schon vorkonfiguriertes Seitenlayout verwendet wird. Wenn Sie also individuelle Suchseiten erstellen können, haben Sie im Suchcenter erst recht keine Probleme.

Um eine solche Seite zu erstellen, füge ich über das Zahnrad oben rechts eine neue Seite hinzu. Sollte dies nicht möglich sein, können Sie entweder das Feature Homepage der Wiki-Seite oder SharePoint Server-Veröffentlichung aktivieren. Natürlich gibt es auch noch andere Möglichkeiten eine neue Seite zu erstellen. Ich füge der neuen Seite eine Tabelle mit zwei Spalten und zwei Zeilen hinzu. Diese nutze ich später um die Webparts entsprechend zu platzieren. Ich habe die Zellen entsprechend dem Schema unten nummeriert.


Was wird für eine solche Suchseite eigentlich benötigt? Ich benutze die folgenden Webparts aus dem Abschnitt Search und Content Rollup.

Webpart Beschreibung Zone
Search => Search Box Dieser Webpart dient der Eingabe von Suchwörtern und Phrasen. Er ist i.d.R. automatisch mit dem Webpart Content Search verbunden. 1
Search => Refinement Dieser Webpart dient der Verfeinerung von Suchergebnissen und kann dafür individuell konfiguriert werden. Er ist i.d.R. automatisch mit dem Webpart Content Search verbunden. 3
Content Rollup => Content Search Der Webpart für Inhaltsabfragen 4

Wenn Sie die Webparts eingefügt haben, indem Sie in die jeweilige Tabellenzelle klicken und dann den benötigten Webparts einfügen, sieht die Seite in etwa so wie unten aus.


In manchen Fällen reagiert der Webpart für Inhaltsabfragen nicht auf Eingaben im Suchfeld. Dies liegt oft daran, dass der Webpart in seiner Query noch nicht auf das Suchfeld „hört“. Um dieses Problem zu beheben, konfigurieren Sie den Webpart für Inhaltsabfragen und passen Sie die Query an. Geben Sie in das Feld Query text die folgende Variable ein: {SearchBoxQuery} Nach dem speichern sollte auch die Abfrage aus dem Suchfeld funktionieren.


Damit sind Sie eigentlich schon fertig, Sie müssen natürlich noch den Webpart für Inhaltsabfragen sowie ggf. die Verfeinerungen anpassen wie z.T. in den vorherigen Artikeln beschrieben.

Vielen Dank für Ihr Interesse an meinem Blogeintrag.
Gerne beantworte ich Ihnen persönlich weitergehende Fragen zu diesem Thema.
Kontaktieren Sie mich einfach über mein Kontaktformular.

Sie wollen mehr über mich erfahren? Dann gehen Sie auf
http://www.nicothiemer.de