Tag Archives: sharePoint

I’m now a Microsoft Certified Master on SharePoint Server 2010

I’ve just received the official confirmation from Microsoft that I’ve passed all the requirements and I’m now a Microsoft Certified Master: SharePoint Server 2010!

MCM

I started preparations (and saving money) for MCM (R11) in November 2011, so it took a little over 8 months to complete from reading the pre-reading content to passing both the knowledge and lab exams in July 2012.

Why bother with MCM?

For two years I contemplated if I should apply for the MCM training. The cost (more on that in a bit) seemed a bit steep and most people in the Nordic countries, where I mostly work, didn’t seem all that impressed with yet another acronym. It sometimes felt as if the really old MCSE-style certifications (from 1995, not the recent upgrades) were all that recruiters, IT managers and business decision-makers wanted to talk to.

I’ve been pretty serious about SharePoint for quite some time now. Having written a book in my native Finnish language on MOSS 2007 in early 2007, I’ve had a blast working with SharePoint Server 2010. About a year ago I had a chance to work with some of my old colleagues from Microsoft (I left in early 2009), a few of them having attained the holy MCM grail. They were still the same guys so nothing magical about becoming a certified Master. I still felt, though, that advancing my career, gaining more experience and doing something that not everybody is capable of doing was still on my bucket list. From there I made the decision to apply for the MCM rotation pretty quickly.

And I reasoned that if I just stop eating for the duration of the training I’d save enough to pay my way through the training..

The cost

Money

It’s not cheap, that’s for sure.

I ended up paying the regular $18,500 (about 15 000 euro) program fee. In addition there’s a $125 entrance fee for applying. Since my rotation (R11) was a hybrid one I needed to travel to Redmond for 8 days. Add in plane tickets and hotels (about $1000 for plane tickets and $1000 for hotel), and we’re looking at a pretty considerable sum of $20,650 (16 700 euro).

I also needed to retake both of my failed exams, which added an additional $2750 on top of this.

Yes, it’s a lot of money. Was the training worth the investment?

It’s too early to say, having just received the certification. If I consider the amount of training I was given, I don’t consider the amount of money too outrageous:

  • 60+ hours of onsite training given by the very best of the best – people like Vesa Juvonen, Spencer Harbar, Kimmo Forss, Todd Carter, Bill Baer, to name a few
  • 2000+ slides of deep technical content
  • 100+ hours of remotely delivered training, twice a week for 3 months
  • Access to top of the line lab servers remotely
  • + stuff that’s under NDA for MCM candidates

If you simply divide the program fee ($18,500) with the hours of training you’ll receive (about 160 hours), a single hour costs you $115 and some. Where else can you ask an MCA or SharePoint Product Manager a technical question in real-time and actually receive very good answers for that kind of price?

The challenges and some advice

As a father of two small children I felt the hybrid rotation of MCM is amazingly challenging. Reflecting back to January of this year I think it would have been easier to stay in Redmond for 3 weeks and try to complete the certification in one go. I chose the hybrid approach due to family reasons and because I also felt staying in Redmond for 3 weeks would drive me crazy.

Throughout January, February and March there were (live) online trainings for 4-5 hours at a time. My two sons often wake up very early (think 5:40 am) and after dropping them to kindergarten I’d often do 9 hours at the office. After that I’d still have 4-5 hours of level 400 content to listen to. Plus the hands-on labs, pre-reading, additional reading and running my own SharePoint consulting and training company at the same time.

I think it’s fair to say the first half of 2012 was the most taxing for me in my 35 years of existence.

For anyone hoping to attend an MCM training, I’d like to give a simple advice: Clear up your schedule before starting the training and not while you are doing it. I was constantly reorganizing my calendar to cram as much customer projects to offset the costs and time spent on my MCM training.

About knowledge

Do I know everything about SharePoint now? No, and I never will. I know what I’m good at and I know where my weaknesses lie. I’ve learned so much in the past 6 months that it’s hard to fully understand all the topics, techniques and insights I’ve had the opportunity to learn.

The key is not about knowing some trivial technical tidbit for a very special scenario, but rather to understand the overall landscape and being confident and capable of doing deep-dives with comfort to new topics and challenges.

It was eye-opening for me to be able to reflect my existing skill set with others and especially to learn how others have achieved certain solutions and results. I also knew what my strengths were when starting the MCM rotation but I also learned a lot about my weaknesses and false assumptions on certain topics.

What now?

Now, it’s time to put the newly-acquired skills and certification to a good use by delivering world-class SharePoint solutions, training and troubleshooting! :)

Modifying SharePoint Web Application settings may cause application pool recycle

Large glass of whisky on the rocksI needed to modify certain settings for a given SharePoint Web Application. I’ve taken the habit to figure out a way to achieve things through Powershell, instead of just sleepily clicking through Central Administration. It’s a bit slower but provides me with a useful way to figure out the internals of the Powershell provider for SharePoint.

The setting I needed to modify is Enable Client Integration, which is enabled by default. For anonymous users on public-facing sites, this should be disabled. Non-authenticated users should not need to use client applications such as Word in our scenario. The setting can be changed in Central Administration under Application Management > Manage web applications > Select a web app and then click Authentication Providers in the ribbon:

image

For my test box I’m using Windows-authentication for the Default zone. By clicking the zone name (Default), I can verify the current value of Enable Client Integration:

image

To change this value through Powershell, I have to dabble with the dreaded IisSettings-property, which is exposed as a collection. The following is a snippet from the Powershell function I wrote to make the change happen:

   1: $wa = Get-SPWebApplication $webapp.Url

   2: # set EnableClientIntegration to $true or $false

   3: $wa.IisSettings.Keys | % { ($wa.IisSettings[$_]).EnableClientIntegration = $false; $wa.Update(); }

   4: $wa.ProvisionGlobally(); 

By setting EnableClientIntegration to $false I’m able to force SharePoint, for a given web app, to disable the setting. For any changes done for IisSettings I have to provision them for the farm with ProvisionGlobally().

SharePoint now detects changes to IIS and automatically unloads the application pool for the web application that was modified:

The application domain /LM/W3SVC/253447295/ROOT-1-129727257347745584 is unloading and going to be recycled.

The shutdown reason is verbose, to put it politely:

Shutdown Reason: Change Notification for critical directories.  App_Browsers dir change or directory rename  HostingEnvironment initiated shutdown  Change Notification for critical directories.  App_Browsers dir change or directory rename  Change Notification for critical directories.  App_GlobalResources dir change or directory rename  Change Notification for critical directories.  App_GlobalResources dir change or directory rename  Change Notification for critical directories.  App_GlobalResources dir change or directory rename  Change Notification for critical directories.  App_GlobalResources dir change or directory rename  Change Notification for critical directories.  App_GlobalResources dir change or directory rename  Change Notification for critical directories.  App_GlobalResources dir change or directory rename  Change Notification for critical directories.  App_GlobalResources dir change or directory rename  Change Notification for critical directories.  App_GlobalResources dir change or directory rename  Change Notification for critical directories.  App_GlobalResources dir change or directory rename  Change Notification for critical directories.  App_GlobalResources dir change or directory rename  Change Notification for critical directories.  App_GlobalResources dir change or directory rename  Change Notification for critical directories.  App_GlobalResources dir change or directory rename  Change Notification for critical directories.  App_GlobalResources dir change or directory rename  HostingEnvironment caused shutdown  Change Notification for critical directories.  App_GlobalResources dir change or directory rename  Change Notification for critical directories.  App_GlobalResources dir change or directory rename

Refreshing Central Administration now reveals the change:

image