Triff mich!

Juni 2018

Am 18. und 19. Juni 2018 werde ich auf dem OfficeCamp 2018 zwei Vorträge halten. Diese werden sich mit meiner geliebten SharePoint Suche beschäftigen. Im Vortrag SharePoint Search – 10 Schritte zum Erfolg, welcher auch gleich der erste Vortrag ist, werde ich erläutern, wie man eine SharePoint Suche konzeptionell aufbaut und den Benutzern schmackhaft macht.

Im Vortrag Schöne neue Welt – Suchergebnisse ordentlich präsentiert  werde ich zeigen, wie man Suchergebnisse ordentlich darstellt. Dabei wird es zum einem um die Anpassung von Suchergebnissen gehen (Display Templates), zum anderen wie man die Suche auch einfach via JavaScript in eigene SharePoint Anwendungen einbauen kann. Ich freue mich auf die Veranstaltung, vielleicht trifft man den einen oder anderen Bekannten. Mehr Informationen zur Veranstaltung finden Sie hier: http://officecamp.de/

P.S. Wenn Sie sich anmelden möchten, wäre es nett, wenn Sie erwähnen dass Sie durch mich aufmerksam geworden sind.

Dezember 2017

Am 06.12.2017 bin ich Sprecher auf der Projektwerkstatt „Betrieb digitalisiert! – von KMU für KMU, regional – rational – digital“. Mein Vortrag „Digitalisierung als Kulturtechnik für Unternehmer“ soll Anregung geben den digitalen Wandel im Unternehmen aktiv zu gestalten und diesen als Chance zu sehen und nicht als Fluch. Weitere Infos unter http://bit.ly/2Ar8SFD.

Genehmigungen mit SharePoint Designer 2013 Workflows

Dieser Artikel ist Teil einer Serie. Hier sind die weiteren Artikel

Workflows mit SharePoint Designer – Grundlagen

Dies ist der zweite Teil der Serie über Workflows in SharePoint Designer. Nachdem ich im ersten Teil über die Grundlagen von Workflows geschrieben und einen kleinen Beispielworkflow entwickelt habe, wird es jetzt konkreter. Dieses Beispiel zeigt, wie Sie einfache Genehmigungen mit SharePoint Designer erstellen können. Dabei können Sie zuerst nur Zustimmen oder Ablehnen. Wie Sie auch weitere Status einbauen können, erläuterte ich in einem späteren Blogbeitrag.

Damit die Genehmigungen einfach gelingen, erstellt SharePoint eine Aufgabe in einer Liste, welchen dem Workflow zugeordnet ist. Wenn keine Liste dafür vorhanden ist, wird der Workflow selber eine erstellen. Sobald die Freigabe beginnt, wird der Workflow eine Aufgabe erstellen und den darin zugewiesenen Benutzer per E-Mail informieren. Die E-Mail enthält einen Link zur Aufgabe, allerdings immer nur im Ansichts (View) Modus. Das heißt, der Benutzer muss immer noch einmal klicken um die Aufgabe abzuschließen. Dies muss in der Regel geschult werden! Nach der Auswahl der Antwort können Sie im Workflow verzweigen und entsprechend darauf reagieren.

Workflow für Genehmigungen erstellen

Erstellen Sie zuerst einen 2013er SharePoint Designer Workflow, wie im vorherigen Artikel beschrieben. Fügen Sie dem Workflow drei weitere Stufen hinzu. Klicken Sie dazu unterhalb der ersten Stufe und wählen Sie Stufe aus dem Abschnitt Einfügen im Menüband. Wenn Sie in die Überschrift einer Stufe klicken, können Sie diese auch umbenennen. Fertig sollte es dann in etwa wie in der folgenden Abbildung aussehen.

2018-02-01_13h08_56

Klicken Sie jetzt in die erste Stufe und fügen Sie dort die Aktion Aufgabe zuweisen hinzu. Klicken Sie auf dieser Benutzer um die Aufgabe zu konfigurieren. Es erscheint ein Formular, in welchen Sie verschiedene Angaben machen müssen. Dabei sind Pflichtangaben leider nicht als solche gekennzeichnet. Pflicht ist der Teilnehmer und der Titel der Aufgabe. Beachten Sie bitte, dass das Feld Beschreibung die Beschreibung der Aufgabe ist, nicht der Inhalt der E-Mail die der Benutzer erhält. Wenn Sie diese anpassen möchten, gehen Sie auf E-Mail-Optionen und klicken Sie auf E-Editor öffnen.

2018-02-01_12h39_49

Klicken Sie zum Schluß auf OK. Die Aktion hat automatisch zwei Variablen erstellt:

  • Ergebnis – Diese Variable enthält den Wert, den der Benutzer beim abschließen der Aufgabe ausgewählt hat.
  • AufgabenID – Die ID des Listenelements in der Aufgabenliste. Damit kann man z.B. Kommentare nachschlagen, welche ein Benutzer während der Freigabe gemacht hat.

Wichtig ist für uns die Variable Ergebnis. Um anhand dieser Variable zu verzweigen, klicken Sie in der Stufe Stufe 1 in Übergang in Phase und fügen Sie die Bedingung Wenn ein beliebiger Wert gleich dem Wert ist ein. Fügen Sie NICHT zuerst die Aktion Gehe zu einer Stufe ein. Wenn Sie diese Aktion schon eingefügt haben, löschen Sie diese wieder. Die Bedingung läßt sich nämlich sonst nicht einfügen.

In der Bedingung wählen Sie zuerst die Variable Ergebnis aus. Klicken Sie dazu zuerst auf den ersten Link mit der Beschriftung Wert und dann auf das Formelsymbol. Im Dropdown wählen Sie nicht aktuelles Element, sondern Workflowvariablen und- parameter aus. Im Quellfeld wählen Sie Ergebnis aus. Bestätigen Sie die Auswahl mit OK. Klicken Sie im zweiten Link auf Wert und wählen Sie Genehmigt aus. Fügen Sie jetzt zweimal die Aktion Gehe zu einer Stufe ein und konfigurieren Sie diese wie in der folgenden Abbildung gezeigt.

2018-02-01_12h58_15

Natürlich können Sie im Fall Anderfalls auch Stufe 1 auswählen. Damit nerven Sie den Freigeber so lange, bis dieser aus lauter Verzweiflung zustimmt 🙂

In den jeweiligen Stufen nach der Stufe 1 können Sie jetzt auf die jeweilige Auswahl reagieren. Was Sie darin machen, bleibt Ihnen überlassen. Da in vielen Workflows der Abschluss gleich ist, egal was in der Freigabe ausgewählt wurden, gehen beide Stufen nach deren Durchlaufen zur Stufe Workflows beenden. Dort können Sie dann noch abschließende Aktionen vornehmen und den Workflow beenden. Der fertige Workflow sollte dann in etwa wie die folgende Abbildung aussehen, auf die Aktionen und Bedingungen in den nachfolgenden Stufen habe ich verzichtet.

2018-02-01_13h07_27

Natürlich können Sie dann auch in der Stufe Freigabe erfolgt eine weitere Freigabe einbauen usw. Alles in allem ist es eine recht einfache und praktische Art und Weise um Freigaben zu gestalten.

Buchrezession Satya Nadella – Hit Refresh

Obwohl ich sehr viel lese, schreibe ich doch nicht so viel Buchrezession. Bei Satya Nadellas – Hit Refresh war es mit allerdings ein Bedürfnis. Warum habe ich das Buch eigentlich gelesen? Ich komme ja selber aus der IT Branche, in der ich seit 1999 mein Geld verdiene. Der Aufstieg von Linux habe ich z.B. selber von Anfang an miterlebt. Ich habe selber eine Firma geführt und weiß da um einige Probleme, natürlich nicht einmal annähernd in der Größenordnung von Microsoft. Aber was macht das z.B. mit einer Firma, deren Chef Linux als Krebsgeschwür bezeichnet (Steve Ballmer) und später der neue Chef (Satya Nadella) die Parole ausgibt Microsoft liebt Linux? Wie nimmt man Mitarbeiter auf eine solche Reise mit? Dieses Buch gibt darüber Auskunft.

Das Buch kann man grob in mehrere Teile gliedern: Der geschichtliche Teil von Satya Nadella bisherigen Leben und das Leben von Microsoft bis heute. Dieser Teil enthält auch viele Informationen über die aktuelle Transformation von Microsoft. Weiter geht es mit einem Ausblick auf zukünftige Entwicklungen in der IT und Gesellschaft sowie Gedanken über Microsoft und dessen Verhältnis zur Gesellschaft allgemein.

Für mich persönlich am interessantesten war die Thematik um die Transformation von Microsoft. Satya Nadella bricht das Ganze auf wenige Worte herunter:

  1. Zeige Empathie um Deine Mitarbeiter zu führen und Ihnen eine Vision zu eröffnen.
  2. Lerne zu vergessen um neue Produkte zu entwickeln
  3. Bekenne Dich zum Wandel. Zeige es, lebe es und stehe dafür ein.

Das klingt jetzt nicht wirklich spektakulär, aber wenn man sich, vor allem in deutschen Firmen, umschaut, ist es dies dann doch. Der Geschäftsführer oder Vorgesetzte, der seine Mitarbeiter nicht mit Du anredest, weil er Angst vor Nähe hat, ist tendenziell die Regel als die Ausnahme. Aber natürlich bedeutet Führung in einer digitalen Welt mehr als nur eine Du Ebene. Digitale Systeme sind von Haus auch hierarchielos, sie zerstören Hierarchien. Das kann man bedauern, das kann man auch zu verhindern versuchen, aber es bringt nichts. Nur wenn sich eine Unternehmenskultur wandelt, ergibst sich etwas. Das Buch gibt dafür interessante Anreize.

Was mir nicht so gefallen hat, sind die allerdings wohl typisch amerikanische inflationäre Verwendung von Adjektiven wie großartig, weltbester, einzigartig usw. Für Europäer liest sich dies manchmal wie Eigenlob und Übertreibung, aber in der Tat ist dies die normale Sprache in der USA. Ich hätte mir auch gern noch mehr gewünscht, wie man einen kulturellen Wandel im Kleinen bewerkstelligt. Es werden zwar einige Beispiele genannt, aber dies sind in der Regel nur Veranstaltungen der oberen Führungsriege. Das ist jetzt allerdings Jammern auf hohem Niveau.

Fazit

Durch meinen Beruf als IT Berater oder eher Unterstützer bin ich in vielen Firmen zugange. Für jeden, der sich ernsthaft mit dem Thema Digitalisierung beschäftigt, ist das Buch ein guter Einstieg. Alle anderen lernen was über Microsoft und die zukünftige IT Welt. Ich würde es wieder kaufen.

 

Workflows mit SharePoint Designer

Dies ist der Start einer Serie, in welcher ich verschiedene Workflows vorstelle, welche mit SharePoint Designer 2013 erstellt werden und in Projekten immer wieder auftauchen. Zum Start der Serie gibt es zuerst eine kleine Übersicht über SharePoint Workflows und SharePoint Designer generell. Die folgenden Artikel werden dann die folgenden Workflows beschreiben:

  • Genehmigungen mit SharePoint 2013 Workflows
  • Den höchsten Wert aus einer Spalte ermitteln und aus andern Listen Spalten abfragen mit SharePoint Designer 2013 Workflows
  • Eine Unterwebsite anlegen mit SharePoint Webservices

Übersicht über SharePoint Workflows

SharePoint kommt bisher mit zwei unterschiedlichen Workflow Plattformen, den 2010 und den 2013 Workflows. Die Zahl gibt dabei an, wann diese Workflows Plattformen in SharePoint gekommen sind. Beide Workflow Plattformen können auch in SharePoint 2016 und in der aktuellen SharePoint Online Plattform verwendet werden. Ich empfehle, immer wenn möglich, mit den 2013er Workflows zu arbeiten.

Die folgende Tabelle gibt einen Überblick über die wichtigsten Unterschiede und Gemeinsamkeiten beiden Plattformen.

Thema 2010 Workflows 2013 Workflows
Verfügbarkeit Nach Installation SharePoint, keine weiteren Schritte notwendig. Nach Installation bzw. Verbindung zum Workflow Manager. Sonst nicht verfügbar.
Last der ausgeführten Workflows Liegen auf SharePoint Server Installation des Workflow Managers. Dieser kann, aber muss nicht auf einem SharePoint Server installiert werden. Wenn der Workflow Manager auf einem SharePoint Server läuft, liegt dort natürlich auch die Last.
Braucht Client auf SharePoint Server Nein Ja, auf Frontendserver sofern dort nicht der Workflow Manager installiert ist.
Schleifen im Workflow Nein, bzw. extrem aufwendig Ja
Starten eines Workflows
  • Manuell
  • Änderung
  • Neuerstellung
  • Manuell
  • Änderung
  • Neuerstellung
Startreihenfolge ändern, wenn mehrere Workflows automatisch starten Nein Nein
Startformular eines Workflows Immer Nur wenn explizit gewünscht.
Deklarativ Ja Ja
Anzahl der Workflow welche  gleichzeitig starten 6 pro Sekunde/Webserver 6 pro Sekunde/Webserver
Anzahl der Workflows welche gleichzeitig in einer Inhaltsdatenbank laufen. Kommen mehr Workflows, werden diese in eine Warteschleife gelegt.

Dabei führt ein Workflow eine Aktion aus, das Warten auf den Abschluss eine Aufgabe zählt z.B. nicht dazu, allerdings das Erstellen der Aufgabe.

15 15
Transaktionssicher Nein Nein
Kompatibel mit jeweils anderer Version Nein Nein
Kann gebunden werden an
  • Liste
  • Inhaltstyp
  • Website
  • Liste
  • Inhaltstyp
  • Website

 

Einen einfachen Workflow mit SharePoint Designer erstellen

Wenn Sie einen Workflow mit SharePoint Designer erstellen möchten, so müssen Sie diesen zuerst herunterladen von https://www.microsoft.com/de-de/download/details.aspx?id=35491. Die 2013er Version ist dabei die letzte, es gibt keinen SharePoint Designer für 2016, allerdings kann der 2013er Designer für SharePoint 2016 und SharePoint Online verwendet werden. Wenn Sie auf den Rechner, auf dem SharePoint Designer installiert werden soll, schon andere Office Programme installiert haben, so muss der Designer die gleiche Bitzahl haben. Sie können also keinen 64 Bit SharePoint Designer neben einen 32 Bit Office installieren. Idealerweise haben Sie auch die gleiche Installationssprache.

Nach der Installation öffnen Sie den SharePoint Designer und verbinden sich zu Ihrer Website. Als Beispiel werde ich einen einfachen Listen-Workflow erstellen, der eine E-Mail verschickt. Natürlich muss dafür der E-Mail Versand in der Zentraladministration (on premise) konfiguriert sein. Wenn Sie SharePoint Online verwenden geht es sofort. Die nächsten Workflows werden dann komplexer 🙂

Wenn Sie sich zur Site verbunden haben, sehen Sie links eine Navigation, welche an dritter Stelle den Punkt Workflow enthält. Klicken Sie auf diesen.

2018-01-31_12h40_32

Sie sehen dann, sofern vorhanden, die auf dieser Site vorhandenen Workflows. Dabei werden auch die SharePoint Systemeigenen Workflows aufgeführt, sofern diese vorhanden sind. Um einen neuen Listen-Workflow zu erstellen, klicken Sie oben links auf Listenworkflow und wählen Sie die Liste aus in der der Workflow erstellt werden soll.

2018-01-31_12h43_04

Wenn Sie 2013er Workflows zur Verfügung haben, wird Ihnen jetzt ein Fenster gezeigt, in welchen Sie dem neuen Workflow einen Namen und eine Beschreibung vergeben können und die 2013 Plattform schon vorausgewählt ist. Natürlich können Sie im Dropdown auch die 2010er Plattform auswählen. Beachten Sie, dass Sie den Plattformtyp nachträglich nicht ändern können.

Wenn Sie keine 2013 Plattform haben, steht eben auch nur die 2010 Plattform zur Auswahl. Ich verwende beim Namen des Workflows übrigens gern die Plattform mit, damit ich im Fall der Fälle gleich weiß wo ich bei Problemen nachschauen kann. In beiden Fällen dauert es eine Weile bis Sie beginnen könnnen den Workflow zu erstellen, SharePoint Designer muss erst noch Daten vom SharePoint Server laden.

2018-01-31_12h43_16

Beispiel Workflow mit der 2010er Plattform

Im Workflow Designer haben Sie in der Menüleiste im Abschnitt Einfügen die Punkte Bedingungen und Aktionen. Die sind die Bestandteile, aus denen ein Workflow besteht. Es sollte sich jetzt ein oranger Strich im Designer befinden. Dies ist die Stelle, wo die Bedingung oder die Aktion eingefügt wird.

Klicken Sie auf Aktionen und wählen Sie die Aktion E-Mail senden aus.

2018-01-29_08h22_11

Die meisten Aktionen müssen erst noch konfiguriert werden. Dazu klicken Sie auf den blauen Link, welcher den entsprechenden Dialog öffnet.

2018-01-31_07h54_41

In der Aktion E-Mail müssen Sie einen Empfänger und einen Betreff eingeben, der Rest ist optional. Klicken Sie zum Abschluss auf OK.

Um den Workflow zu veröffentlichen, klicken Sie oben links auf Veröffentlichen.

2018-01-31_07h58_01

Wenn Sie Fehler im Workflow haben, so wird Ihnen dies mitgeteilt. Sie müssen diese zuerst korrigieren und müssen dann noch einmal veröffentlichen.

Beispiel Workflow mit der 2013er Plattform

Das Erstellen und Einfügen der Aktionen und Bedingungen ist analog eines 2010er Workflows. Allerdings sieht hier der Editor etwas anders aus.

2018-01-31_12h43_34

Sie müssen vor dem Veröffentlichen immer noch eine Aktion in den Abschnitt Übergang in Phase einfügen. Klicken Sie dazu in den Bereich Übergang in Phase und dann auf Aktion. Dort sollte es nur eine Aktion geben: Gehe zu einer Stufe. Konfigurieren Sie diese Aktion mit einen Klick auf den Link in der Aktion und wählen Sie Ende des Workflows. Anschließend können Sie ganz normal veröffentlichen.

2018-01-31_12h43_43

Sofern Sie das manuelle Starten eines Listenworkflow konfiguriert haben, können Sie den Workflow immer aus dem Kontextmenü eines Listenelementes starten. Bei SharePoint Online müssen Sie dazu in die klassische Ansicht umschalten.

 

Modern Sites Pages in SharePoint online deaktivieren

Modern Sites Pages sind eine im Sommer 2017 eingeführte Funktion in SharePoint online um Webseiten (Site pages) zu erstellen. Dies ist jetzt die Standardfunktion, d.h. wenn ein Benutzer eine neue Webseite (Page) erstellt, erstellt er eine Modern Sites Page. Auch wenn diese Seiten sehr interessant sind und viele spannende Möglichkeiten bieten, gibt es doch einige Nutzer welche die klassischen Wikiseiten bevorzugen. Dieser Blogartikel erläutert Ihnen wie Sie die statt Modern Sites Pages wieder herkömmliche Wikiseiten erstellten können. Die folgende Abbildung zeigt eine Modern Sites Page unmittelbar nach dem Erstellen.

Sie können die Funktion im Browser nur auf Ebene des Webs deaktivieren, nicht auf Ebene der Sitecollection. Gehen Sie dafür in die Websiteeinstellungen und dort in die Websitefeatures.

Suchen Sie dort das Feature Site Pages – Allows users to add new site pages to a site oder in Deutsch Websiteseiten – Gestattet Benutzern, neue Websiteseiten zu einer Website hinzuzufügen. Deaktivieren Sie das Feature, das war es dann auch schon. Schon vorhandene Seiten bleiben natürlich erhalten.

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.de 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.NET\Application Restarts
\ASP.NET\Request Execution Time
\ASP.NET\Requests Rejected
\ASP.NET\Requests Queued
\ASP.NET\Worker Process Restarts
\ASP.NET\Request Wait Time
\ASP.NET Applications(*)\Requests/Sec
\LogicalDisk(*)\% Idle Time
\Memory\Available MBytes
\Memory\% Committed Bytes In Use
\Memory\Page Faults/sec
\Memory\Pages Input/sec
\Memory\Page Reads/sec
\Memory\Pages/sec
\Memory\Pool 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
\Redirector\Server Sessions Hung
\Server\Work Item Shortages
\System\Context Switches/sec
\System\Processor 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

Dynamics CRM – Einer Ansicht Grafiken hinzufügen – Ampelfunktion

Nachdem ich schon einmal erläutert habe, wie man in einer SharePoint Ansicht eine Ampel Funktion hinzufügt, ist das Thema jetzt bei Dynamics CRM dran. Dabei gilt, dass das Folgende von mir nur mit Dynamics CRM 2016 bzw. 365 getestet wurde.

Die Anforderung war in einer Ansicht der Entität Anfragen eine grafische Übersicht zu bekommen, welcher Anfragen welche Priorität haben und wann zuletzt diese geändert worden. Um das gewünschte Ziel zu erreichen genügt ein kleines JavaScript.

Bevor wir uns den JavaScript zuwenden, müssen wir zuerst die entsprechenden Bilder zu Verfügung stellen. Dafür erstelle ich drei Webressourcen, jede Webressource stellt dabei ein Bild dar.

Das eigentliche JavaScript finden Sie unten. Erstellen Sie damit zuerst eine Webressource vom Typ JavaScript. Gehen Sie danach zur Verwaltung ihrer Ansicht (in System anpassen) und öffnen Sie diese. Klicken Sie auf die Spalte, welche Sie anpassen möchten und dann auf Eigenschaften ändern.

Geben Sie nun die Webressource an welche das JavaScript enthält und den Namen der Funktion, welche Sie im JavaScript verwenden möchten. Speichen Sie die Änderung und veröffentlichen Sie ggf. diese.

Noch eine kurze Erklärung zum JavaScript. Es wird das Feld Geändert an mit einer Ampelgrafik versehen. Dazu werden alle Einträge von Heute bis 30 Tage älter als grün markiert, 30 Tage älter aber jünger als 60 Tage mit gelb, der Rest mit Grün. Dazu müssen in einem Array zwei Werte übergeben werden. Der zweite Wert ist ein Tooltipp, dieser kann auch über die userLCID angepasst werden, also mehrsprachig erscheinen. Beachten Sie, das ich beim Bild nicht den Name der Datei angebe, sondern den Namen der Webressource!

function displayIconTooltipModi(rowData, userLCID)
{
var str = JSON.parse(rowData);
var coldata = str.modifiedon_Value;
var imgName = "";
var tooltip = "";
var now = new Date();
var warn = new Date();
var zulang = new Date();

warn.setDate(now.getDate() - 30);
zulang.setDate(now.getDate() - 60);
var targetDate = new Date(coldata);

if (targetDate > warn)
{
imgName = "new_gruen32";
tooltip = "Good";
}
else if (targetDate > zulang && targetDate < warn)
{
imgName = "new_gelb32";
tooltip = "Warning";
}
else
{
imgName = "new_rot32";
tooltip = "Bad";
}
var resultarray = [imgName, tooltip];
return resultarray;
}

Ein Problem beim Einladen von externen Benutzern in Microsoft Teams beheben

Microsoft Teams (https://teams.microsoft.com) ist eine sehr interessante Lösung für Zusammenarbeit in Unternehmen. Dies umso mehr, da jeder der einen E-Plan von Office 365 hat, diese Lösung nutzen kann. Bisher war aber die Zusammenarbeit nur innerhalb eines Mandanten möglich. Externe Benutzer einzuladen, so wie es von SharePoint schon lange bekannt ist, war nicht möglich. Dies ist jetzt anders, jeder der ein Azure Active Directory Konto besitzt, kann eingeladen werden. Auf diese Möglichkeit habe ich lange gewartet. Siehe dazu auch https://blogs.office.com/en-us/2017/09/11/expand-your-collaboration-with-guest-access-in-microsoft-teams.

Ein Azure Active Directory Konto besitzt jeder Nutzer, der eine Office 365 Lizenz hat. Doch wenn man einen Nutzer einfach zu Teams hinzufügt, hat dieser keinen Zugriff. Es ist nämlich noch ein weiterer, gut versteckter, Schritt notwendig um wirklich Zugriff zu gewähren.

Einen externen Benutzer können Sie ganz normal als Benutzer hinzufügen, das Team muss allerdings Öffentlich sein, was ja eigentlich selbstverständlich ist. Versucht sich jetzt der externe Benutzer anzumelden, erhält er die Fehlermeldung TeamsDisabledForTenantForbidden. Um dies zu ändern müssen Sie die globalen Teams-Einstellungen ändern. Dazu müssen Sie in das Office 365 Admincenter. Klicken Sie dort auf Settings => Services & add-ins = Microsoft Teams. Gehen Sie dort zum Abschnitt Settings by user/license type und klicken Sie auf das DropDown. Wählen Sie Guest aus und aktivieren Sie den Zugriff. Änderung speichern und das war es dann auch.

 

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/