• Load Testen van Sharepoint met VSTS 2008 en VSTT Load Agents – Deel 3

    Het is al weer enige weken geleden dat ik mijn laatste post heb gedaan over het loadtesten van Sharepoint met Visual Studio Team Test. Deze post zal ik wijden aan het maken van webtests en het bundelen daarvan tot een loadtest.

    De webtests zijn de losse acties die je wilt uitvoeren. Een simpele webtest is aan te maken door deze te recorden vanuit Visual studio en verder te bewerken via de GUI. Een geadvanceerde webtest zal veelal geprogrammeerd moeten worden. In deze post ga ik niet in op gecodeerde webtests. Het is met deze blogserie de bedoeling eenvoudig een loadtest uit te voeren op Sharepoint. Met de GUI kan je al aardig wat goede loadtests uitvoeren op basis collaboratie of web content management omgevingen, zonder ook maar een regel code te kloppen.

    Het Test project

    Begin met het aanmaken van een test project:

    Als de configuratie gevolgd is uit mijn vorige blogpost zal er meteen een venster verschijnen voor het aanmaken van een loadtest. Selecteer Finish om de default instellingen te behouden. Selecteer in de Solution Explorer de properties van LocalTestRun.testrunconfig.
    In de Web Test kies je bij Number of run iterations voor One run per data source row. Verder kan ervoor gekozen worden de default Browser type veranderen.

    De WebTest

    Om een webtest aan te maken kies je in het Visual Studio menu voor Test > New Test. Selecteer vervolgens de Web Test en geef de test een naam. Wanneer je er nu voor kiest de test aan te maken zal Internet Explorer openen om de test te recorden. Ik zal niet elke actie uit de testmix uit eerdere posts uitleggen, omdat deze post anders veel te groot wordt J (ok, ik ben gewoon te lui). Ik zal echter een redelijk complexe actie stap voor stap uitwerken, welke je kunt gebruiken als referentie voor de overige acties. De actie die ik ga gebruiken als voorbeeld is het Uploaden van een document.

    Browse naar een teamsite en selecteer een document library. Upload vervolgens een document. Je zult nu in de linkerkolom alle opgenomen acties zien:

    Stop vervolgens de recording door in de linkerkolom voor Stop te kiezen. Er vindt een analyse plaats van de output en je zult in de webtest de recording terugvinden. Als we nu de webtest opnieuw zouden uitvoeren, dan zouden we elke keer hetzelfde document uploaden naar dezelfde document library op dezelfde site. Dit is uiteraard niet wenselijk. We zullen dus een stukje databinding moeten doen. Voordat we dat doen, controleren we eerst onze recording. Als we hem draaien zou hij moeten werken.

    Echter als we de test draaien krijgen we meteen een error:

    Als we de requests bekijken, zie je een AccessDenied.aspx request. Sharepoint geeft dus aan dat je geen rechten hebt op de pagina. Dit komt omdat je vanuit gebruikers context de Visual Studio test uitvoert. Je kunt dit echter aanpassen door in het WebTest tabblad de security aan te passen:

    Zou dit genoeg zijn???

    Helaas, de volgende melding die we krijgen is als volgt:

    Dit betekent dat Visual Studio het bestand niet kan vinden dat geupload moet worden. Om dit voor nu even op te lossen passen we de File Upload Parameter van het Upload.aspx request aan om het volledige pad naar het bestand te gebruiken:

    LoadAgentKnownIssues.rtf wordt in mijn geval dus C:\Temp\LoadAgentKnownIssues.rtf

    Als we de test nu draaien, gaat alles goed:

    Op naar het Data Binden!!

    Databinding

    Ik maak gebruik van CSV bestanden maar je kunt ook een database of xml bestand gebruiken. Maak dus een CSV bestand aan en geef op de eerste regel headers op. In dit geval gebruik ik een enkele kolom met als header DocumentPath. Op de volgende regels zet ik de namen van de bestanden. Daarnaast heb ik nog een CSV bestand nodig met de verschillende sites die ik wil gebruiken. Geef het bestand de SiteName header en voeg de namen van de sites toe. Als laatste heb ik een bestand nodig met alle gebruikers en de wachtwoorden. We willen natuurlijk met meerdere accounts testen. Dit resulteert in de volgende drie bestanden:

    Zoals je ziet vervang ik slechts delen van de padnaam en de URL. Dit doe ik omdat door het minimale tekstdeel te vinden dat variabel gemaakt kan worden, de kans groter is dat het CSV bestand voor meerdere parameters gebruikt kan worden. Ik loop hierdoor ook minder tegen problemen aan met het URL encoden van parameters, maar dat merk je vanzelf als je vaker dit soort tests ontwikkelt.

    Nu is het belangrijk om te onthouden dat je bij het uploaden van files de uploadbestanden beschikbaar moet hebben op de loadagent machines. Nu kan dat op de volgende 2 manieren:

    1. De bestanden kunnen toegevoegd worden aan de solution. Je hoeft dan niet het volledige pad te gebruiken. Bij het uitvoeren van de test worden de bestanden gekopieerd naar de load agents (als de Copy to Output directory properies van de bestanden juist ingesteld staan).
    2. De bestanden moeten handmatig op de loadmachines gezet worden. Je dient dan het volledige pad te gebruiken als waarde. Ik gebruik deze manier.

    Kopieer dus de bestanden naar de gewenste directory op de loadagent(s) en kies vanuit de WebTest tab van het project voor Add Data Source:
    "

    Kies voor CSV en selecteer het eerder aangemaakte bestand. Je kunt nu nog bepaalde kolomen selecteren, maar we hebben er maar 1. Kies ervoor het bestand toe te voegen aan het project. Doe dit ook voor het tweede bestand. Nu ze toegevoegd zijn, kun je de waarden gebruiken in de webtest.

    Om een waarde te gebruiken, kan je in de properties van de test kiezen voor een datasource, maar vaak wil je slechts een gedeelte van een property vervangen door een variable waarde. Dit kan ook; je dient dan de volgende syntax te gebruiken:

    {{<datasourcenaam>.<table>.<kolom>}} à {{Sites.sites#csv.SiteName}}

    Als we nu in elk request de Url en Expected Response Url properties parametriseren hebben we de webtest bijna zover aangepast dat we hem kunnen draaien voor alle sites in ons CSV bestand. Voor en na is als volgt:

    De test is nog niet helemaal gereed om tegen alle sites in ons CSV bestand te draaien. Als je het nu draait, mislukken alle iteraties behalve de eerste. Als je naar het mislukte request kijkt, dan krijg je de melding:

    Request failed: Context parameter '$HIDDEN1.__EVENTARGUMENT' not found in test context

    Dit betekent dat er schijnbaar een parameter gevuld had moeten zijn via een Hidden Field Extraction rule. Het gaat dus ergens eerder al mis, ondanks dat Visual Studio aangeeft dat de eerdere requests goed zijn afgehandeld. Als we van onder naar boven de requests aflopen komen we meteen in het vorige request de boosdoener tegen:

    Schijnbaar kan Sharepoint een bepaalde List niet vinden. Als je vervolgens requests eens nader bekijkt, zie je dat er in de POST continu dezelfde List parameter wordt meegegeven. Aangezien elke list in een content database een unieke GUID heeft, zal Sharepoint de list in combinatie met een bepaalde site alleen kunnen terugvinden voor de eerste iteratie. We zullen de post parameter dus moeten parametriseren. Als we in voorgaande requests kijken is er nergens een GUID als parameter opgenomen. We kunnen hem dus niet direct uit te recording halen. Als we echter de ListID opzoeken in het ruwe Responses van de eerste iteratie, dan zien we dat in het response van het AllItems.aspx request de GUID een aantal malen voorkomt. We kunnen hem dus uit de response HTML plukken via een Extraction Rule:

    Nu kan je het met een extraction rule op verschillende manieren aanvliegen, maar de makkelijkste is via een Text Extraction. Gebruik de volgende configuratie:

    Een andere manier is om een Regular Expression te gebruiken. Ik gebruik dan als regular expression:

    \{[A-Fa-f0-9]+\-[A-Fa-f0-9]+\-[A-Fa-f0-9]+\-[A-Fa-f0-9]+\-[A-Fa-f0-9]+\}

    De index (welke occurance hij moet gebruiken) is voor OOTB Sharepoint teamsites 2.

    Als we de Extraction Rule hebben aangemaakt voor het AllItems.aspx request, kunnen we hem gebruiken als QueryString parameter voor onze POST requests richting Upload.aspx. Zorg dus dat de List parameters als waarde onze GUID parameter gebruiken ( {{GUID}} ).

    Zoals je hierboven kunt zien, zijn er nog meer request parameters die aangepast kunnen worden, namelijk RootFolder en Source. Zorg ervoor dat deze ook geparametriseerd zijn.

    Een andere actie is dat we moeten zorgen dat niet steeds hetzelfde bestand wordt geupload. De laatste databinding is dus voor de te uploaden file. Als we de requests eens nader bekijken zie je in de context parameters van het tweede Upload.aspx request het File Upload Parameter.

    Deze passen we aan met {{Files.files#csv.DocumentName}} is het Data Binden gereed. Het complete overzicht van mijn test ziet er als volgt uit:

    Als we nu de webtest starten, gaat alles goed:

    Als je de requests 1 voor 1 doorloopt, zie je in de context parameters dat er op elke site een ander document wordt gebruikt. Je kunt via de opties op de Data Sources nog bepalen of de files iteratief of random worden gekozen.

    Als laatste binden we de user accounts. Dit gaat via het menu, waar we eerder het gebruikers account wijzigde:

    Nu het Data Binden klaar is, zijn we nog niet klaar. We gaan nu onze webtest opschonen.

    Opschonen

    De bedoeling is het uploaden van het bestand te meten. Ik wil alles wat daar niet mee te maken heeft, uit de test hebben. Dit betekent dat alle resources (gif, css en scriptbestanden) niet meegenomen worden, en dat alle voorlooprequests (voor zover ze geen properties vullen) uit de recording gehaald worden. Ik doe dit om mijn meetresultaten niet te overspoelen met deze veelal lichte acties. Ieder heeft hier zo zijn eigen ideeen over, en ik zal niet pretenderen dat dit de enige manier is, maar meetresultaten zien er altijd veel mooier uit als je al die andere requests wel meeneemt, en ik heb altijd "Hope for the best, but plan for the worst". Uiteindelijk komen die requests toch bijna altijd uit clientcache of servercache.

    Goed… Voordat ik begin met het opschonen, sla ik de WebTest altijd even op onder een andere naam als backup.

    Het opschonen vereist een beetje gezond verstand. Bekijk de requests, probeer de structuur te achterhalen, en het zin van het onzin te scheiden. Het feitelijke uploaden is een POST naar Upload.aspx. Daar ik begonnen ben met het openen van de rootsite en van daaruit gebrowsed ben naar de document library, vertelt mij dat ik die requests normaal gesproken eigenlijk al niet nodig. Je ziet eveneens dat er geen properties zijn opgeslagen aan het ontbreken van de + voor het request. Dit betekent dat er geen waardes in de web context zijn opgeslagen die gebruikt kunnen worden in het volgende request:

    Ik verwijder het eerste request dus!

    Wat ik vervolgens meestal doe is tijdens het opschonen elke keer de test gewoon nog een keer aftrappen, om te controleren of de test nog steeds werkt.

    Misschien valt het op dat de resource requests niet zichtbaar zijn in de recording. Dat klopt, maar bij uitvoering worden ze wel opgehaald. Om dit te voorkomen, dien je in de properties van de requests Parse dependent requests op false te zetten (elk request apart):

    De webtest is zo voldoende opgeschoond. We zijn nu bijna klaar met de webtest. Er rest nog 1 belangrijke taak, namelijk het aanmaken van validation rules.

    Validation Rules

    Zoals we al een aantal malen hebben gezien geeft Visual Studio soms aan dat een request goed is uitgevoerd, terwijl we niet het verwachte response hebben gekregen. Denk maar aan de AccessDenied.aspx pagina. We kregen successful request van Visual Studio terug, maar dat is niet wat we willen. We zullen hier wat validatie moeten toepassen via Validation Rules.

    Zo begin ik met een validation rule voor dat specifieke geval op elk request. Het makkelijkst is dat via een Text Found rule. Ik gebruik de volgende:

    Hou er rekening mee dat Pass If Text Found op False moet staan. Hij moet namelijk failen als die tekst wordt gevonden op de pagina. Een andere die ik altijd op elke request toepas is een Text Found rule die zoekt naar de tekst: Troubleshoot issues with Windows SharePoint Services. Deze tekst staat namelijk op de Error pagina die Sharepoint gebruikt (tenzij je custom error pages gebruikt, of volledige errormeldingen toestaat in Web.config).

    Met deze twee validation rules vang je bijna alles af. Standaard triggert Visual Studio al een failure op http status codes als 500 en 404.

    Wat ik persoonlijk in dit scenario nog toevoeg is een Text Found rule voor de filename die geupload wordt. Ik parametriseer de tekst waarop gezocht wordt met {{Files.files#csv.DocumentName}}.

    Nu is onze webtest eindelijk klaar!!

    Als we nu meerdere tests gemaakt hebben kunnen we de LoadTest gaan configureren:

    Load Test configuratie

    Met meerdere webtests kunnen we gaan loadtesten. De configuratie is redelijk eenvoudig. In de solution explorer hebben we onze load test staan (bestand eindigt op .loadtest). Hernoem en dubbelklik deze om een tabblad te krijgen. Standaard ziet de configuratie er zo uit:

    De belangrijkste settings zijn de Test Mix, de Browser Mix, de Network Mix en het Load Pattern. De Test Mix staat er nog niet tussen, maar hierin bepaal je welke tests en met welke verdeling uitgevoerd dienen te worden. Verder kunnen we met de browser Mix bepalen welke type browsers gesimuleerd dienen te worden, en met de Network Mix welke type netwerken (Deze laatste knijpt echter alleen de bandbreedte en doet niets met latencies en is daardoor dus niet echt spannend.). De Loadpattern bepaalt welke load er op de omgeving gezet wordt.

    In deze test laat ik de Browser Mix en Network Mix default en zet ik de LoadPattern op een Step Load. Een stepload stelt mij in staat over een bepaalde periode telkens een aantal gebruikers op te schalen. Dit is aan te bevelen om de de te testen omgeving de Sharepoint en IIS caches te laten opbouwen. Met een constant userload, zet je meteen de maximale load op de omgeving, wat dus tot problemen zou kunnen leiden. Een typische step configuratie ziet er zo uit:

    Met deze configuratie wordt er begonnen met 10 users en wordt er elke 10 seconde 10 users bijgeschakeld totdat we aan het maximum van 200 users zitten.

    Nu is het de bedoeling testen toe te voegen aan de loadtest. Dit gaat door het aanmaken van een testmix. Kies voor Edit Test Mix van het context menu van de load test:

    In de Test Mix kan je voor een aantal modellen kiezen, maar de Test Mix op basis van het aantal tests is het meest voor de hand liggende. Ik heb twee tests toegevoegd, welke ik met een 90% - 10% percentage verdeel. Dit betekent dat 90% van de acties het benaderen van de homepage is:

    Nu is eigenlijk mijn load test al klaar. Ik kan via de Counter Settings nog System Counters toevoegen. Hiervoor moet het visual studio account rechten hebben op de machine (minimaal Performance Log User), en moeten de firewall rules juist zijn ingesteld. Via de Run Settings kunnen we bijvoorbeeld bepalen hoe lang de loadtest moet duren (Timing), maar ook bijvoorbeeld SQL tracing configureren of de connectie pool instellingen aanpassen.

    De Timing instellingen zijn altijd van belang. Je bepaalt met Run Duration de looptijd, met de Sample Rate met welke interval performance counters worden gelogd en met Warm-Up Duration en Cool-down Duration hoe lang het duurt voordat er begonnen wordt met het verzamelen van meetgegevens en hoe lang voor het eind er gestopt wordt. Het opwarmen van cache en het opstarten van applicatie pools vervuilen immers alleen de meetresultaten.

    Als dit alles is geconfigureerd, kan er begonnen worden met het load testen. Meer hierover in het volgende en laatste deel van deze blogserie J

     

     

     

  • Terminal Services Gateway beveiligen met ISA Server 2006

    Met ISA Server 2006 kan je een Terminal Services Gateway voorzien van extra beveiliging door deze te publishen via een Web Listener. Daar TSG gewoon gebruik maakt van RPC over HTTPs zoals Exchange met Outlook Anywhere dat ook doet, gaat het publishen hiervan net zo gemakkelijk.

    Om te beginnen moeten we SSL certificaten hebben voor zowel de ISA server als de TSGateway. Aangezien de ISA Server draait op Windows Server 2003 hebben we nog niet de mogelijkheid om vanuit de Certificates Snap-in een Certificate Signing Request (CSR) te maken. Veelal moet er een offline request gemaakt worden, omdat dat bijvoorbeeld naar een Public Certificate Authority zoals Verisign gestuurd moet worden. Op Windows Server 2003 hebben we beperkte mogelijkheden. Zo kunnen we een request maken via IIS, maar een webserver installeren voor een CSR is een beetje overdone. Ook kunnen we gebruik maken van een Microsoft CA via de certificate Server Website, maar ook die is niet altijd voor handen. De laatste mogelijkheid is om een certificaat aan te vragen op een Windows 2008 machine met de mogelijkheid de private key te exporteren en dan vervolgens het complete keypair te exporteren en importeren. Dat is echter minder secure, want als het systeem gecompromitteerd wordt, kan het complete keypair gestolen worden, in plaats van alleen de public key.
    Dan blijft er dus eigenlijk alleen CertReq.exe over, wat onderdeel is van de Administration Toolkit http://www.microsoft.com/downloads/details.aspx?familyid=86b71a4f-4122-44af-be79-3f101e533d95&displaylang=en

    Hiervoor moet een INF bestand aangemaakt worden volgens de syntax op http://technet.microsoft.com/en-us/library/cc736326.aspx

    Nu lijkt dit heel moeilijk, maar als je het even goed doorleest valt het allemaal wel mee. Mijn INF bestand ziet er als volgt uit:

    [NewRequest]
    Subject = "CN=rdp.home.com"
    PrivateKeyArchive = FALSE
    KeySpec = 1
    KeyLength = 1024
    Exportable = FALSE
    UserProtected = FALSE
    MachineKeySet = TRUE
    Silent = TRUE
    ProviderName = "Microsoft Enhanced Cryptographic Provider v1.0"
    ProviderType = 1
    UseExistingKeySet = FALSE
    RequestType = PKCS10
    KeyUsage = 0x30
    EncipherOnly = TRUE
    [RequestAttributes]
    CertificateTemplate = "WebServer"

    Nu sign ik mijn eigen certificaten, maar Internet CAs hebben vaak bepaalde eisen over de opmaak van het CSR (voornamelijk rondom het Subject en usage attributen). Op de internetsites van deze bedrijven is vaak meer informatie te vinden. Zorg dus dat je aan deze voorwaarden voldoet.

    Na het aanmaken van de INF, kan ik een CSR creëren met het volgende commando:"

        Certreq.exe –new <padnaarinf.inf> <padnaarcsr.req>8

    Met het CSR kan je vervolgens het certificaat aanvragen. Wanneer je het certificaat terugkrijgt van de CA (mocht je een Windows 2008 CA hebben zoals ik, kan je via de Certificate Authority MMC snapin het request honoreren, en het certificaat opslaan), dien je het als keypair op te slaan door het volgende commando te draaien:

        Certreq.exe –accept <padnaarcertificaat.cer>8

    De keypair wordt nu opgeslagen in de Computer > Personal certificate store. Vergeet dit laatste commando niet, want je kunt prima het certificaat opslaan via andere wegen, maar dan wordt het niet gekoppeld aan de private key die gebruikt is bij het vervaardigen van het request. Je hebt dan geen keypair en kan het certificaat dus niet gebruiken voor SSL/TLS doeleinden. Nutteloos dus.

    Het tweede CSR is een stuk simpeler. Daar Terminal Services Gateway een Windows Server 2008 service is, kunnen we heel simpel een Custom Request maken vanuit de Certificates MMC snapin.

    In het request, kies je voor het Web Server template. Behoudt de default settings, welke automatisch de common name als Subject neemt. Dit is voldoende voor ons scenario, tenzij je dit interne certificaat ook door een publieke CA wilt laten aanmaken, waardoor je weer met bepaalde eisen te maken kan hebben. Voor een interne CA –bijvoorbeeld de Windows 2008 CA – is dit meestal voldoende. Genereer het certificaat bij de CA (voor Windows 2008 CA via de Certificate Authority MMC Snapin > New Request) en importeer het certificaat in de Computer > Personal certificate store.

    Na het installeren van de certificaten gaan we een Web Listener aanmaken. Dit doe je vanuit de Network Objects in de ISA Console.

    1. Kies voor New Web Listener.
    2. Geef een naam voor de Web Listener.
    3. Kies er vervolgens voor Secure verbindingen te gebruiken
    4. Geef de netwerken op waar de Listener, moet 'Listenen' J. Ik heb een 3-leg configuratie dus ik kies voor het External Network.
    5. Kies vervolgens het certificaat dat we zojuist hebben aangemaakt.
    6. Authentication moet op basic HTTP staan, met als directory Active Directory of LDAP. Voor meer informative over LDAP authenticatie, zie http://www.isaserver.org/tutorials/LDAP-Pre-authentication-ISA-2006-Firewalls-Part1.html
    7. SSO kan niet met HTTP basic, dus selecteer Next en Finish om af te sluiten.

    Vervolgens moet er een Publishing Rule aangemaakt worden. Dit gaat als volgt:

    1. Vanuit de ISA Console ga je naar Firewall Policy > New > Exchange Web Client Access Publishing Rule.
    2. Kies vervolgens voor Exchange 2007, Outlook Anywhere (RPC/HTTPs) en deselecteer Publish additional folders…
    3. Kies voor Publish a single Web site or Load balancer.
    4. Kies voor een SSL connectie richting de backend.
    5. Geef de interne FQDN van de Terminal Services Gateway en de machinenaam of ip adres op:
    6. Kies vervolgens voor This domain name only (type below:) en geef de externe FQDN op die we bij de certificaat aanvraag hebben opgegeven (de CN in het subject, in mijn voorbeeld rdp.home.com).
    7. Selecteer de Web Listener die we zojuist hebben aangemaakt.
    8. Kies voor No Delegation, but client may authenticate directly.
    9. Selecteer een user set en maak de installatie af.

    Verder kan het zijn dat het CA certificaat in de Trusted Certificate Root Authorities store van het Computer Account opgeslagen moet worden. Dit moet gebeuren op de server machines, maar ook op de client machines. Ik gebruik een interne CA, dus ik heb het op alle non-domainjoined machines en mijn client machines handmatig moeten toevoegen. Het certificaat is te vinden in de Computer > Personal store van de CA (veelal bevat deze er minimaal twee, dus controleer goed dat je het CA certificaat te pakken hebt, en niet het computer certificaat of enig ander certificaat)

    Als Laatste vraag je de properties op van de Rule, en selecteer je Test Rule (vanaf ISA 2006 Service Pack 1). Dit controleert de configuratie. Als er iets mis is met certificaten, zal je dat nu zien.

    Nu alles geconfigeerd is, is het tijd om het te testen met een terminal services client. In de advanced properties van de client, geef je de externe FQDN op van de ISA server:

    Op de terminal services gateway geef je in je Connection Policy op, welke users connectie kunnen maken met de Gateway. In de Resource Policy geef je de users op die verbinding mogen maken met de resources, en je geeft de machines op die als resource mogen dienen. Als je nu een verbinding maakt, krijg je eerst een prompt voor Connectie, en vervolgens voor de resource. Ik vind het persoonlijk fijn om slechts een enkel account rechten te geven voor de connectie; deze verder geen rechten te geven op enig andere resource, en via AD Auditing te tracken; En vervolgens een ander account te gebruiken voor de connectie naar de resource.

    Mocht je tegen problemen aanlopen, check dan de Terminal Services Gateway logs op de TS gateway en de ISA Logs. Verder is er nog enige informatie te vinden op: http://technet.microsoft.com/en-us/library/cc731353.aspx

  • Waar vind ik mijn technische informatie over Microsoft producten?

    Ik krijg vaak te horen dat men door de grote hoeveelheid informatie niet kan vinden wat men zoekt, of dat de structuur van onze sites onhandig is. Ik ben het hier niet helemaal mee eens en wil met deze post laten zien wat de mogelijkheden zijn om aan informatie te komen op Microsoft.com. Ik zal niet ingaan op elke Microsoft site, maar tips geven hoe aan informatie te komen.

    Bijna alle informatie over onze producten is te vinden op Microsoft.com. Het probleem met Microsoft.com is dat er zo verschrikkelijk veel informatie voor handen is, en er zo veel mensen content editen, dat het lastig kan zijn informatie terug te vinden. Toch vind ik dat er op zich een goede structuur is, en met de juiste methoden de informatie prima te vinden is. Mensen beginnen gewoon op de verkeerde manier met informatie zoeken.

    Waarschijnlijk 9 op de 10 mensen zal hun favoriete zoekmachine openen en via zoektermen proberen de vereiste informatie boven water te toveren. Dit werkt vaak goed, maar het kan vaak makkelijker. Het probleem met zoeken is dat men veelal niet kort kan verwoorden wat men precies zoekt, waardoor het moeilijk in zoektermen te vatten is. Vaak kom je net zo makkelijk aan informatie zonder een zoekmachine te gebruiken. Net als bij bijna elk ander bedrijf start het internetavontuur bij een internet portal, in dit geval http://www.microsoft.com

    Zoals elke portal is dit de toegang tot alle informatie in het microsoft.com domein. Afhankelijk van het type informatie dat je zoekt, kan je kiezen voor een categorie en bijhorende site. De meest bekende zijn sites als Technet, MSDN, Support, Connect en Download. Aangezien we technische informatie zoeken kunnen we kiezen voor een van de vele productspecifieke sites, waar voornamelijk de algemene informatie te vinden is, of bijvoorbeeld Technet met informatie specifiek voor IT professionals. Informatie over downloads is te vinden op download.microsoft.com, informatie over support op sites als support.microsoft.com en ga zo maar door. In de toplink bar zijn de sites gegroepeerd.

    Als het puur om technische informatie gaat zoals informatie over het installeren of configureren van software, dan is Technet 'the place to be'. Sinds enige tijd maakt Technet gebruik van TechCentres, wat subsites zijn voor specifieke producten.

    Binnen een TechCentre is veelal de informatie heel netjes gegroepeerd, zoals te zien is op het Sharepoint TechCentre, waar voor verschillende topics als Update, Disaster Recovery en Deployment weer aparte Resource Centres (TechCentre subsite) waar alleen informatie te vinden is over dat specifieke onderwerp. Van hieruit wordt je doorgestuurd naar verschillende plekken binnen Microsoft.com. Zo zal het Updates Resource centre veelal artikelen linken vanuit support.microsoft.com en patch downloads vanuit downloads.microsoft.com. Zo is veel informatie snel voor handen binnen slechts enkele muisklikken.

    Mocht het via deze weg nog niet mogelijk zijn de informatie te vinden heeft Technet (en de meeste andere Microsoft.com sites) ook nog de zoekoptie, welke gebaseerd is op Live Search:

    Nu kan het zijn dat je de informatie die je zoekt niet kan vinden. Voornamelijk wanneer je met een specifiek vraagstuk zit, wat net even anders is dan gebruikelijk, loop je tegen de beperkingen aan van online documentatie. In zulke gevallen wil je terugvallen op lotgenoten en experts. Gelukkig zijn daar genoeg mogelijkheden voor. Communities hebben binnen microsoft.com een prominente plek onder http://www.microsoft.com/communities/default.mspx . Zo zijn er veel informatiebronnen als blogs, nieuwsgroepen, chats en community sites terug te vinden. Op elk van deze bronnen is het mogelijk in contact te komen met andere IT-pro's waaronder veel Microsoft medewerkers en MVPs. Voornamelijk de nieuwsgroepen en fora zijn veelbezochte locaties. Mocht je dus met vragen zitten of op de hoogte willen blijven van wat er voor problemen en vraagstukken spelen bij collega IT-ers, zorg dan dat je regelmatig een kijkje neemt op de nieuwsgroepen en fora.

    Het op de hoogte blijven met de ontwikkelingen op bepaalde gebieden kan veel tijd in beslag nemen. Ook hier zijn er een aantal mogelijkheden, die dit een stuk makkelijker maken. Zo zijn er newsletters ,RSS feeds en zelfs tijdschriften waarop geabonneerd kan worden.
    Email newsletters kunnen aangevraagd worden via https://profile.microsoft.com/RegSysProfileCenter/SubCntDefault.aspx . Hier heb je de mogelijkheid te registreren voor heel veel verschillende newsletters, ook in de eigen taal.

    Voor de RSS feeds bestaat er de Feeds directory op http://www.microsoft.com/rss/, waar je kan registreren voor honderden feeds waaronder de feeds voor de laatste KB artikelen voor bepaalde technologieën of de Microsoft Security Bulletins. Even registreren in Outlook 2007 en.. VOILA! Binnen een paar seconden ben je op de hoogte van de laatste nieuwe content.

    Zoals gezegd zijn er ook tijdschriften waarop geabonneerd kunnen worden. Microsoft Nederland heeft een aantal tijdschriften, die gratis zijn voor IT-pro's. Dit zijn MSDN .Net Magazine en Technet Magazine. Abonneren kan via:

    .NET Magazine:
    https://profile.microsoft.com/RegSysProfileCenter/wizard.aspx?wizid=d7805d54-2171-4601-b654-55537eefb3bc&lcid=1033&fu=/belux/msdn/nl/community/netmagazine/subscribed.mspx

    TechNet Magazine:
    http://technet.microsoft.com/nl-nl/cc514308.aspx

     

    Zo zie je. Er zijn genoeg bronnen voor informatie, en als je weet wat je doet kan je prima de informatie vinden die je zoekt. Neem af en toe de tijd om je kennis bij te spijkeren en vergeet vooral de blogs op http://blogs.microsoft.nl, http://blogs.msdn.com en http://blogs.technet.com niet!

     

     

     

  • Backup/Restore van Publishing sites over farms is vanaf heden mogelijk

    Voorheen was het niet mogelijk Sharepoint sites die de publishing features gebruiken te restoren op een andere farm dan waar de backup was genomen. Dit omdat bepaalde hardcoded URLs en GUIDs in de content database opgeslagen waren, zoals bijvoorbeeld de URLs van de page layouts. Omdat veel klanten hierover klaagden is dit met een fix in de April CU voor Office Sharepoint Server 2007 aangepast. Er waren wel wat workarrounds voor, maar het wordt nu dus officieel ondersteunt.

    April CU (global):
    April CU for Windows SharePoint Services 3.0, x86 & x64 (UBER PACKAGE)
    http://support.microsoft.com/hotfix/KBHotfix.aspx?kbnum=968850&kbln=en-us

    April CU for Office SharePoint Server 2007, x86 & x64 (GLOBAL only. Uber package wordt verwacht over een week)
    http://support.microsoft.com/hotfix/KBHotfix.aspx?kbnum=968859&kbln=en-us

    Bron:
    http://blogs.technet.com/stefan_gossner/archive/2009/05/01/red-is-green-up-is-down-and-the-unsupported-suddenly-becomes-supported.aspx

  • Service Pack 2 en April Cumulative update voor Sharepoint Services en Server 2007

    Sinds vandaag is de April cumulative update voor Sharepoint services en Sharepoint Server 2007 beschikbaar. Aangezien service pack 2 deze week ook is vrijgegeven rijst de vraag: "Hoef ik alleen Service Pack 2 te installeren of is April CU genoeg". Het antwoord is:

    Om op de laatste build te komen moet je beiden installeren, omdat Service Pack 2 niet de fixes uit April CU bevat. Als alleen de laatste bugfixes genoeg zijn, kan volstaan worden met April CU. Het is echter aanbevolen zo snel mogelijk naar Service Pack 2 te gaan, aangezien er aanzienlijke verbeteringen op een aantal vlakken zijn aangebracht. Aanvullende Informatie over de fixes is te vinden op:

    KB Links

    Description of Windows SharePoint Services 3.0 SP2 and of Windows SharePoint Services 3.0 Language Pack SP2
    http://support.microsoft.com/kb/953338
    Description of 2007 Microsoft Office servers Service Pack 2 (SP2) and of 2007 Microsoft Office servers Language Pack Service Pack 2 (SP2)
    http://support.microsoft.com/kb/953334

    KB links voor April CU zijn nog niet beschikbaar. Ik post ze zo snel mogelijk.

    Download Links

    Service Pack 2 for Windows SharePoint Services 3.0, x86 & x64
    http://www.microsoft.com/downloads/details.aspx?FamilyId=79BADA82-C13F-44C1-BDC1-D0447337051B&displaylang=en

    Service Pack 2 for Office SharePoint Server 2007, x86 & x64
    http://www.microsoft.com/downloads/details.aspx?FamilyId=B7816D90-5FC6-4347-89B0-A80DEB27A082&displaylang=en

    April CU for Windows SharePoint Services 3.0, x86 & x64 (UBER PACKAGE)
    http://support.microsoft.com/hotfix/KBHotfix.aspx?kbnum=968850&kbln=en-us

    April CU for Office SharePoint Server 2007, x86 & x64 (GLOBAL only. Uber package wordt verwacht over een week)
    http://support.microsoft.com/hotfix/KBHotfix.aspx?kbnum=968859&kbln=en-us

    Aanvullende informatie:

    http://blogs.msdn.com/sharepoint/archive/2009/04/28/announcing-service-pack-2-for-office-sharepoint-server-2007-and-windows-sharepoint-services-3-0.aspx

    http://blogs.msdn.com/joerg_sinemus/archive/2009/05/01/should-i-install-sp2-and-or-april-cu.aspx