Tags: , | Posted by thomas on 7/12/2010 6:34 PM | Comments (0)

After almost 10 years since my last certification efforts, I took some SharePoint 2010 exams in june and passed! Although being an IT Pro, the next two exams on my list are the SharePoint 2010 development exams. Because you can never know too much about the “other side”. I’ll keep you posted on my progress on these ones.

 

MCITP(rgb)_1349

 

MCTS(rgb)_1342

Tags: , , | Posted by thomas on 2/19/2010 8:00 AM | Comments (0)

A problem I already noticed in Vista but one that keeps bugging me in Windows 7. Something I always do when installing a pc is moving all user related folders to another partition. That way, my C drive is of relatively low importance hence all my documents are the other drive. Reinstalling your system becomes a snap that way.

favorites1

Unfortunately, you may run into problems when you do so.  By default, Internet Explorer has its Protected Mode activated. When you try to save a website in your Favorites folder, you are greeted with rather obscure error message: “Unspecified Error”.

To work around this, you have to tell IE that the new location of your Favorites can be trusted. Open up a command prompt as an administrator, go to the parent folder of your Favorites folder and issue the following command:

icacls Favorites /setintegritylevel (CI)(OI)low

That’s it, you’re done.

Tags: , , | Posted by thomas on 2/18/2010 2:00 PM | Comments (0)

Some time ago I inherited a rather complex and intimidating codebase that I wanted to get my head around to. I already made some minor tweaks in the past, but without fully understanding it. The time has come to refactor some crucial parts in this application. In comes NDepend

 

NDepend was known to me for many years as I used the free version in the past on and off on smaller projects. It basically analyses the hell out of your code and provides some really compelling statistics and graphs. The feature list is impressive and the latest (beta) version integrates fully with Visual Studio.

 

Patrick Smacchia was kind enough to provide me with a free license to his amazing product. But sadly enough I did not find the time to play with it that much. Until now that is.

 

On my particular project, I contemplated for a long time on coming up with a mass amount of unit tests to support the code. But doing so after the fact is not only boring, but also not very effective if you don’t fully grasp the inner workings of it. The change I had to make needed me to better understand the code.

 

After I ran NDepend, I was greeted with a marvelous report that provided me with insights I had never seen before. Especially the “Assemblies Abstractness vs. Instability” diagram put me with my feet on the floor again.

 

ndepend_1

 

Now I know why coming up with decent unit tests for this code would not be easy :-) If you’re not into metrics like I do, you do need the excellent documentation though.

 

The out of the box report provides you with suggestions on which methods could need refactoring, which ones are too big, too complex, lack comments, have too many parameters, too many local variables, too many responsibilities and much much more. Furthermore, you can customize the report by adding your own queries – in Code Query Language (CQL) format.

 

Unfortunately I cannot disclose my complete report, but believe me – it turned out to be invaluable!

 

If you haven’t looked at NDepend before, be sure you do!

 

[Update] I found this article by Scott Hanselman a particular good read on the basic terminologies involved in NDepend.

Tags: | Posted by thomas on 11/9/2009 5:33 PM | Comments (0)

london2010 The first edition of the SharePoint Best Practices Conference in London was a winner. Great gig, great speakers, great content & great city to stay in. I was hoping that @stevesmithck and his team would be organizing another one next year, and they do! The SharePoint 2010 Evolution Conference is due April 19 - 21 in London.

A quick look at the already confirmed speakers shows me that they did an even better job than last year. The agenda looks very promising too. I can’t wait to go - maybe I’ll even order some Twitter T-shirts this time as the social networking aspect of conferences continues to grow. Most important, I’ll be sure not to miss SharePint this time - booking my flight accordingly :-)

Tags: | Posted by thomas on 10/29/2009 12:30 PM | Comments (0)

I was called by a customer who could not get his InfoPath forms to render anymore after the upgrade to SharePoint 2007 SP2. Forms server spitted out the following error message while rendering any form::

Cannot complete this action. Please try again.   at Microsoft.SharePoint.Library.SPRequestInternalClass.ListRegionalOptions(UInt32 dwCategory, UInt32 dwOption, String bstrUrl)
   at Microsoft.SharePoint.Library.SPRequest.ListRegionalOptions(UInt32 dwCategory, UInt32 dwOption, String bstrUrl)

After a few minutes it came to me that this customer had two additional language packs installed: Dutch & French (hey, we’re in Belgium). Apparently the service packs for this language packs were not installed. I verified this by running a short script I had lying around to see what Office versions are installed on a machine.

Set oWI = CreateObject("WindowsInstaller.Installer")
For Each prod In oWI.Products
If UCase(Right(prod, 7)) = "0FF1CE}" Then sOutput = sOutput & prod & vbTab & oWI.ProductInfo(prod, "VersionString") & vbTab  & oWI.ProductInfo(prod, "ProductName") & vbCrLf
Next
wscript.echo sOutput

The output clearly stated that the language packs were still on an older version. So I installed the language pack service packs, ran the configuration wizard on each machine and gone were the errors!

One word of caution for people trying to download these service packs. Each language has its own installer, so make sure you select the right one! This often misleads people.

mosslpsp

If, for example, you try to install the language service pack for the original language that came with your WSS or MOSS installation, you are greeted with an error message because the main SP2 upgrade already upgraded your base installation language.

Also, be aware of the fact you have to download a service pack for each language and for each SharePoint component! The correct order in which to install everything was:

  • WSS 3.0 Service Pack 2
  • WSS 3.0 Dutch Language Pack Service Pack 2
  • WSS 3.0 French Language Pack Service Pack 2
  • MOSS 2007 Service Pack 2
  • MOSS 2007 Dutch Language Pack Service Pack 2
  • MOSS 2007 French Language Pack Service Pack 2

You can run the configuration wizard once after all fixes are installed.

Tags: , | Posted by thomas on 7/2/2009 10:52 AM | Comments (0)

For a long time, I’ve been wanting to blog about PAL – the Performance Analysis of Logs tool developed by Clint Huffman. It’s available from Codeplex and it should be part of your standard administrator toolbox!

What is does is very simple but also very powerful: it analyzes a perform counter log and compares it against some well-known thresholds. Out of the box it comes with a threshold file for each major Microsoft server product (Exchange, SharePoint, SQL, …) that you can use to build your counter log. So not only does it analyze your logs, it also suggests the counters you should use and how to interpret them!

The thresholds are based on recommendations from the different product groups and support teams at Microsoft.

The report generated by PAL is really astonishing – as you will see at the end of this post.

To use it with a Windows Server 2008 machine however, you’ll need to do some extra manual steps. Here’s how:

  1. Start PAL

    image 
  2. Navigate to the “Threshold file” tab and choose the set of counters you want.

    image 
  3. Choose the Export to “Perfmon Template File” button and save the generated html file.

    image 
  4. Copy this html file to a Windows Server 2003 machine.
  5. Open perfmon on the Windows Server 2003 machine, go to “Counter Logs”, right-click and choose “New Log Settings From…”.

    image 
  6. Point to the html file you copied to create a new counter log. You don’t have to specify any options here if you’re going to use it later on a Windows Server 2008 machine. If you want to analyze this particular 2003 machine, set the options you want and start the trace. Skip to step 10 in this case.
  7. On your Windows Server 2008 machine, issue the following command:

    logman export –n “[name of your counter log]” –xml [filename to export to] –s [2003 machine]

    This will export the counter log from the 2003 machine to a readable xml file for use on the 2008 machine. Do you still follow?
  8. We can now use the generated xml file to create the same counter log on a 2008 machine. Open perfmon, go to “Data Collector Sets”, “User Defined”. Right-click and Choose “New”, “Data Collector Set”.

    image 
  9. In the wizard, choose “Create from a template” and point to created xml file.

    image 
  10. When created, start and stop the trace as required. If you can, leave it running for some days to have representative results! The resultfile (.blg in Vista, Windows Server 2008 or Windows 7 and .csv in Windows Server 2003 or Windows XP) can be found in the C:\PerfLogs directory by default.
  11. Copy the generated output file from your 2008 box to your PAL workstation.
  12. Open PAL again, navigate to the “Counter Log” tab and point to the copied output file.

    image 
  13. To start the analysis, go to the “Execute” tab and go!

    image 
  14. You will be amazed by the results!
Tags: , | Posted by thomas on 4/29/2009 8:43 AM | Comments (0)

I’m kind of exited to announce that the Office System 2007 & Windows SharePoint Services 3.0 Service Pack 2 is now available for download.

A complete list of all available fixes is available at http://support.microsoft.com/kb/968170/

The SharePoint Team Blog outlines some additional details about SharePoint-specifics. As usual, Joel Oleson has all the details concerning SharePoint on his blog too.

Very nice is the addition to stsadm of a new switch called “preupgradecheck”. It checks your installation for readiness for SharePoint 14! I’m gonna try this right away ;-)

Tags: , , | Posted by thomas on 4/11/2009 9:51 AM | Comments (0)

A few days ago, SQL Server 2008 SP1 has been released. Except for the pile of hotfixes that it contains, I find this release particularly interesting because of a couple reasons:

  • Slipstream – You are now able to integrate the base installation with service packs (or Hotfixes) and install in a single step.
  • Service Pack Uninstall – You are now able to uninstall only the Service Pack (without removing the whole instance)
  • Report Builder 2.0 Click Once capability

As far as SharePoint is concerned, I’m looking forward to the new version of the Reporting Services Addin that was released together with the service pack. The new Report Builder is also included, so your users can finally edit their reports from within the SharePoint site. I’ll post my findings on this one very soon!

Tags: | Posted by thomas on 4/7/2009 10:35 PM | Comments (0)

I'm currently at the SharePoint Best Practices Conference in London. Very exiting venue, all focused on SharePoint! Follow my updates on Twitter to see what I'm at, or join in on the buzz using the #spbpuk tag. I'm spending most of my time on the IT Pro track and already saw some amazing sessions by Spencer Harbar, Joel Oleson & Mike Watson.

[Update: Probably the best SharePoint conference to date!

Tags: | Posted by thomas on 3/26/2009 3:54 PM | Comments (0)

Did you ever wonder why presizing your databases takes so long? At least I did - being the non-DBA that I am. The reason why is that instant file initialization is not turned on by default. Paul S. Randal summarizes the ins & outs of this process on his blog. 

If you don't run your SQL server with a service account that is local administrator (of course you don't), than you have to grant your SQL service account the "SE_MANAGE_VOLUME_NAME" permission. This can be done through the Local Security Settings of your server. Be aware that it doesn't work for log files though...