maandag 23 juli 2012

Betere SharePoint foutmeldingen... hoe regel ik dat?

Bij een van mijn vorige werkgevers hadden we een melding bedacht voor foutsituaties waarmee we niets konden: "Er is iets vreselijks gebeurd, bel systeembeheer.". Wij technici konder de humor wel inzien, voor eindgebruikers moet deze melding angstaanjagend geweest zijn. Ik voel me schuldig, maar da's achteraf. Maar ik heb nu ook aan den lijve ondervonden wat eindgebruikers doorgemaakt moeten hebben. En dat allemaal dankzij de "An unexpected error has occurred" melding die SharePoint (2007) standaard geeft wanneer er "iets vreselijks" mis gaat. Gelukkig is er een eenvoudige oplossing die met een welwillende houding van systeembeheer snel kan worden gerealiseerd.

De oplossing in het kort

Oplossing moet worden geimplementeerd op de webservers in het SharePoint farm in kwestie. Tip: maak hier een script voor.


Voor iedere web server:
  1. Login op de web en ga naar de locatie van de betreffende web site (collectie), waarschijnlijk te vinden in een lokatie als: C:\Inetpub\wwwroot\wss\VirtualDirectories.
  2. Open de “web.config” file met een tekst editor
  3. Wijzig de volgende regels in de configuratie file:
  4. Op de eerste regel code waar het woord “CallStack” voorkomt, verander de instellingen CallStack en AllowPageLevelTrace in “true”.
  5. Zoek verder naar het woord “Errors”, en verander de instelling mode in “Off”.
  6. Bewaar de configuratie file en sluit de editor.
  7. De web server IIS moet hierna reset worden (IISRESET). Dat betekent dat de SharePoint webservers eventjes niet beschikbaar zijn. 

Aandachtspunten

Bovenstaande oplossing is snel te realiseren, maar en zijn ook een paar aandachtspuntjes. In het kort:
  • Voor websites die door de boze buitenwereld kunnen worden bekeken (internet, extranet) biedt bovenstaande oplossing extra informatie aan potentiele inbrekers. Dit is natuurlijk niet gewenst.
  • Een melding die met bovenstaande oplossing aan de eindgebruiker wordt gegeven biedt welliswaar meer informatie, maar dit moet wel door de eindgebruiker aan de helpdesk doorgegeven (kunnen) worden. En als dat niet gebeurt (b.v. omdat de foutmeldingen technisch van aard zijn en niet begrepen worden of misschien gewoon weggeklikt worden), dan schiet de oplossing haar doel voorbij.

Een eigen error page maken

Een betere oplossing is het maken van een eigen error page waarin zelf geselecteerde informatie kan worden aangeboden. Naast specifieke informatie over de fout kan ook informatie worden opgenomen over de manier waarop er melding van gedaan kan worden. Denk hierbij ook aan een link naar een email adres waarop geklikt kan worden en waarbij de mailapplicatie wordt opgestart en een nieuw mailtje wordt aangemaakt met alvast de meest relevante informatie daarin.

Een mooie start hiervoor is te vinden in deze site.

SharePoint, IIS, Windows server en SQL-server logfiles

Natuurlijk zijn bovenstaande logfiles eveneens zeer waardevol voor het kunnen analyseren van fouten. Echter, ze moeten wel toegankelijk gemaakt worden. Wellicht kan hiervoor een online dienst gemaakt worden.

SharePoint 2010

SharePoint 2010 biedt betere mogelijkheden om fouten te analyeren. De "An unexpected error has occurred" melding is gebleven maar gaat vergezeld van een zogenaamde correlation code. Dit is een alfa-numerieke code (een GUID, een Globaly Unique IDentifier) waarmee systeembeheer relatief eenvoudig relevante informatie over de gebeurtenis aan de hand van deze code in de verschillende logfiles kan terugvinden.

Geen opmerkingen:

Een reactie plaatsen