Friday, November 27, 2009

SharePoint 2010: Creating a VHD snapshot of your SP2010/Win7 Development Environment


This is the Disk2vhd program in the sysinternal tools collection from Mark Russinovich and co. (who now work for Microsoft).

"Disk2vhd is a utility that creates VHD (Virtual Hard Disk - Microsoft’s Virtual Machine disk format) versions of physical disks for use in Microsoft Virtual PC or Microsoft Hyper-V virtual machines (VMs). The difference between Disk2vhd and other physical-to-virtual tools is that you can run Disk2vhd on a system that’s online. Disk2vhd uses Windows’ Volume Snapshot capability, introduced in Windows XP, to create consistent point-in-time snapshots of the volumes you want to include in a conversion. You can even have Disk2vhd create the VHDs on local volumes, even ones being converted (though performance is better when the VHD is on a disk different than ones being converted)."

Michael Herman
SharePoint Architect

SP2010 Development: Creating a bootable Windows 7 VHD

I prefer to create a base VHD image and then additional VHD images as I install each component of my SP2010/Windows 7 development environment. The key components are:

  • Windows 7 O/S
  • Office 2010 (Beta 2)
  • SQL Server 2008 (not R2)
  • SharePoint 2010 (Enterprise Beta 2)
  • Visual Studio 2010 (Beta)

To create a bootable VHD,

  1. Install Windows 7 (for the first time)
  2. Restart Windows 7 pressing F8 to get the Advanced Boots Options screen
  3. Select "Safe Mode with Command Prompt"
  4. Login
  5. Type "mkdir d:\win7vhd"
  6. Type "Diskpart"
  7. Type "create vdisk file="d:\win7vhd\w7base-091127.vhd maximum=20000"
  8. Type "select vdisk file="d:\win7vhd\w7base-091127.vhd"
  9. Type "attach vdisk"
  10. Type "exit"

The above creates an empty VHD file on the local Windows 7 system's hard drive.

p.s. Note: This process creates an empty VHD file ...not a VHD that is a copy of the local install of Windows 7. To make a VHD image of the local install, use Disk2vhd from Microsoft. Checkout

Thursday, November 19, 2009

PDC09: Silverlight, Silverlight, Silverlight

Starting with Ozzie's PDC09 keynote on Tuesday, Silverlight 4 (SL4) was highlighted as Microsoft's key presentation technology for both in-browser as well as out-of-browser (desktop) applications.

To help support the out-of-browser experience, SL4 now supports traditional printing APIs as well as access to local devices on your laptop or PC. This, for example, was very important to a banking software architect I spoke with who wants to use one presentation technology for both the web and the desktop and needs access to peripherals like magnetic strip and smart chip readers as well as slip printers.

SL4 also plays will with Microsoft's key data access strategies (e.g ADO.NET Data Services (REST)).

What is the adoption rate for Silverlight? According to ScottGu, Silverlight is currently (Fall 2009) running on 45% of the world's PC ...up 15% from last year.

Michael Herman
SharePoint Architect

Wednesday, November 18, 2009

PDC09: "No" hard drive giveaways this year ...just an enitre new Acer netbook :-)

Acer Aspire 1420P tablet - 250GB hard drive - 2G RAM - loaded with Windows 7, Office 2010 Beta (2?), multi-touch MS Surface software ....pretty cool.

Michael Herman
SharePoint Architect

SharePoint 2010: Claim-Based Security: Two Stories

I'm not sure SharePoint 2010 team realizes they're painting a somewhat disconnected claim-based security story. Let's call them: Part 1. Inside-Out Story and Part 2. Outside-In Story.

Part 1. Inside-Out Story

This is the story that is being presented the most often: How SharePoint 2010 uses Claims-Based Security as an "single sign-on (SSO)" technology for calling external web services, line-of-business, etc. applications via the Business Connectivity Services (BCS) ...that is, how the SharePoint runtime (the inside) calls services on the outside. To support this, SharePoint optionally hosts its own Secure Token Service (STS) that is used to help transform Windows Identities into Tokens. Token are cached in the Secured Storage Service (SSS). If BCS is invoked, SharePoint checks to see if a valid Token already exists in the SSS for the current user and will use that to access the web service.

Part 2. Outside-In Story

The outside-in story is the one that I think most people think of first when they think of Claims-Based Security: when a user in a claims enabled authentication environment (the outside) tries to login into a SharePoint web site (the inside). This is the scenario that you hear the most about when you read about Windows Identity Foundation (WIF) and AD FS v2 (Active Directory Federation Services). That is, when a user attempts to login an ASP.NET application (e.g. SharePoint), called the Relying Party, and they are not automatically logged in with Windows Integrated Authentication, the user is redirected to a Login Page hosted in the Federation Service (FS e.g. AD FS, Site Minder, etc.) in the user's local domain, a Token is created by the FS' STS based on the known claims requirements of the Relying Party (e.g. SharePoint). The Token is created containing the claims required by SharePoint and returned to authenticate the user against SharePoint.

Neither SharePoint nor the IIS that is hosting SharePoint is directly involved in Authentication. Authentication only takes place against the user's domain FS using the FS's login page. After that the generated Token is used and re-used wherever it is needed (e.g. in all of the inside-out scenarios described at the beginning of this article).

There is/was a rumor the SharePoint team was considering only supporting inside-out Claims-Based Security at one point (and hence, I assume the focus at the SPC and PDC on these scenarios). Yesterday, Chuck Reeves of the WIF team confirmed that SharePoint will be supporting both scenarios: internal (inside-out) and external (outside-in) for RTM. I haven't been able to confirm what will be available for Beta 2.

"More news at 11...",
Michael Herman
SharePoint Architect

Tuesday, November 17, 2009

OReilly: "MS will emerge as a chamption of the open web platform"

In his blog yesterday, Tim O'Reilly (after ranting about several things), closes with the following postscript:

"One prediction: Microsoft will emerge as a champion of the open web platform, supporting interoperable web services from many independent players, much as IBM emerged as the leading enterprise backer of Linux."

For more, checkout

No doubt this made a lot of MSFTies happy today ...the first day of the Microsoft Professional Developers Conference in L.A. (

MSDN Magazine: Claims-Based Apps with WIF

Claims-Based Authorization with WIF

Checkout the following article from the latest (Nov 2008) issue of MSDN Magazine:

There's also a related article in the same issue on ADFS:

Using Active Directory Federation Services 2.0 in Identity Solutions

Michael Herman
SharePoint Architect

Sunday, November 15, 2009

Office 2010 Desktop Applications Beta Download Site


Michael Herman
SharePoint Solutions Architect

SharePoint 2010: MS Professional Developers Conference 2009

The PDC is in L.A. this week - the last week of way-too heavy November travel schedule.

First it was the MS SharePoint Conference:

Last week, SharePoint 2010 Developer Course TTT (Train-The-Trainer):

This week, the PDC:

Michael Herman
SharePoint Architect

SharePoint 2010: Which o/s to develop with?

For most developers, the choice will be Windows 7 64-bit. The last part is easy: SharePoint 2010 only installs on a 65-bit o/s either Windows 7 or Windows Server 2008 ...and yes, you do need to use 64-bit SQL Server as well.

I personally have Windows Server 2008 R2 running Hyper-V on my Dell laptop with 4GB of memory. Under Hyper-V, I run Windows 7 VHDs for SharePoint 2010 development and Windows Server 2008 for SharePoint 2007 (and general ASP.NET) development.

I use 3GB of virtual RAM for SharePoint 2010/Windows 7 and sometimes think I should buy more RAM. 1.5-2.0GB is fine for SharPoint 2007/Windows Server.

To do SharePoint 2010 development properly, Visual Studio 2010 is also required. The combination of Visual Studio 2010, SQL Server 2008 and SharePoint 2010 in a single VHD means the more memory you can afford the better.

For details on how to create a SharePoint 2010/Windows 7 developement environment, checkout the following MSDN article:

Two things to remember are: in Control Panel > Programs > Windows components, you need to add the non-HTTP support for WCF and you may need to uninstall/re-install ADO.NET Data Services if BCS (Business Connectivity Servicess) and/or REST, respectively are working on your machine.

Michael Herman
SharePoint Architect

SharePoint 2010: What is Claims Based Security?

Claims Based Security is the new authentication model supported by SharePoint 2010.

It's related to Microsoft "Geneva", ADFS v2 (Active Directory Federation Services), and Microsoft Identity Foundation. I haven't got it all figured out but expect to learn more next week at the Microsoft Professional Developers Conference in L.A.

For now, here's a series of blogs that will help you get started:

Michael Herman
SharePoint Architect

SharePoint 2010: My Top 10 Favorite Improvements

  1. Content Type Syndication: Metadata Service
  2. Hierarchical Metadata Fields: Term Store, Metadata Service
  3. Client Object Model
  4. REST Object Model
  5. Business Connectivity Services: SharePoint 2010 Foundation
  6. Separate Run-time Upgrade and Visual Upgrade Processes
  7. Large List Support: e.g. 100 million items
  8. Virtual Document Library support across multiple Site Collections: Content Organizer
  9. Visual Studio 2010 SharePoint Projects and SharePoint Project Items (SPI)
  10. Brand-new Record Center and In-place Records Management

Michael Herman
SharePoint/.NET Solutions Architect

MIchael Herman - SharePoint Architect

I used to work for Microsoft in Microsoft Consulting Services, and the Exchange Server and SharePoint product groups and have almost 10 years of experience architecting, desiging and implementing business solutions using the SharePoint platform.
At Envision IT here in Toronto (across the street from Microsoft Canada's corporate head quarters), I continue my SharePoint career as a SharePoint/.NET Solutions Architect and manager of our highly talented and experience custom solution development team.
I'm also a certified SharePoint Developer instructor for Mindsharp, a leading provider of SharePoint training based in Minneapolis, MN.