Zuerst möchte ich allen Lesern dieses Blogs ein gesundes und erfolgreiches neues Jahr wünschen. Damit es dieses Jahr ein wenig ruhiger zugeht, wird mein erster Artikel davon handeln, wie man eine einfache Fehleranalyse auf SharePoint 2013 Webseiten durchführen kann. Die vorgeschlagenen Lösungen funktionieren allerdings nicht alle in Office 365, sondern vorwiegend in einer Installation vor Ort.
Developer Dashboard
Das Developer Dashboard wurde mit SharePoint 2010 eingeführt und erlaubt einen detaillierten Blick auf den Lebenszyklus einer SharePoint Webseite. Leider ist diese Option nur in Installationen vor Ort verfügbar und nicht in Office 365. Dieser Abschnitt beschreibt, wie das Developer Dashboard aktiviert wird und was sich dahinter verbirgt.
Voraussetzung für das Developer Dashboard ist eine existierende Health and Usage Serviceanwendung. Sollte diese noch nicht vorhanden sein, erledigt dies das folgende PowerShell.
New-SPUsageApplication -Name „Health and Usage Application“ -DatabaseName „Health_and_Logging_DB“
Nach dem Erstellen der Serviceanwendung kann das Developer Dashboard aktiviert werden. Dabei gibt es zwei verschiedene Modi:
Modus | Bedeutung |
On | Aktiviert das Developer Dashboard. Es wird allerdings erst ausgeführt, wenn das entsprechende Symbol geklickt wird. |
Off | Deaktiviert das Developer Dashboard. |
Das folgende PowerShell Skript aktiviert das Developer Dashboard dabei in der SharePoint Farm in jeder SharePoint Anwendung.
$svc = [Microsoft.SharePoint.Administration.SPWebService]::ContentService
$dd = $svc.DeveloperDashboardSettings
$dd.DisplayLevel = „On“
$dd.Update()
Nach dem aktivieren steht das Developer Dashboard über sein Symbol oben rechts überall zur Verfügung. Dies allerdings nur, wenn man mindestens das Recht hat Seiten anzupassen und hinzuzufügen. Über die Eigenschaft RequiredPermissions kann dies aber geändert werden. Wer möchte, kann damit das Dashboard auch jeden Leser zur Verfügung stellen, was auch immer das auch bringen soll. Eine Übersicht über die SharePoint Berechtigungsmaske findet sich hier: http://msdn.microsoft.com/EN-US/library/ms412690
Wird das Symbol geklickt, öffnet sich ein neues Fenster. Dies ist ein Unterschied zu SharePoint 2010, wo da Dashboard noch direkt in die aufrufende Seite gerendert wurde. Solange das Fenster offen ist, werden in diesem alle Seiten protokolliert welche aufgerufen werden. Wichtig im Dashboard sind vor allem die folgenden Abschnitte in verschiedene Registerkarten, welche immer pro Aufruf (Request) gelten. Der Aufruf einer Seite ruft oft auch andere Unterseiten auf. Damit man die entsprechenden Werte sieht, muss man auf den jeweiligen Aufruf klicken. Beim ersten Aufruf ist nichts ausgewählt und die Liste ist leer.
Server Info
Diese Registerkarte bietet allgemeine Daten, wie Dauer der Ausführung, Anzahl der SQL Abfragen uvm.
Scopes
Hier wird angezeigt, welche Funktionen und Aufrufe erfolgen. Dies ist besonders dann interessant, wenn man eigenen Code geschrieben hat und diesen hier testen möchte.
SQL
In dieser Registerkarte werden die SQL Aufrufe angezeigt. Wenn man auf den Namen der Abfrage klickt, sieht man diese auch im Detail. Sehr nützlich, wenn man SharePoint im Detail verstehen möchte.
ULS
Alle Vorgänge, welche der Aufruf ins SharePoint Log schreibt, sind hier einsehbar. Das ist eine sehr gute Unterstützung zur Fehlersuche und auch zum Lernen.
Es genügt, das Fenster, in welchen das Developer Dashboard läuft, zu schließen. Es werden danach keine weiteren Daten protokolliert.
Arbeiten mit der Webpartwartungsseite
Die folgende Möglichkeit funktioniert auch in Office 365. Das Developer Dashboard wird oft genutzt, um Webparts zu identifizieren, welche eine lange Ladezeit haben. Dies kann durchaus auch ein Webpart sein, welcher geschlossen ist. Die einfachste Möglichkeit, einen Webpart zu löschen, ist nicht Seite zu bearbeiten, sondern der Aufruf der Webseite zur Wartung dieser. Diese Seite listet Ihnen alle auf einer Webseite vorhandenen Webparts auf und erlaubt Ihnen das löschen oder schließen dieser. Praktisch ist diese Seite auch, wenn Sie einen Webpart installiert haben und dieser durch eine Fehlfunktion den Aufruf der angeforderten Seite unmöglich macht. Sie können diese Webpartwartungsseite aufrufen, indem Sie an die URL der gewünschten Seite den Parameter ?contents=1 anfügen.
Beispiel: http://<Ihre Anwendung>/default.aspx?contents=1
Die Seite zeigt Ihnen alle Webparts auf der Seite an, egal ob geschlossen, personalisiert oder nicht. Markieren Sie die gewünschten Webparts und führen Sie die gewünschten Aktionen aus. Diese wird sofort ausgeführt. Anschließende können Sie mit dem Developer Dashboard die Geschwindigkeit der Seite erneut prüfen, sofern dies nötig und möglich ist.
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 meine Site
http://www.nicothiemer.de
Nico Thiemer