﻿<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title>3 Degrees of SharePoint Development</title>
	<updated>2012-02-13T08:15:02Z</updated>
	<id>http://davemilner.com/atom.aspx</id>
	<link href="http://davemilner.com/atom.aspx" rel="self" type="application/rss+xml" />
	<link href="http://davemilner.com" rel="alternate" type="application/rss+xml" />
	<generator uri="http://app.onlinequickblog.com/" version="2.6.6">Quick Blogcast</generator>
	<entry>
		<title>SharePoint w/SP1 Prerequisite Installer Errors on KB976462</title>
		<link rel="alternate" href="http://davemilner.com/2011/11/30/sharepoint-wsp1-prerequisite-installer-errors-on-kb976462.aspx?ref=rss" />
		<id>tag:www.davemilner.com,2011-12-01:9bb08c70-5bde-478e-b16d-24e165659626</id>
		<author>
			<name>Dave Milner</name>
		</author>
		<updated>2011-12-01T16:29:52Z</updated>
		<published>2011-12-01T16:29:52Z</published>
		<content type="html">&lt;p&gt;I ran across a strange error today for the first time installing the SharePoint bits on a new server.&amp;#160; Basically I was using the MSDN package which contains SharePoint Server 2010 SP1 – build 759775.&amp;#160; I was installing it on a Windows 2008 R2 Server with SP1 installed.&lt;/p&gt;  &lt;h4&gt;Problem&lt;/h4&gt;  &lt;p&gt;Normally SharePoint’s pre-requisite installer installs everything flawlessly.&amp;#160; However, today, it failed trying to install KB976462 – the Hotfix for Microsoft Windows.&amp;#160; The error message wasn’t particularly helpful – just a failed to install error –&amp;#160; Install process returned (-2145124329) as seen in the below image:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://davemilner.com/images/24986-23755/Step1_2.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 5px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="Step1" border="0" alt="Step1" src="http://davemilner.com/images/24986-23755/Step1_thumb.png" width="507" height="383" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;After spending of course too much time searching for a fix, I finally ran across this KB article:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://support.microsoft.com/kb/2581903" href="http://support.microsoft.com/kb/2581903"&gt;http://support.microsoft.com/kb/2581903&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Basically, the bottom line is that Windows 2008 R2 Server SP1 already has that Hotfix included in the service pack, so the SharePoint Prerequisite installer is failing on an attempt to install it.&lt;/p&gt;  &lt;h4&gt;Fix&lt;/h4&gt;  &lt;p&gt;The fix is simple – just &lt;strong&gt;&lt;em&gt;Run the SharePoint PreRequisite Installer again&lt;/em&gt;&lt;/strong&gt;, and it will detect that KB976462 is installed, skip it, and install all the rest of the prerequisites.&lt;/p&gt;  &lt;p&gt;Results look like this – much better:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://davemilner.com/images/24986-23755/Step3_2.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 5px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="Step3" border="0" alt="Step3" src="http://davemilner.com/images/24986-23755/Step3_thumb.png" width="511" height="384" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h4&gt;Questions&lt;/h4&gt;  &lt;p&gt;Of course this brings up as many questions as it answers:&lt;/p&gt;  &lt;p&gt;1.&amp;#160; Why can’t the SharePoint PreReq installer recognize the Hotfix is already installed on the first pass, but can recognize this on the second pass?&lt;/p&gt;  &lt;p&gt;2.&amp;#160; Will Microsoft fix this?&amp;#160; Patch the PreReq installer in a future CU or SP?&lt;/p&gt;  &lt;p&gt;3.&amp;#160; Shouldn’t standard error trapping in software not prevent all the downstream steps in a process from happening?&lt;/p&gt;  &lt;p&gt;3.&amp;#160; Why, why, why?&lt;/p&gt;  &lt;p&gt;But, such is life in technology.&amp;#160; &lt;/p&gt;</content>
	</entry>
	<entry>
		<title>How to Set up Database Mirroring in SQL Server 2008 R2 for SharePoint 2010 Step by Step</title>
		<link rel="alternate" href="http://davemilner.com/2011/11/22/how-to-set-up-database-mirroring-in-sql-server-2008-r2-for-sharepoint-2010-step-by-step.aspx?ref=rss" />
		<id>tag:www.davemilner.com,2011-11-22:87f0d1a2-b9b2-47b5-9e20-e558a0c0e3bf</id>
		<author>
			<name>Dave Milner</name>
		</author>
		<updated>2011-11-22T18:13:28Z</updated>
		<published>2011-11-22T18:13:28Z</published>
		<content type="html">&lt;p&gt;This blog post has the goal of being able to coach you through setting up database mirroring for SQL Server 2008 R2 and SharePoint 2010 as a complete package.&amp;#160; If you follow the steps carefully step by step then you will be able to mirror your whole 2010 environment.&amp;#160;&amp;#160; Screen shots of SQL Management Studio and Central Admin are included, as well as T-SQL scripts and PowerShell scripts necessary.&lt;/p&gt;  &lt;h4&gt;Prerequisites &lt;/h4&gt;  &lt;p&gt;There are several prerequisites to set up before undertaking setting up mirroring.&amp;#160; They include:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Run ALL SQL Server instances with a domain account.&amp;#160; I set up SP2010\SPSQL for this.&amp;#160;&amp;#160; Any domain service account will do. &lt;/li&gt;    &lt;li&gt;Principal, Mirror, and Witness are need to be running same version of SQL Server.&amp;#160; In my instances I have the Principal and Mirror running SQL Server 2008 R2 and the witness server running SQL Server 2008 R2 Express Edition. &lt;/li&gt;    &lt;li&gt;Your SQL Servers you are using for a Principal and Mirror need to have 1ms latency between them. &lt;/li&gt;    &lt;li&gt;They also should have 1GB/s throughput between them.&amp;#160;&amp;#160; These two measurements will ensure that when your farm is experiencing heavy use, it won’t falsely detect a failed Principal and fail over. &lt;/li&gt; &lt;/ol&gt;  &lt;h4&gt;Ready to Go&lt;/h4&gt;  &lt;p&gt;First, shut down your SharePoint servers so they will not interact with the databases.&lt;/p&gt;  &lt;p&gt;Start to manually set up mirroring for one of your SharePoint databases.&amp;#160; The reason to do this is to take advantage of all the wizards in setting up endpoints and other tasks like this.&amp;#160; The other reason is that the configuration wizard once you are finished shows you the exact values you need to put into SQL scripts later on in this article as endpoints.&amp;#160; &lt;/p&gt;  &lt;p&gt;An endpoint looks like this:&amp;#160; TCP://SQL1.sp2010.local:5022    &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;Once we do one database we can script the rest.&amp;#160;&amp;#160; I chose the WordConversion database for this as it is practically not used, so very small, and at the end of the list:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://davemilner.com/images/24986-23755/image_2.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 5px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://davemilner.com/images/24986-23755/image_thumb.png" width="272" height="368" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;NOTE:&amp;#160; You cannot mirror the following databases:&amp;#160;&amp;#160; SP2010_SharePoint_People_Sync, SP2010_SharePoint_Analytics_Stager1.&amp;#160; It is also not recommended to mirror the SP2010_SharePoint_Usage database.&amp;#160; As a matter of fact, if you try to mirror the Usage database, you will get the following error:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://davemilner.com/images/24986-23755/image_8.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 5px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://davemilner.com/images/24986-23755/image_thumb_3.png" width="403" height="109" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Databases that are intended for transitory storage only are usually configured not to use the full recovery model for backups, as they are not needed for DR.&amp;#160; I used the names of MY databases.&lt;/p&gt;  &lt;h4&gt;SQL Management Studio Mirroring Configuration Wizard&lt;/h4&gt;  &lt;p&gt;I right-click the database, select “Tasks-&amp;gt;Mirror…”&lt;/p&gt;  &lt;p&gt;&lt;a href="http://davemilner.com/images/24986-23755/image_4.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 5px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://davemilner.com/images/24986-23755/image_thumb_1.png" width="406" height="209" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The next window shows the Mirroring Wizard:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://davemilner.com/images/24986-23755/image_6.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 5px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://davemilner.com/images/24986-23755/image_thumb_2.png" width="408" height="294" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Click “Configure Security”&lt;/p&gt;  &lt;p&gt;&lt;a href="http://davemilner.com/images/24986-23755/image_10.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 5px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://davemilner.com/images/24986-23755/image_thumb_4.png" width="401" height="363" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Next-&amp;gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://davemilner.com/images/24986-23755/image_12.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 5px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://davemilner.com/images/24986-23755/image_thumb_5.png" width="393" height="353" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Select “Yes” for including a witness server.&amp;#160; This is so we can take advantage of Asynchronous Mirroring with Automatic Failover.&amp;#160; Next-&amp;gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://davemilner.com/images/24986-23755/image_14.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 5px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://davemilner.com/images/24986-23755/image_thumb_6.png" width="396" height="357" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Yes we want to save the security configuration on all 3 of the instances – Principal, Mirror, and Witness.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://davemilner.com/images/24986-23755/image_16.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 5px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://davemilner.com/images/24986-23755/image_thumb_7.png" width="397" height="357" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Set up the Principal first.&amp;#160; My principal is SQL1.&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://davemilner.com/images/24986-23755/image_18.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 5px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://davemilner.com/images/24986-23755/image_thumb_8.png" width="400" height="363" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Next is SQL 2 which is my Mirror instance.&lt;/p&gt;  &lt;p&gt;The next service is my Witness Instance.&amp;#160; to enable this, I needed to start the SQL Browser Service on my SQL Express Witness instance as follows:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://davemilner.com/images/24986-23755/image_20.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 5px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://davemilner.com/images/24986-23755/image_thumb_9.png" width="583" height="77" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;I also needed to ensure that TCP/IP was enabled as a protocol&lt;/p&gt;  &lt;p&gt;&lt;a href="http://davemilner.com/images/24986-23755/image_22.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 5px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://davemilner.com/images/24986-23755/image_thumb_10.png" width="251" height="147" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Now I can go and configure the Witness Instance:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://davemilner.com/images/24986-23755/image_24.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 5px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://davemilner.com/images/24986-23755/image_thumb_11.png" width="423" height="380" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Next we will specify service accounts:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://davemilner.com/images/24986-23755/image_26.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 5px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://davemilner.com/images/24986-23755/image_thumb_12.png" width="427" height="383" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Now the wizard will set up all of the items:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://davemilner.com/images/24986-23755/image_28.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 5px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://davemilner.com/images/24986-23755/image_thumb_13.png" width="429" height="386" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Click Finish.&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://davemilner.com/images/24986-23755/image_30.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 5px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://davemilner.com/images/24986-23755/image_thumb_14.png" width="436" height="389" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Endpoints re created on all 3 instances.&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://davemilner.com/images/24986-23755/image_32.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 5px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://davemilner.com/images/24986-23755/image_thumb_15.png" width="426" height="179" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Select start mirroring&amp;#160; – we still need to set up all the accounts and restore&amp;#160; backup, but if you don’t you’ll lose the endpoints setup.&amp;#160; Copy the values from those 3 endpoint setups as we will need them.&amp;#160;&amp;#160; You don’t REALLY have to do this if you know the format, but to me setting up one by way of the Configuration Wizard helps me to ensure that I can connect to each of the SQL instances and that my endpoints are accurate.&amp;#160;&amp;#160; It is a backstop check to ensure what I’m going to do for the rest of the databases via T-SQL is accurate.&lt;/p&gt;  &lt;p&gt;Now we will go back and transfer logins.&amp;#160; &lt;/p&gt;  &lt;p&gt;Run the following SQL script to generate logins necessary on the MIRROR:&lt;/p&gt;  &lt;p&gt;SELECT    &lt;br /&gt;'create login [' + p.name + '] ' +     &lt;br /&gt;case when p.type in('U','G') then 'from windows ' else '' end +     &lt;br /&gt;'with ' +     &lt;br /&gt;case when p.type = 'S' then 'password = ' + master.sys.fn_varbintohexstr(l.password_hash) + ' hashed, ' +     &lt;br /&gt;'sid = ' + master.sys.fn_varbintohexstr(l.sid) + ', check_expiration = ' +     &lt;br /&gt;case when l.is_policy_checked &amp;gt; 0 then 'ON, ' else 'OFF, ' end + 'check_policy = ' + case when l.is_expiration_checked &amp;gt; 0 then 'ON, ' else 'OFF, ' end +     &lt;br /&gt;case when l.credential_id &amp;gt; 0 then 'credential = ' + c.name + ', ' else '' end     &lt;br /&gt;else '' end +     &lt;br /&gt;'default_database = ' + p.default_database_name +     &lt;br /&gt;case when len(p.default_language_name) &amp;gt; 0 then ', default_language = ' + p.default_language_name else '' end&lt;/p&gt;  &lt;p&gt;FROM sys.server_principals p    &lt;br /&gt;LEFT JOIN sys.sql_logins l     &lt;br /&gt;ON p.principal_id = l.principal_id     &lt;br /&gt;LEFT JOIN sys.credentials c     &lt;br /&gt;ON&amp;#160; l.credential_id = c.credential_id     &lt;br /&gt;WHERE p.type in('S','U','G')     &lt;br /&gt;AND p.name &amp;lt;&amp;gt; 'sa'&lt;/p&gt;  &lt;p&gt;This script’s output generates the T-SQL input that we will need to run on the MIRROR&lt;/p&gt;  &lt;p&gt;create login [##MS_PolicyEventProcessingLogin##] with password = 0x01005e7e88007a0c23e5bef893202e8e76167992f6d5acc53a98 hashed, sid = 0x4eaf544d095570419cf280e6c9d103a6, check_expiration = ON, check_policy = OFF, default_database = master, default_language = us_english    &lt;br /&gt;create login [##MS_PolicyTsqlExecutionLogin##] with password = 0x0100d581c668f91c13174c84b608b1337c6635533e1ac36c0632 hashed, sid = 0x014ea8886b841c4ca1f7ed32489bbf62, check_expiration = ON, check_policy = OFF, default_database = master, default_language = us_english     &lt;br /&gt;create login [NT AUTHORITY\SYSTEM] from windows with default_database = master, default_language = us_english     &lt;br /&gt;create login [NT SERVICE\MSSQLSERVER] from windows with default_database = master, default_language = us_english     &lt;br /&gt;create login [SQL1\Dave] from windows with default_database = master, default_language = us_english     &lt;br /&gt;create login [NT SERVICE\SQLSERVERAGENT] from windows with default_database = master, default_language = us_english     &lt;br /&gt;create login [SP2010\dave] from windows with default_database = master, default_language = us_english     &lt;br /&gt;create login [SP2010\spadmin] from windows with default_database = master, default_language = us_english     &lt;br /&gt;create login [SP2010\SPFarm] from windows with default_database = master, default_language = us_english     &lt;br /&gt;create login [SP2010\SPMySitesAppPool] from windows with default_database = master, default_language = us_english     &lt;br /&gt;create login [SP2010\SPSites1AppPool] from windows with default_database = master, default_language = us_english     &lt;br /&gt;create login [SP2010\SPAppPool] from windows with default_database = master, default_language = us_english     &lt;br /&gt;create login [SP2010\SPSearch] from windows with default_database = master, default_language = us_english     &lt;br /&gt;create login [SP2010\SPSearchAppPool] from windows with default_database = master, default_language = us_english     &lt;br /&gt;create login [SP2010\SPUserCode] from windows with default_database = master, default_language = us_english     &lt;br /&gt;create login [SP2010\SPSearchCrawl] from windows with default_database = master, default_language = us_english     &lt;br /&gt;create login [sp2010\spsql] from windows with default_database = master, default_language = us_english&lt;/p&gt;  &lt;p&gt;Run this script on the MIRROR to duplicate all the logins from your PRIMARY.&lt;/p&gt;  &lt;p&gt;Next, run the following script &lt;/p&gt;  &lt;p&gt;--use master    &lt;br /&gt;DECLARE @name VARCHAR(4000) -- database name&amp;#160; &lt;br /&gt;DECLARE @path VARCHAR(4000) -- path for backup files&amp;#160; &lt;br /&gt;DECLARE @fileName VARCHAR(4000) -- filename for backup&amp;#160; &lt;br /&gt;DECLARE @logfileName VARCHAR(4000) -- logfilename for backup&amp;#160; &lt;br /&gt;DECLARE @fileDate VARCHAR(20) -- used for file name     &lt;br /&gt;declare @sql nvarchar(4000)     &lt;br /&gt;&amp;#160; &lt;br /&gt;&amp;#160; &lt;br /&gt;SET @path = 'C:\Backups\'&amp;#160; &lt;/p&gt;  &lt;p&gt;SELECT @fileDate = CONVERT(VARCHAR(20),GETDATE(),112) &lt;/p&gt;  &lt;p&gt;DECLARE db_cursor CURSOR FOR&amp;#160; &lt;br /&gt;SELECT name     &lt;br /&gt;FROM master.dbo.sysdatabases     &lt;br /&gt;WHERE name NOT IN ('master','model','msdb','tempdb')&amp;#160; &lt;br /&gt;--WHERE name NOT IN ('master','model','msdb','tempdb',’INCLUDE YOUR DB’s)'&lt;/p&gt;  &lt;p&gt;CREATE TABLE #TEMPRESTORE    &lt;br /&gt;(     &lt;br /&gt;CMD VARCHAR(400)     &lt;br /&gt;)     &lt;br /&gt;OPEN db_cursor&amp;#160;&amp;#160; &lt;br /&gt;FETCH NEXT FROM db_cursor INTO @name;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;WHILE @@FETCH_STATUS = 0&amp;#160;&amp;#160; &lt;br /&gt;BEGIN&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; SET @fileName = @path + @name + '_' + @fileDate + '.BAK'&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; SET @logfileName = @path + @name + '_' + @fileDate + '_Log.BAK'&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; SET @sql = 'ALTER DATABASE &amp;quot;' + @name + '&amp;quot; SET RECOVERY FULL'     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; exec sys.sp_executesql @sql; &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; BACKUP DATABASE @name TO DISK = @fileName with format;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; BACKUP log @name TO DISK = @logfileName with format;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; INSERT INTO #TEMPRESTORE VALUES ('RESTORE DATABASE &amp;quot;'+@name+'&amp;quot;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; FROM DISK = '''+@fileName+''' WITH NORECOVERY')     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; INSERT INTO #TEMPRESTORE VALUES ('go')     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; INSERT INTO #TEMPRESTORE VALUES ('RESTORE LOG &amp;quot;'+@name+'&amp;quot;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; FROM DISK = '''+@logfileName+''' WITH NORECOVERY')     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; INSERT INTO #TEMPRESTORE VALUES ('go')     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; FETCH NEXT FROM db_cursor INTO @name&amp;#160;&amp;#160; &lt;br /&gt;END&amp;#160;&amp;#160; &lt;/p&gt;  &lt;p&gt;CLOSE db_cursor&amp;#160;&amp;#160; &lt;br /&gt;DEALLOCATE db_cursor     &lt;br /&gt;SELECT * FROM #TEMPRESTORE     &lt;br /&gt;DROP TABLE #TEMPRESTORE&lt;/p&gt;  &lt;p&gt;The output of this script needs to be saved as well as the actions that it takes.&amp;#160; Here is the output from my execution of the T-SQL, which we will run on the MIRROR:&lt;/p&gt;  &lt;p&gt;RESTORE DATABASE &amp;quot;SP2010_SharePoint_ConfigDB&amp;quot;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; FROM DISK = 'C:\Backups\SP2010_SharePoint_ConfigDB_20111110.BAK' WITH NORECOVERY    &lt;br /&gt;go     &lt;br /&gt;RESTORE LOG &amp;quot;SP2010_SharePoint_ConfigDB&amp;quot;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; FROM DISK = 'C:\Backups\SP2010_SharePoint_ConfigDB_20111110_Log.BAK' WITH NORECOVERY     &lt;br /&gt;go     &lt;br /&gt;RESTORE DATABASE &amp;quot;SP2010_SharePoint_CentralAdmin_Content&amp;quot;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; FROM DISK = 'C:\Backups\SP2010_SharePoint_CentralAdmin_Content_20111110.BAK' WITH NORECOVERY     &lt;br /&gt;go     &lt;br /&gt;RESTORE LOG &amp;quot;SP2010_SharePoint_CentralAdmin_Content&amp;quot;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; FROM DISK = 'C:\Backups\SP2010_SharePoint_CentralAdmin_Content_20111110_Log.BAK' WITH NORECOVERY     &lt;br /&gt;go     &lt;br /&gt;RESTORE DATABASE &amp;quot;SP2010_SharePoint_MySites_Content1&amp;quot;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; FROM DISK = 'C:\Backups\SP2010_SharePoint_MySites_Content1_20111110.BAK' WITH NORECOVERY     &lt;br /&gt;go     &lt;br /&gt;RESTORE LOG &amp;quot;SP2010_SharePoint_MySites_Content1&amp;quot;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; FROM DISK = 'C:\Backups\SP2010_SharePoint_MySites_Content1_20111110_Log.BAK' WITH NORECOVERY     &lt;br /&gt;go     &lt;br /&gt;RESTORE DATABASE &amp;quot;SP2010_SharePoint_Sites_Content1&amp;quot;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; FROM DISK = 'C:\Backups\SP2010_SharePoint_Sites_Content1_20111110.BAK' WITH NORECOVERY     &lt;br /&gt;go     &lt;br /&gt;RESTORE LOG &amp;quot;SP2010_SharePoint_Sites_Content1&amp;quot;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; FROM DISK = 'C:\Backups\SP2010_SharePoint_Sites_Content1_20111110_Log.BAK' WITH NORECOVERY     &lt;br /&gt;go     &lt;br /&gt;RESTORE DATABASE &amp;quot;SP2010_SharePoint_State&amp;quot;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; FROM DISK = 'C:\Backups\SP2010_SharePoint_State_20111110.BAK' WITH NORECOVERY     &lt;br /&gt;go     &lt;br /&gt;RESTORE LOG &amp;quot;SP2010_SharePoint_State&amp;quot;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; FROM DISK = 'C:\Backups\SP2010_SharePoint_State_20111110_Log.BAK' WITH NORECOVERY     &lt;br /&gt;go     &lt;br /&gt;RESTORE DATABASE &amp;quot;SP2010_SharePoint_SessionState&amp;quot;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; FROM DISK = 'C:\Backups\SP2010_SharePoint_SessionState_20111110.BAK' WITH NORECOVERY     &lt;br /&gt;go     &lt;br /&gt;RESTORE LOG &amp;quot;SP2010_SharePoint_SessionState&amp;quot;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; FROM DISK = 'C:\Backups\SP2010_SharePoint_SessionState_20111110_Log.BAK' WITH NORECOVERY     &lt;br /&gt;go     &lt;br /&gt;RESTORE DATABASE &amp;quot;SP2010_SharePoint_SecureStore&amp;quot;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; FROM DISK = 'C:\Backups\SP2010_SharePoint_SecureStore_20111110.BAK' WITH NORECOVERY     &lt;br /&gt;go     &lt;br /&gt;RESTORE LOG &amp;quot;SP2010_SharePoint_SecureStore&amp;quot;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; FROM DISK = 'C:\Backups\SP2010_SharePoint_SecureStore_20111110_Log.BAK' WITH NORECOVERY     &lt;br /&gt;go     &lt;br /&gt;RESTORE DATABASE &amp;quot;SP2010_SharePoint_Search&amp;quot;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; FROM DISK = 'C:\Backups\SP2010_SharePoint_Search_20111110.BAK' WITH NORECOVERY     &lt;br /&gt;go     &lt;br /&gt;RESTORE LOG &amp;quot;SP2010_SharePoint_Search&amp;quot;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; FROM DISK = 'C:\Backups\SP2010_SharePoint_Search_20111110_Log.BAK' WITH NORECOVERY     &lt;br /&gt;go     &lt;br /&gt;RESTORE DATABASE &amp;quot;SP2010_SharePoint_MetaData&amp;quot;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; FROM DISK = 'C:\Backups\SP2010_SharePoint_MetaData_20111110.BAK' WITH NORECOVERY     &lt;br /&gt;go     &lt;br /&gt;RESTORE LOG &amp;quot;SP2010_SharePoint_MetaData&amp;quot;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; FROM DISK = 'C:\Backups\SP2010_SharePoint_MetaData_20111110_Log.BAK' WITH NORECOVERY     &lt;br /&gt;go     &lt;br /&gt;RESTORE DATABASE &amp;quot;SP2010_SharePoint_People_Profile&amp;quot;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; FROM DISK = 'C:\Backups\SP2010_SharePoint_People_Profile_20111110.BAK' WITH NORECOVERY     &lt;br /&gt;go     &lt;br /&gt;RESTORE LOG &amp;quot;SP2010_SharePoint_People_Profile&amp;quot;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; FROM DISK = 'C:\Backups\SP2010_SharePoint_People_Profile_20111110_Log.BAK' WITH NORECOVERY     &lt;br /&gt;go     &lt;br /&gt;RESTORE DATABASE &amp;quot;SP2010_SharePoint_Search_CrawlStore1&amp;quot;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; FROM DISK = 'C:\Backups\SP2010_SharePoint_Search_CrawlStore1_20111110.BAK' WITH NORECOVERY     &lt;br /&gt;go     &lt;br /&gt;RESTORE LOG &amp;quot;SP2010_SharePoint_Search_CrawlStore1&amp;quot;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; FROM DISK = 'C:\Backups\SP2010_SharePoint_Search_CrawlStore1_20111110_Log.BAK' WITH NORECOVERY     &lt;br /&gt;go     &lt;br /&gt;RESTORE DATABASE &amp;quot;SP2010_SharePoint_Search_PropertyStore1&amp;quot;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; FROM DISK = 'C:\Backups\SP2010_SharePoint_Search_PropertyStore1_20111110.BAK' WITH NORECOVERY     &lt;br /&gt;go     &lt;br /&gt;RESTORE LOG &amp;quot;SP2010_SharePoint_Search_PropertyStore1&amp;quot;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; FROM DISK = 'C:\Backups\SP2010_SharePoint_Search_PropertyStore1_20111110_Log.BAK' WITH NORECOVERY     &lt;br /&gt;go     &lt;br /&gt;RESTORE DATABASE &amp;quot;SP2010_SharePoint_People_Social&amp;quot;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; FROM DISK = 'C:\Backups\SP2010_SharePoint_People_Social_20111110.BAK' WITH NORECOVERY     &lt;br /&gt;go     &lt;br /&gt;RESTORE LOG &amp;quot;SP2010_SharePoint_People_Social&amp;quot;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; FROM DISK = 'C:\Backups\SP2010_SharePoint_People_Social_20111110_Log.BAK' WITH NORECOVERY     &lt;br /&gt;go     &lt;br /&gt;RESTORE DATABASE &amp;quot;SP2010_SharePoint_WordConversion&amp;quot;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; FROM DISK = 'C:\Backups\SP2010_SharePoint_WordConversion_20111110.BAK' WITH NORECOVERY     &lt;br /&gt;go     &lt;br /&gt;RESTORE LOG &amp;quot;SP2010_SharePoint_WordConversion&amp;quot;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; FROM DISK = 'C:\Backups\SP2010_SharePoint_WordConversion_20111110_Log.BAK' WITH NORECOVERY     &lt;br /&gt;go     &lt;br /&gt;RESTORE DATABASE &amp;quot;SP2010_SharePoint_Analytics_Warehouse&amp;quot;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; FROM DISK = 'C:\Backups\SP2010_SharePoint_Analytics_Warehouse_20111110.BAK' WITH NORECOVERY     &lt;br /&gt;go     &lt;br /&gt;RESTORE LOG &amp;quot;SP2010_SharePoint_Analytics_Warehouse&amp;quot;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; FROM DISK = 'C:\Backups\SP2010_SharePoint_Analytics_Warehouse_20111110_Log.BAK' WITH NORECOVERY     &lt;br /&gt;go     &lt;br /&gt;RESTORE DATABASE &amp;quot;SP2010_SharePoint_BCS&amp;quot;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; FROM DISK = 'C:\Backups\SP2010_SharePoint_BCS_20111110.BAK' WITH NORECOVERY     &lt;br /&gt;go     &lt;br /&gt;RESTORE LOG &amp;quot;SP2010_SharePoint_BCS&amp;quot;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; FROM DISK = 'C:\Backups\SP2010_SharePoint_BCS_20111110_Log.BAK' WITH NORECOVERY     &lt;br /&gt;go     &lt;br /&gt;RESTORE DATABASE &amp;quot;SP2010_SharePoint_FoundationSearch&amp;quot;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; FROM DISK = 'C:\Backups\SP2010_SharePoint_FoundationSearch_20111110.BAK' WITH NORECOVERY     &lt;br /&gt;go     &lt;br /&gt;RESTORE LOG &amp;quot;SP2010_SharePoint_FoundationSearch&amp;quot;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; FROM DISK = 'C:\Backups\SP2010_SharePoint_FoundationSearch_20111110_Log.BAK' WITH NORECOVERY     &lt;br /&gt;go     &lt;br /&gt;RESTORE DATABASE &amp;quot;PerformancePoint Service Application_2757dc3dcb96455799c3e33c55f40b5d&amp;quot;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; FROM DISK = 'C:\Backups\PerformancePoint Service Application_2757dc3dcb96455799c3e33c55f40b5d_20111110.BAK' WITH NORECOVERY     &lt;br /&gt;go     &lt;br /&gt;RESTORE LOG &amp;quot;PerformancePoint Service Application_2757dc3dcb96455799c3e33c55f40b5d&amp;quot;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; FROM DISK = 'C:\Backups\PerformancePoint Service Application_2757dc3dcb96455799c3e33c55f40b5d_20111110_Log.BAK' WITH NORECOVERY     &lt;br /&gt;go&lt;/p&gt;  &lt;p&gt;Next, copy all of the files from your C:\Backups directory on the PRINCIPAL server over to the C:\Backups directory on the MIRROR server.&lt;/p&gt;  &lt;p&gt;Run the T-SQL generated by your script which should look similar to the above T-SQL on the MIRROR.&amp;#160; After this executes we see all of the restored DB’s in recovery mode:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://davemilner.com/images/24986-23755/image_34.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 5px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://davemilner.com/images/24986-23755/image_thumb_16.png" width="350" height="378" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Now we need to set the MIRROR partners, first on the MIRROR, then on the PRINCIPAL.&amp;#160; Execute the following T-SQL script on the MIRROR:&lt;/p&gt;  &lt;p&gt;NOTE:&amp;#160; For the first run make sure the @mirorendpoint variable is pointing to your PRINCIPAL instance.&lt;/p&gt;  &lt;p&gt;--use master    &lt;br /&gt;DECLARE @name VARCHAR(4000) -- database name&amp;#160; &lt;br /&gt;declare @sql nvarchar(4000)     &lt;br /&gt;Declare @mirrorendpoint varchar(4000)     &lt;br /&gt;Declare @witnessendpoint varchar(4000)&lt;/p&gt;  &lt;p&gt;set @mirrorendpoint ='TCP://SQL1.sp2010.local:5022'    &lt;br /&gt;set @witnessendpoint ='TCP://SQL-WITNESS.sp2010.local:5022'&lt;/p&gt;  &lt;p&gt;DECLARE db_cursor CURSOR FOR&amp;#160; &lt;br /&gt;SELECT name     &lt;br /&gt;FROM master.dbo.sysdatabases     &lt;br /&gt;--WHERE name NOT IN ('master','model','msdb','tempdb')&amp;#160; &lt;br /&gt;--WHERE name NOT IN ('master','model','msdb','tempdb','AdventureWorks','AdventureWorksDW','AdventureWorksDW2008','AdventureWorksLT','AdventureWorksLT2008','User Profile Service Application_SocialDB_e5c7c51ed6cc400a93cfbc23bca86fed','User Profile Service Application_SyncDB_4e161aa1381e42e8a7844d99165ec79b','WSS_Logging');     &lt;br /&gt;WHERE name NOT IN ('master','model','msdb','tempdb','AdventureWorks','AdventureWorksDW','AdventureWorksDW2008','AdventureWorksLT','AdventureWorksLT2008','SP2010_SharePoint_Analytics_Stager1','SP2010_SharePoint_People_Sync','SP2010_SharePoint_Usage');&lt;/p&gt;  &lt;p&gt;OPEN db_cursor&amp;#160;&amp;#160; &lt;br /&gt;FETCH NEXT FROM db_cursor INTO @name;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;WHILE @@FETCH_STATUS = 0&amp;#160;&amp;#160; &lt;br /&gt;BEGIN&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; --At HOST_B, set the server instance on HOST_A as a partner (principal server): - repeat for all DBS     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; SET @sql = 'ALTER DATABASE &amp;quot;' + @name + '&amp;quot; SET PARTNER = '''+@mirrorendpoint+''''     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; print @sql     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; print 'GO'     &lt;br /&gt;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;FETCH NEXT FROM db_cursor INTO @name&amp;#160;&amp;#160; &lt;br /&gt;END&amp;#160;&amp;#160; &lt;/p&gt;  &lt;p&gt;CLOSE db_cursor&amp;#160;&amp;#160; &lt;br /&gt;DEALLOCATE db_cursor &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;This script will generate the output to run on your MIRROR instance as follows:&lt;/p&gt;  &lt;p&gt;ALTER DATABASE &amp;quot;SP2010_SharePoint_ConfigDB&amp;quot; SET PARTNER = 'TCP://SQL1.sp2010.local:5022'    &lt;br /&gt;GO     &lt;br /&gt;ALTER DATABASE &amp;quot;SP2010_SharePoint_CentralAdmin_Content&amp;quot; SET PARTNER = 'TCP://SQL1.sp2010.local:5022'     &lt;br /&gt;GO     &lt;br /&gt;ALTER DATABASE &amp;quot;SP2010_SharePoint_MySites_Content1&amp;quot; SET PARTNER = 'TCP://SQL1.sp2010.local:5022'     &lt;br /&gt;GO     &lt;br /&gt;ALTER DATABASE &amp;quot;SP2010_SharePoint_Sites_Content1&amp;quot; SET PARTNER = 'TCP://SQL1.sp2010.local:5022'     &lt;br /&gt;GO     &lt;br /&gt;ALTER DATABASE &amp;quot;SP2010_SharePoint_State&amp;quot; SET PARTNER = 'TCP://SQL1.sp2010.local:5022'     &lt;br /&gt;GO     &lt;br /&gt;ALTER DATABASE &amp;quot;SP2010_SharePoint_SessionState&amp;quot; SET PARTNER = 'TCP://SQL1.sp2010.local:5022'     &lt;br /&gt;GO     &lt;br /&gt;ALTER DATABASE &amp;quot;SP2010_SharePoint_SecureStore&amp;quot; SET PARTNER = 'TCP://SQL1.sp2010.local:5022'     &lt;br /&gt;GO     &lt;br /&gt;ALTER DATABASE &amp;quot;SP2010_SharePoint_Search&amp;quot; SET PARTNER = 'TCP://SQL1.sp2010.local:5022'     &lt;br /&gt;GO     &lt;br /&gt;ALTER DATABASE &amp;quot;SP2010_SharePoint_MetaData&amp;quot; SET PARTNER = 'TCP://SQL1.sp2010.local:5022'     &lt;br /&gt;GO     &lt;br /&gt;ALTER DATABASE &amp;quot;SP2010_SharePoint_People_Profile&amp;quot; SET PARTNER = 'TCP://SQL1.sp2010.local:5022'     &lt;br /&gt;GO     &lt;br /&gt;ALTER DATABASE &amp;quot;SP2010_SharePoint_Search_CrawlStore1&amp;quot; SET PARTNER = 'TCP://SQL1.sp2010.local:5022'     &lt;br /&gt;GO     &lt;br /&gt;ALTER DATABASE &amp;quot;SP2010_SharePoint_Search_PropertyStore1&amp;quot; SET PARTNER = 'TCP://SQL1.sp2010.local:5022'     &lt;br /&gt;GO     &lt;br /&gt;ALTER DATABASE &amp;quot;SP2010_SharePoint_People_Social&amp;quot; SET PARTNER = 'TCP://SQL1.sp2010.local:5022'     &lt;br /&gt;GO     &lt;br /&gt;ALTER DATABASE &amp;quot;SP2010_SharePoint_WordConversion&amp;quot; SET PARTNER = 'TCP://SQL1.sp2010.local:5022'     &lt;br /&gt;GO     &lt;br /&gt;ALTER DATABASE &amp;quot;SP2010_SharePoint_Analytics_Warehouse&amp;quot; SET PARTNER = 'TCP://SQL1.sp2010.local:5022'     &lt;br /&gt;GO     &lt;br /&gt;ALTER DATABASE &amp;quot;SP2010_SharePoint_BCS&amp;quot; SET PARTNER = 'TCP://SQL1.sp2010.local:5022'     &lt;br /&gt;GO     &lt;br /&gt;ALTER DATABASE &amp;quot;SP2010_SharePoint_FoundationSearch&amp;quot; SET PARTNER = 'TCP://SQL1.sp2010.local:5022'     &lt;br /&gt;GO     &lt;br /&gt;ALTER DATABASE &amp;quot;PerformancePoint Service Application_2757dc3dcb96455799c3e33c55f40b5d&amp;quot; SET PARTNER = 'TCP://SQL1.sp2010.local:5022'     &lt;br /&gt;GO     &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;Run this on the MIRROR.&lt;/p&gt;  &lt;p&gt;Next go back and change the @mirrorendpoint variable in the above T-SQL script to point to your MIRROR instance.&amp;#160; Then run the resulting script on the PRINCIPAL.    &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;Next, on the PRINCIPAL, go back and change the statement in the cursor from SET PARTNER to SET WITNESS.&amp;#160; Then change the @mirrorenpoint variable to @witnessendpoint.&amp;#160; Run the script to generate output, and run the output on the PRINCIPAL instance.&lt;/p&gt;  &lt;p&gt;The databases should be mirrored now.&amp;#160; You can tell this by looking at the state of the databases on the MIRROR instance – they will look something like this:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://davemilner.com/images/24986-23755/image_36.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 5px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://davemilner.com/images/24986-23755/image_thumb_17.png" width="492" height="373" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Likewise the PRINCIPAL instance will show a mirrored state:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://davemilner.com/images/24986-23755/image_38.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 5px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://davemilner.com/images/24986-23755/image_thumb_18.png" width="491" height="444" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Go back to your SharePoint farm and add the failover database instance to point to the MIRROR server.&amp;#160; We can start up our SharePoint server again now that the databases are mirrored.&lt;/p&gt;  &lt;p&gt;You can do this with the following Powershell.&amp;#160; NOTE:&amp;#160; Replace the –inotmatch statements with the names of the specific databases you do not want to point to your MIRROR&amp;#160; &lt;/p&gt;  &lt;p&gt;   &lt;pre class="csharpcode"&gt;Get-SPDatabase |?{$_.Type.ToString() -inotmatch &lt;span class="str"&gt;&amp;quot;SP2010_SharePoint_Analytics_Stager1&amp;quot;&lt;/span&gt; &lt;/pre&gt;

  &lt;pre class="csharpcode"&gt;-and $_.Type.ToString() -inotmatch &lt;span class="str"&gt;&amp;quot;SP2010_SharePoint_People_Sync&amp;quot;&lt;/span&gt; -and $_.Type.ToString() &lt;/pre&gt;

  &lt;pre class="csharpcode"&gt;-inotmatch &lt;span class="str"&gt;&amp;quot;SP2010_SharePoint_Usage&amp;quot;&lt;/span&gt;}| %{$_.AddFailoverServiceInstance(&lt;span class="str"&gt;&amp;quot;SQL2&amp;quot;&lt;/span&gt;);$_.Update()}&lt;/pre&gt;
  &lt;style type="text/css"&gt;
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }&lt;/style&gt;&lt;/p&gt;

&lt;p&gt;You can confirm this worked by going into Central Administration and selecting manage Content Databases under Application Management.&amp;#160; Select the Content Database, and you should see the Failover Database Server value populated.&lt;/p&gt;

&lt;p&gt;&amp;#160; &lt;br /&gt;&lt;a href="http://davemilner.com/images/24986-23755/image_40.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 5px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://davemilner.com/images/24986-23755/image_thumb_19.png" width="622" height="469" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This should serve are a step by step extensive guide on exactly how to set up your SharePoint servers for Database Mirroring.&lt;/p&gt;

&lt;p&gt;Now you are all ready to perform the test of this by nuking your PRIMARY and watching the fun begin!!!&lt;/p&gt;

&lt;h4&gt;Credits&lt;/h4&gt;

&lt;p&gt;I would like to thank two of my classmates from the MCM (R7) program for SharePoint 2010, Aaron Saikovski and Alex Bacchin for some of the content and the original T-SQL scripts for this.&amp;#160; &lt;/p&gt;</content>
	</entry>
	<entry>
		<title>SharePoint 2010 SP1 Released&amp;ndash;Office 365 Launch</title>
		<link rel="alternate" href="http://davemilner.com/2011/06/29/sharepoint-2010-sp1-releasedndashoffice-365-launch.aspx?ref=rss" />
		<id>tag:www.davemilner.com,2011-06-29:5b08e367-3fa6-49a6-8e86-7ae214872771</id>
		<author>
			<name>Dave Milner</name>
		</author>
		<updated>2011-06-29T16:31:07Z</updated>
		<published>2011-06-29T16:31:07Z</published>
		<content type="html">&lt;p&gt;Yesterday was a pretty big day for Microsoft, SharePoint, and the cloud.&amp;#160; SharePoint 2010 Service Pack 1 as well as the SP1 for many related product groups all released, and Office 365 officially was released to market.&amp;#160;&amp;#160; &lt;/p&gt;  &lt;p&gt;Since these topics are already given great coverage by many bloggers, I thought I would take the time to link-list a number of valuable blog posts covering these items.&amp;#160; I’ll also fill in some detail where I didn’t see a lot of coverage.&lt;/p&gt;  &lt;p&gt;For a package list of the released service packs across the stack for SP1, see - &lt;a title="http://support.microsoft.com/kb/2510766" href="http://support.microsoft.com/kb/2510766"&gt;http://support.microsoft.com/kb/2510766&lt;/a&gt;&lt;/p&gt;  &lt;h3&gt;SharePoint 2010 SP1&amp;#160; &lt;/h3&gt;  &lt;ul&gt;   &lt;li&gt;SharePoint Product Team - &lt;a title="http://sharepoint.microsoft.com/blog/Pages/BlogPost.aspx?pID=984" href="http://sharepoint.microsoft.com/blog/Pages/BlogPost.aspx?pID=984"&gt;http://sharepoint.microsoft.com/blog/Pages/BlogPost.aspx?pID=984&lt;/a&gt; – highlights SP1 and gives a link to the June CU which is recommended to be installed right after SP1 for security and bug fixes.&lt;/li&gt;    &lt;li&gt;SP1 Whitepaper – a full whitepaper highlighting changes and features added in SP1 - &lt;a title="http://www.microsoft.com/download/en/details.aspx?id=26573" href="http://www.microsoft.com/download/en/details.aspx?id=26573"&gt;http://www.microsoft.com/download/en/details.aspx?id=26573&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;Todd Carter - SharePoint Versions is updated – Todd Carter’s SharePoint Versions page - &lt;a title="http://todd-carter.com/page/SharePointVersions.aspx" href="http://todd-carter.com/page/SharePointVersions.aspx"&gt;http://todd-carter.com/page/SharePointVersions.aspx&lt;/a&gt; – this is a great place to check current versions and build numbers, download links, CU’s and SP’s.&amp;#160; &lt;/li&gt;    &lt;li&gt;Gary Lapointe - SP1 PowerShell Updates – Gary covers changes in the new cmdlets - &lt;a title="http://blog.falchionconsulting.com/index.php/2011/06/sharepoint-server-2010-service-pack-1-powershell-changes/" href="http://blog.falchionconsulting.com/index.php/2011/06/sharepoint-server-2010-service-pack-1-powershell-changes/"&gt;http://blog.falchionconsulting.com/index.php/2011/06/sharepoint-server-2010-service-pack-1-powershell-changes/&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;Wictor Wilen – SP1 overview – several unique links here worth following such as coverage for SQL Denali and new things on the horizon for SQL and SharePoint BI – includes direct download links for most of the SP1 family.&amp;#160; &lt;a title="http://www.wictorwilen.se/Post/Service-Pack-1-for-SharePoint-2010-is-here.aspx" href="http://www.wictorwilen.se/Post/Service-Pack-1-for-SharePoint-2010-is-here.aspx"&gt;http://www.wictorwilen.se/Post/Service-Pack-1-for-SharePoint-2010-is-here.aspx&lt;/a&gt;&amp;#160;&lt;/li&gt;    &lt;li&gt;Maurice Prather – SP1 – good coverage of the new Recycle Bin features in SP1 - &lt;a title="http://www.bluedoglimited.com/SharePointThoughts/Lists/Posts/Post.aspx?ID=334" href="http://www.bluedoglimited.com/SharePointThoughts/Lists/Posts/Post.aspx?ID=334"&gt;http://www.bluedoglimited.com/SharePointThoughts/Lists/Posts/Post.aspx?ID=334&lt;/a&gt;&amp;#160;&lt;/li&gt;    &lt;li&gt;Chakradeep Chandan – good Recycle bin coverage with pictures - &lt;a title="http://blogs.msdn.com/b/chaks/archive/2011/06/30/sharepoint-2010-sp1-site-recycle-bin-ui-experience.aspx" href="http://blogs.msdn.com/b/chaks/archive/2011/06/30/sharepoint-2010-sp1-site-recycle-bin-ui-experience.aspx"&gt;http://blogs.msdn.com/b/chaks/archive/2011/06/30/sharepoint-2010-sp1-site-recycle-bin-ui-experience.aspx&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;h3&gt;Office 2010 SP1&lt;/h3&gt;  &lt;ul&gt;   &lt;li&gt;Office 2010 – SP1 – available for download - &lt;a title="http://support.microsoft.com/kb/2460049" href="http://support.microsoft.com/kb/2460049"&gt;http://support.microsoft.com/kb/2460049&lt;/a&gt;.&amp;#160; In this are listed many of the fixes for Office 2010 including these highlights:&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;OneNote 2010 – new Open from Web feature allowing for opening a OneNote notebook from Windows Live SkyDrive (plus several fixes around that feature, logging in on synchronizing&lt;/li&gt;      &lt;li&gt;Excel 2010 – performance fixes&lt;/li&gt;      &lt;li&gt;PowerPoint 2010 – UsePresenterView – change in default behavior to show slideshow on secondary monitor and notes on primary monitor&lt;/li&gt;      &lt;li&gt;Access 2010 – new options to integrate community content in Application Parts&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;Also of note with the Office 2010 SP1 – there are fixes to a number of other programs that are SharePoint related like SharePoint Designer 2010, PerformancePoint Dashboard Designer, SharePoint Workspace, and Microsoft Project.&lt;/p&gt;  &lt;h3&gt;Office Web Applications SP1&lt;/h3&gt;  &lt;ul&gt;   &lt;li&gt;Office Web Apps SP1 - &lt;a title="http://support.microsoft.com/kb/2460073" href="http://support.microsoft.com/kb/2460073"&gt;http://support.microsoft.com/kb/2460073&lt;/a&gt; – offers the following improvements:&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;OpenDocument Format (ODF) support.&lt;/li&gt;      &lt;li&gt;Google Chrome support&lt;/li&gt;      &lt;li&gt;Attachment viewing for Office 365&lt;/li&gt;      &lt;li&gt;Print Word docs from Edit and View modes, as well as print PowerPoint&lt;/li&gt;      &lt;li&gt;Insert Charts in Excel&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;h3&gt;Office 365&lt;/h3&gt;  &lt;ul&gt;   &lt;li&gt;Office 365 – great resource blog - &lt;a title="http://blogs.msdn.com/b/mssmallbiz/archive/2011/06/28/announcing-microsoft-office-365-availability-in-40-countries-worldwide-information-and-resources-for-you.aspx" href="http://blogs.msdn.com/b/mssmallbiz/archive/2011/06/28/announcing-microsoft-office-365-availability-in-40-countries-worldwide-information-and-resources-for-you.aspx"&gt;http://blogs.msdn.com/b/mssmallbiz/archive/2011/06/28/announcing-microsoft-office-365-availability-in-40-countries-worldwide-information-and-resources-for-you.aspx&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Those are a few linked resources for you to enjoy!&amp;#160; The SP1 family as well as the introduction of Office 365 really marks a distinct milestone in feature upgrades for the SharePoint family and product stack.&amp;#160; I’m excited to get installations going and to dive in.&lt;/p&gt;</content>
	</entry>
	<entry>
		<title>COSPUG&amp;ndash;Colorado Springs&amp;ndash;Enterprise Services Farms</title>
		<link rel="alternate" href="http://davemilner.com/2011/05/12/cospugndashcolorado-springsndashenterprise-services-farms.aspx?ref=rss" />
		<id>tag:www.davemilner.com,2011-05-12:cfd58ec4-c014-4b0a-9bcc-ec7fda2ece0e</id>
		<author>
			<name>Dave Milner</name>
		</author>
		<updated>2011-05-12T19:52:59Z</updated>
		<published>2011-05-12T19:52:59Z</published>
		<content type="html">&lt;p&gt;Last night on 5/11/2011 I presented a session to the local COSPUG group on Enterprise Services Farms.&lt;/p&gt;  &lt;p&gt;Abstract:&lt;/p&gt;  &lt;p&gt;With the new Service Application model additional possibilities are opened up for publishing and consuming individual service applications across farms. This architectural design has previously been thought to only be of use in the very largest SharePoint deployments. However, with the ease of setting up publishing and consuming farms this pattern offers many more possibilities. In this session we will examine setting up services in a Service Farm environment&lt;/p&gt;  &lt;p&gt;I promised to upload my content for the talk (PowerPoint, PowerShell scripts) to my blog.&amp;#160; The PowerPoint contains an overview of services farms as well as step by step actions to set them up.&amp;#160; The PowerShell script is a script for exchanging trust certificates as well as a script for publishing the services.&lt;/p&gt;  &lt;p&gt;You can access all of that &lt;a href="http://cid-c9bfa68b7c6dd4ac.office.live.com/self.aspx/.Public/EnterpriseServicesFarms.zip" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;</content>
	</entry>
	<entry>
		<title>SharePoint 2010, CBA and ADFS 2.0</title>
		<link rel="alternate" href="http://davemilner.com/2011/04/29/sharepoint-2010-cba-and-adfs-20.aspx?ref=rss" />
		<id>tag:www.davemilner.com,2011-04-29:dc32eb87-98a1-4557-be8f-fcaaadb77149</id>
		<author>
			<name>Dave Milner</name>
		</author>
		<updated>2011-04-30T04:09:05Z</updated>
		<published>2011-04-30T04:09:05Z</published>
		<content type="html">&lt;h5&gt;Identity&lt;/h5&gt;  &lt;p&gt;Identity is a common problem for connected systems.&amp;#160; Who am I? (AuthN) and What should I be able to do? (AuthZ) are fundamental questions to answer for every software solution.&amp;#160; In the world of SharePoint 2010, Claims Based Authentication (CBA) and Active Directory Federation Services (ADFS) 2.0 tie in to those questions in unique ways.&lt;/p&gt;  &lt;p&gt;I am going to talk about these topics in a series of blog posts. This post is Part 1.&amp;#160;&amp;#160; My goal is to not only cover the “what” and “how” of getting these technologies working in a SharePoint 2010 environment (which will include Office 365), but to explain a little bit about what they represent, what the business advantages are of using them, and how they work together between themselves and with other external systems.&amp;#160; &lt;/p&gt;  &lt;h5&gt;Claims Based Authentication&lt;/h5&gt;  &lt;p&gt;Claims Based Authentication (CBA) is a new feature bundled into SharePoint 2010.&amp;#160;&amp;#160; Microsoft Technet literature says of CBA:&lt;/p&gt;  &lt;p&gt;“SharePoint Foundation 2010 incorporates a new authentication model that works with any corporate identity system, including Active Directory Domain Services, LDAP-based directories, application-specific databases, and user-centric identity models.” - &lt;a title="http://technet.microsoft.com/en-us/sharepoint/ee518670.aspx" href="http://technet.microsoft.com/en-us/sharepoint/ee518670.aspx"&gt;http://technet.microsoft.com/en-us/sharepoint/ee518670.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The idea behind CBA is to make authentication and SharePoint easier by implementing some standards that are emerging surrounding identity, such as SAML, WIF, and the WS-* standards.&amp;#160; CBA is seen for the first time in SharePoint 2010 in all versions of the product including the free Foundation product.&amp;#160;&amp;#160; CBA offers the ability to do things like authenticate against Windows LiveID, other systems such as OpenID, LDAP based directories, or open source federated authentication systems such as Shibboleth implemented in other operating systems and on other technology stacks.&lt;/p&gt;  &lt;h5&gt;Why is this important?&lt;/h5&gt;  &lt;p&gt;CBA is identity’s road into the future.&amp;#160;&amp;#160; While easily-set-up examples aren’t as abundant out of the box now, and while SharePoint 2010 still supports the tried and true authentication methods of NTLM and Kerberos a lot more flawlessly than the CBA implementation in this version, the world of identity is marching on towards open standards based systems, and CBA is directly on that road.&amp;#160; Standards allow authentication to bridge vendors and operating systems, and in a connected world of cloud computing this becomes more and more important.&lt;/p&gt;  &lt;h5&gt;What is ADFS 2.0 and where does it fit in?&lt;/h5&gt;  &lt;p&gt;Active Directory Federation Services (ADFS) 2.0 is Microsoft’s toolset to federate identity.&amp;#160; Technet literature states:&lt;/p&gt;  &lt;p&gt;“Active Directory Federation Services (AD FS) 2.0 helps simplify access to applications and other systems with an open and interoperable claims-based model. The AD FS 2.0 platform provides a fully redesigned Windows-based Federation Service that supports the WS-Trust, WS-Federation, and Security Assertion Markup Language (SAML) protocols.” - &lt;a title="http://technet.microsoft.com/en-us/library/adfs2(WS.10).aspx" href="http://technet.microsoft.com/en-us/library/adfs2(WS.10).aspx"&gt;http://technet.microsoft.com/en-us/library/adfs2(WS.10).aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;OK, you say, but what does that mean?&amp;#160; Maybe these words to you are only concepts currently.&amp;#160; Maybe you’ve read through a lot of content on Technet and ADFS 2.0 doesn’t seem to simplify a whole lot.&amp;#160; It’s a lot more complicated than just setting up SharePoint with NTLM or Kerberos, for example.&lt;/p&gt;  &lt;p&gt;While that may be a fair criticism or assessment right now, let’s go back up to that big picture for a moment.&amp;#160; What is &lt;a href="http://dictionary.reference.com/browse/federation" target="_blank"&gt;federation&lt;/a&gt; in general?&amp;#160; The most common definition is “the act of federating or uniting in a league”&amp;#160; This presents the general idea, and the &lt;a href="http://en.wikipedia.org/wiki/Federation_(information_technology)" target="_blank"&gt;technical definition&lt;/a&gt; also clarifies further – “A federation is multiple computing and/or network providers agreeing upon standards of operation in a collective fashion”.&amp;#160; While federation in identity is still in its beginning stages, this is the method that absolutely will need to be used to connect systems based upon disparate technologies.&amp;#160; &lt;/p&gt;  &lt;p&gt;We see federation in a couple places starting to creep into SharePoint.&amp;#160; One of the first is in Search – where we can start to bring in results from crawling other non-SharePoint sources and have them produce similar results to searching SharePoint sources.&lt;/p&gt;  &lt;p&gt;The second place federation is coming in is right here in the identity world.&amp;#160; ADFS 2.0 works in the most simple fashion as a claims producer and a claims consumer.&amp;#160;&amp;#160; &lt;/p&gt;  &lt;p&gt;As a claims producer (termed “claims provider role” in ADFS terminology), ADFS 2.0 can authenticate a user against a back-end claims store and issue a certificate that can be passed along to an application for identity purposes.&lt;/p&gt;  &lt;p&gt;As a claims consumer (termed “relying party role” in ADFS terminology), ADFS 2.0 can process and trust claims from other claims providers.&amp;#160; After validating the claim, it can reaffirm the claim to its relying parties (such as a SharePoint 2010 application).&lt;/p&gt;  &lt;h5&gt;What kind of back-end systems can ADFS 2.0 help me authenticate against?&lt;/h5&gt;  &lt;p&gt;ADFS 2.0 as of this writing has a number of white papers that highlight example implementations of federated authentication against several back-end stores, including IBM Tivoli, Windows Azure, SharePoint 2010, PingFederate, the Microsoft Office 365 beta, Oracle Identity Federation, Shibboleth 2.0, and CA Federation Manager.&amp;#160;&amp;#160; As you can notice, several of these represent vastly different technology stacks.&amp;#160; More details of this can be found here:&amp;#160; &lt;a title="http://technet.microsoft.com/en-us/library/adfs2-step-by-step-guides(WS.10).aspx" href="http://technet.microsoft.com/en-us/library/adfs2-step-by-step-guides(WS.10).aspx"&gt;http://technet.microsoft.com/en-us/library/adfs2-step-by-step-guides(WS.10).aspx&lt;/a&gt;&lt;/p&gt;  &lt;h5&gt;What scenarios could ADFS 2.0 help me in my SharePoint 2010 environment?&lt;/h5&gt;  &lt;p&gt;Goals for ADFS 2.0 in general can include the following:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Provide your AD Users access to your claims aware applications&lt;/li&gt;    &lt;li&gt;Provide your AD Users access to applications and services in other organizations&lt;/li&gt;    &lt;li&gt;Provide other organizations users access to your applications&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;These goals maps to the following ADFS 2.0 Designs:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Web Single Sign-On (SSO)&lt;/li&gt;    &lt;li&gt;Federated Web Single Sign-On (SSO)&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;The general goal of providing your AD users access to your claims aware applications when you consider SharePoint doesn’t really gain us a whole lot.&amp;#160; Our AD users ALREADY have access to SharePoint through NTLM and Kerberos.&amp;#160; &lt;/p&gt;  &lt;p&gt;However, from a SSO perspective where you can provide your users access to other applications and services in another organization has a unique SharePoint application:&amp;#160; Office 365 uses ADFS 2.0 to provide SSO capabilities and you can utilize your on premises ADFS 2.0 implementation to tie into this, as highlighted in the Beta here:&amp;#160; &lt;a title="http://onlinehelp.microsoft.com/en-us/Office365-enterprises/ff652540.aspx" href="http://onlinehelp.microsoft.com/en-us/Office365-enterprises/ff652540.aspx"&gt;http://onlinehelp.microsoft.com/en-us/Office365-enterprises/ff652540.aspx&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Another key point as it pertains to SharePoint is that you can authenticate users that are external to your organization, or external to your corporate intranet through ADFS 2.0 and provide them access to your SharePoint 2010 environments through CBA.&lt;/p&gt;  &lt;p&gt;So in conclusion, this is an introduction to the topics of SharePoint 2010, Claims Based Authentication (CBA) and Active Directory Federation Services (ADFS) 2.0&lt;/p&gt;  &lt;p&gt;Stay tuned for further details of how these work together in future blog posts.&lt;/p&gt;</content>
	</entry>
	<entry>
		<title>MSDN SharePoint Event&amp;ndash;Slides and Code</title>
		<link rel="alternate" href="http://davemilner.com/2011/03/18/msdn-sharepoint-eventndashslides-and-code.aspx?ref=rss" />
		<id>tag:www.davemilner.com,2011-03-18:fb15fcd3-d930-45dc-803d-6d3ed1f53542</id>
		<author>
			<name>Dave Milner</name>
		</author>
		<updated>2011-03-18T20:01:17Z</updated>
		<published>2011-03-18T20:01:17Z</published>
		<content type="html">&lt;p&gt;Yesterday I assisted Paul Yuknewicz, Lead PM for Visual Studio SharePoint tools, in putting on a half-day event at the Denver Microsoft Office on SharePoint.&lt;/p&gt;  &lt;p&gt;As promised, my slides from the event and source code are available.&amp;#160; You may download them at the link below.&amp;#160; &lt;/p&gt; &lt;iframe style="padding-bottom: 0px; background-color: #fcfcfc; padding-left: 0px; width: 98px; padding-right: 0px; height: 115px; padding-top: 0px" title="Preview" marginheight="0" src="http://cid-c9bfa68b7c6dd4ac.office.live.com/embedicon.aspx/.Public/MSDN.SharePoint.zip" frameborder="0" marginwidth="0" scrolling="no"&gt;&lt;/iframe&gt;  &lt;p&gt;To all the attendees – thanks for your support and for your interest in SharePoint.&amp;#160; If you are interested in further local SharePoint involvement and free training in the Colorado area, please visit our Colorado SharePoint community at &lt;a href="http://www.cospug.com"&gt;www.cospug.com&lt;/a&gt;.&lt;/p&gt;</content>
	</entry>
	<entry>
		<title>I am Published! Pro ASP.NET SharePoint 2010 Solutions</title>
		<link rel="alternate" href="http://davemilner.com/2011/01/17/i-am-published-pro-aspnet-sharepoint-2010-solutions.aspx?ref=rss" />
		<id>tag:www.davemilner.com,2011-01-17:b215e4fe-117f-4763-abfb-7c7d8cc697c9</id>
		<author>
			<name>Dave Milner</name>
		</author>
		<updated>2011-01-18T03:17:20Z</updated>
		<published>2011-01-18T03:17:20Z</published>
		<content type="html">&lt;p&gt;This is kind of an exciting milestone.&amp;#160; My book – “Pro ASP.NET SharePoint 2010 Solutions – Techniques for Building SharePoint Functionality into ASP.NET Applications” has been released by APress to the public.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://davemilner.com/images/24986-23755/9781430231110_2.jpg"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 5px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="9781430231110" border="0" alt="9781430231110" src="http://davemilner.com/images/24986-23755/9781430231110_thumb.jpg" width="186" height="244" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Amazon.com link is here - &lt;a title="http://www.amazon.com/ASP-NET-SharePoint-2010-Solutions-Functionality/dp/1430231114/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1295283824&amp;amp;sr=1-1" href="http://www.amazon.com/ASP-NET-SharePoint-2010-Solutions-Functionality/dp/1430231114/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1295283824&amp;amp;sr=1-1"&gt;http://www.amazon.com/ASP-NET-SharePoint-2010-Solutions-Functionality/dp/1430231114/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1295283824&amp;amp;sr=1-1&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;To document my journey with writing this book, it began with doing a few projects in MOSS 2007 where the core portion of the application was not SharePoint, but an ASP.NET application.&amp;#160; However, with the extensive requirements for documentation, SharePoint was chosen as a platform.&amp;#160;&amp;#160; I quickly found out that there was very little content published about scenarios of this nature.&amp;#160;&amp;#160; So I started cataloging my learning along the way.&lt;/p&gt;  &lt;p&gt;Now I have a long and extensive background in ASP.NET development that actually dates back to it’s beginning.&amp;#160; I did some classic .asp development, and switched over to ASP.NET immediately.&amp;#160; Interestingly enough, my classic ASP work that I did was mostly in the VB language, but when .NET came out I switched immediately over to coding in C#.&amp;#160;&amp;#160; Languages aren’t really a hindrance to me as I have cataloged over 35 programming languages I have written code in throughout my career.&amp;#160; I’ve actually slowed up a little recently and need to branch out!&amp;#160; (F# is on my horizon, as well as compiler constructs for DSL application – LALR parsing algorithms).&lt;/p&gt;  &lt;p&gt;So what we found out on these projects was that SharePoint has quite a number of compelling features for a development platform to start from.&amp;#160; I highlight many of these in Chapter 1 of my book entitled “SharePoint as a Development Platform”.&amp;#160;&amp;#160; The main drawback I found was there were technological and cultural barriers to entry.&amp;#160;&amp;#160; The nature of SharePoint product configuration and necessity of understanding its architecture was the highest barrier to entry for a standard ASP.NET developer.&amp;#160;&amp;#160; So one of my goals in writing the book was to help ASP.NET developers jump over that barrier. &lt;/p&gt;  &lt;p&gt;In SharePoint 2010 I found that Microsoft also has put a great deal of effort into this goal as well.&amp;#160; I started corresponding with Reza Chitsaz who is a Sr. Program Manager with the Visual Studio team who was in charge of integrating many of those features for SharePoint development into the Visual Studio IDE.&amp;#160;&amp;#160; The team did a great job of initial integration there, and I look forward to further developments!&amp;#160;&amp;#160; Chapter 2 of my book deals with all of the advancements in the Visual Studio 2010 IDE, and is entitled – “Visual Studio 2010 – Enhancing the SharePoint Development Environment”.&amp;#160; &lt;/p&gt;  &lt;p&gt;Throughout the rest of my book I tried to achieve a balance between a succinct education on many of the architectural constructs of SharePoint 2010 and providing good real world code samples of some of the things that I ran into with the initial blended projects.&lt;/p&gt;  &lt;p&gt;The other main thing I introduce in the book is a way that I developed of looking at some of these projects.&amp;#160;&amp;#160; SharePoint is such a huge product that customizations and integrations tend to be all over the place.&amp;#160; I found it helpful to try and categorize the types of approaches together into types of solutions.&amp;#160; In my book I coin the phrases “Low Touch Point Solutions, Medium Touch Point Solutions, and High Touch Point Solutions” as terms to help categorize approaches and levels of effort with SharePoint / .NET development.&amp;#160;&amp;#160; This has proved helpful to myself and the teams I’ve worked with as well as some others I have discussed the topic with in the community. &lt;/p&gt;  &lt;p&gt;One of the last things I wanted to mention about my book is that I endeavored to give code examples of some of the common challenges I ran into when using SharePoint 2010 as a .NET development platform.&amp;#160; To keep things interesting, I also included in code examples some approaches that could serve as patterns for interacting with some of the newer technologies out such as SQL Azure and the Azure Data Marketplace.&amp;#160;&amp;#160; The places we look for information is rapidly changing, and these approaches are not too far off the horizon for mass implementation.&lt;/p&gt;  &lt;p&gt;So that’s my book – it’s just out, and I hope readers will give it a chance and look it over as well as check out the code samples which are available on the APress site.&lt;/p&gt;  &lt;p&gt;To conclude, I will list a complete Chapter / Section Table of Contents to help reader selection.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Book Content&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt; Chapter 1 – SharePoint as a Development Platform&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;SharePoint Features&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Extensibility&lt;/li&gt;        &lt;li&gt;Document Management&lt;/li&gt;        &lt;li&gt;Authentication and Authorization&lt;/li&gt;        &lt;li&gt;Microsoft Office Integration&lt;/li&gt;        &lt;li&gt;SharePoint Designer 2010&lt;/li&gt;        &lt;li&gt;SharePoint Workspace&lt;/li&gt;        &lt;li&gt;Visual Studio 2010 Integration&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Common Approaches to Application Development in SharePoint&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Intranet Scenario&lt;/li&gt;        &lt;li&gt;Publishing Site Scenario&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Sandboxed Solutions&lt;/li&gt;      &lt;li&gt;Advanced Approaches to Application Development&lt;/li&gt;      &lt;li&gt;Summary&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Chapter 2 – Visual Studio 2010 – Advancing the SharePoint Development Environment&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Anatomy of a SharePoint 2010 Project&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Empty SharePoint Project&lt;/li&gt;        &lt;li&gt;Visual Web Part&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Wrapping ASP.NET Development&lt;/li&gt;      &lt;li&gt;Coding the Sample Visual Web Part&lt;/li&gt;      &lt;li&gt;Deploying a Solution&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Examining the Deployment Process&lt;/li&gt;        &lt;li&gt;Deploying to a Test or Production Environment&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Using Features&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Feature.Template.xml&lt;/li&gt;        &lt;li&gt;Feature1.feature and Feature1 Nodes&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Package Designer&lt;/li&gt;      &lt;li&gt;Packaging Explorer&lt;/li&gt;      &lt;li&gt;SharePoint Project Templates&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Sequential Workflow&lt;/li&gt;        &lt;li&gt;State Machine Workflow&lt;/li&gt;        &lt;li&gt;Business Data Connectivity Model&lt;/li&gt;        &lt;li&gt;Event Receiver&lt;/li&gt;        &lt;li&gt;List Definition&lt;/li&gt;        &lt;li&gt;Content Type&lt;/li&gt;        &lt;li&gt;Module&lt;/li&gt;        &lt;li&gt;Site Definitions&lt;/li&gt;        &lt;li&gt;Import Reusable Workflow&lt;/li&gt;        &lt;li&gt;Import SharePoint Solution Package&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Other Visual Studio Templates and Features&lt;/li&gt;      &lt;li&gt;Team Development&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Development&lt;/li&gt;        &lt;li&gt;Test&lt;/li&gt;        &lt;li&gt;Production&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Summary&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Chapter 3 – SharePoint, IIS and the .NET Framework&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;SharePoint 2010 in IIS 7 Manager&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;IIS and .NET Fundamentals&lt;/li&gt;        &lt;li&gt;SharePoint 2010 File System Folders Under IIS&lt;/li&gt;        &lt;li&gt;SharePoint 2010 Virtual Directories&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;SharePoint 2010 and the .NET Framework&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;WSS web.config File&lt;/li&gt;        &lt;li&gt;Code Access Security&lt;/li&gt;        &lt;li&gt;Sandboxed Solutions&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Summary&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Chapter 4 – SharePoint Architecture – File System, Database, and the Provider Pattern&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;SharePoint 2010 and the File System&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;SharePoint Root&lt;/li&gt;        &lt;li&gt;Program Files\Microsoft Office Server&lt;/li&gt;        &lt;li&gt;WSS Folders&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;SharePoint 2010 Databases&lt;/li&gt;      &lt;li&gt;SharePoint 2010 and the Virtual Path Provider Pattern&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Object Oriented Architecture&lt;/li&gt;        &lt;li&gt;The Provider Pattern&lt;/li&gt;        &lt;li&gt;The Virtual Path Provider&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Summary&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Chapter 5 – Web Parts and Master Pages&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Web Parts&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Building a Visual Web Part&lt;/li&gt;        &lt;li&gt;Building a Standard SharePoint Web Part&lt;/li&gt;        &lt;li&gt;Building a Silverlight Web Part&lt;/li&gt;        &lt;li&gt;Accessing External Database Content in a Web Part&lt;/li&gt;        &lt;li&gt;Web Parts Summary&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Master Pages&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Understanding Where Master Pages Are Used&lt;/li&gt;        &lt;li&gt;v4.master&lt;/li&gt;        &lt;li&gt;Master Page Content&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Summary&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Chapter 6 – The Client Object Model&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Introducing the Client Object Model&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;.NET Managed and Silverlight Based Clients&lt;/li&gt;        &lt;li&gt;ECMAScript/JavaScript Clients&lt;/li&gt;        &lt;li&gt;Taking Advantage of the Client Object Model&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Client Object Model Components&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;.NET Components&lt;/li&gt;        &lt;li&gt;Silverlight Components&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Client Object Model API Support&lt;/li&gt;      &lt;li&gt;Data Retrieval and Interaction&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;LoadQuery and Load&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Client Object Model – The Big Three&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Client Object Model Reading List Data via ASP.NET&lt;/li&gt;        &lt;li&gt;Client Object Model Writing List Data via ASP.NET&lt;/li&gt;        &lt;li&gt;Client Object Model Reading List Data via Silverlight – From a Web Part&lt;/li&gt;        &lt;li&gt;Client Object Model Writing List Data via Silverlight&lt;/li&gt;        &lt;li&gt;Debugging Silverlight in SharePoint 2010&lt;/li&gt;        &lt;li&gt;Client Object Model Reading List Data via ECMAScript / JavaScript&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Summary&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Chapter 7 – Business Connectivity Services&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;What Are Business Connectivity Services?&lt;/li&gt;      &lt;li&gt;BCS Solutions with SharePoint Designer&lt;/li&gt;      &lt;li&gt;BCS Solutions with Visual Studio 2010&lt;/li&gt;      &lt;li&gt;BCS Architecture&lt;/li&gt;      &lt;li&gt;Summary&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Chapter 8 – Touch Points – Integrating SharePoint 2010 and ASP.NET&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Integration Factors&lt;/li&gt;      &lt;li&gt;Example Business Scenarios&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Corporate Internet and Service Portals&lt;/li&gt;        &lt;li&gt;Existing ASP.NET Product&lt;/li&gt;        &lt;li&gt;New Blended Solution&lt;/li&gt;        &lt;li&gt;Expanding Your Corporate Portal&lt;/li&gt;        &lt;li&gt;Talking to SharePoint&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Organizational Factors&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Organizational Examples&lt;/li&gt;        &lt;li&gt;SharePoint-Centric Organizations&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Touch Points&lt;/li&gt;      &lt;li&gt;Low Touch Point&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Pros&lt;/li&gt;        &lt;li&gt;Cons&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Branding SharePoint Solutions&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Branding Possibilities, Features, and Tools&lt;/li&gt;        &lt;li&gt;SharePoint Server 2010 Publishing Features&lt;/li&gt;        &lt;li&gt;Working With a Brand&lt;/li&gt;        &lt;li&gt;Branding the ASP.NET Application&lt;/li&gt;        &lt;li&gt;Branding in SharePoint Designer Example&lt;/li&gt;        &lt;li&gt;Deploying Branded Solutions&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Publishing Layouts&lt;/li&gt;      &lt;li&gt;Customizing SharePoint 2010 Navigation&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Customizing Navigation Through the User Interface&lt;/li&gt;        &lt;li&gt;Adding Links through the Object Model&lt;/li&gt;        &lt;li&gt;Navigation Custom Data Sources&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Summary&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Chapter 9 – Medium Touch Point Solutions&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Medium Touch Points&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;Pros&lt;/li&gt;        &lt;li&gt;Cons&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Medium Touch Point Examples&lt;/li&gt;      &lt;ul&gt;       &lt;li&gt;SharePoint and the Cloud&lt;/li&gt;        &lt;li&gt;SharePoint 2010 and Windows Azure MarketPlace&lt;/li&gt;        &lt;li&gt;PowerPivot and Azure&lt;/li&gt;        &lt;li&gt;Accessing Azure DataMarket Feeds Through .NET&lt;/li&gt;        &lt;li&gt;Integrating External Feeds Through .NET WCF Services and jQuery&lt;/li&gt;        &lt;li&gt;Consuming an oData Feed with jQuery in SharePoint 2010&lt;/li&gt;     &lt;/ul&gt;      &lt;li&gt;Summary&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Chapter 10 – High Touch Point Solutions&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;Tenets and Constraints for High Touch Point Solutions&lt;/li&gt;      &lt;li&gt;High Touch Point Blended Solution Example&lt;/li&gt;      &lt;li&gt;Migrating an Existing ASP.NET Application&lt;/li&gt;      &lt;li&gt;Load Testing Your Blended Solution&lt;/li&gt;      &lt;li&gt;Summary and Conclusion&lt;/li&gt;   &lt;/ul&gt; &lt;/ul&gt;  &lt;p&gt;Thanks for checking out my book!&lt;/p&gt;  &lt;p&gt;Dave Milner&lt;/p&gt;</content>
	</entry>
	<entry>
		<title>SPTechCon 2010&amp;ndash;Boston&amp;ndash;My Technical Class</title>
		<link rel="alternate" href="http://davemilner.com/2010/10/22/sptechcon-2010ndashbostonndashmy-technical-class.aspx?ref=rss" />
		<id>tag:www.davemilner.com,2010-10-22:db92ff60-8f9a-4d6d-9f8c-e61ea9c49024</id>
		<author>
			<name>Dave Milner</name>
		</author>
		<updated>2010-10-22T13:54:05Z</updated>
		<published>2010-10-22T13:54:05Z</published>
		<content type="html">&lt;p&gt;I am presenting a class session at SPTechCon Boston on Friday – 10/22/2010 – from 2:30 – 3:45 PM in the Molly Pitcher Rm of the Hyatt Regency Cambridge, where SPTechCon is taking place.&lt;/p&gt;  &lt;p&gt;The class details are as follows:&lt;/p&gt;  &lt;p&gt;808 – Architecting a Blended SharePoint 2010 / ASP.NET Solution&lt;/p&gt;  &lt;p&gt;SharePoint is beginning to be used more widely as a development platform for a wide variety of ASP.NET applications. SharePoint architects, developers and IT professionals are being called on to design, architect, develop and provide a stable environment for a growing base of SharePoint site collections blended with an increasing amount of custom code. This session will show how to incorporate functionality that comes prepackaged in SharePoint such as wikis, blogs, lists, document management, user authentication and authorization with core ASP.NET application functionality. It will expand upon design and architecture concepts for setting up ASP.NET applications within a SharePoint farm. We will cover approaches to solution development and deployment, performance considerations for blended solutions, packaging recommendations and monitoring tools. We will go in-depth into the packaging and feature designers in Visual Studio 2010 for architecture and deployment considerations, and we will show techniques for upgrading an ASP.NET application to work within SharePoint, allowing you to leverage the power of SharePoint alongside the rapid development possibilities inherent in ASP.NET application development. Some familiarity with .NET development and SharePoint is required.&lt;/p&gt;  &lt;p&gt;The materials for this class can be found in the following SkyDrive folder – will include PowerPoint slides and all code demos.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://cid-c9bfa68b7c6dd4ac.office.live.com/browse.aspx/.Public/SPTechCon%202010%20Boston" target="_blank"&gt;Dave Milner Session Materials&lt;/a&gt;&lt;/p&gt;</content>
	</entry>
	<entry>
		<title>ShareSquared Openings</title>
		<link rel="alternate" href="http://davemilner.com/2010/08/17/sharesquared-openings.aspx?ref=rss" />
		<id>tag:www.davemilner.com,2010-08-17:94dcda57-6fc3-408a-aa7f-c84fd47a4fb5</id>
		<author>
			<name>Dave Milner</name>
		</author>
		<updated>2010-08-17T20:55:59Z</updated>
		<published>2010-08-17T20:55:59Z</published>
		<content type="html">&lt;p&gt;ShareSquared is looking for a few good SharePoint / .NET Developers.&amp;#160; If that is you please see &lt;a title="http://www.sharesquared.com/company/Pages/Careers.aspx" href="http://www.sharesquared.com/company/Pages/Careers.aspx"&gt;http://www.sharesquared.com/company/Pages/Careers.aspx&lt;/a&gt; and send your resume to &lt;a href="mailto:careers@sharesquared.com"&gt;careers@sharesquared.com&lt;/a&gt;.&amp;#160; &lt;/p&gt;  &lt;p&gt;If you know me and would like a personal introduction, please get in touch.&lt;/p&gt;  &lt;p&gt;Thanks!!!&lt;/p&gt;</content>
	</entry>
	<entry>
		<title>Add SharePoint PowerShell cmdlets to your default PowerShell Profile</title>
		<link rel="alternate" href="http://davemilner.com/2010/05/28/add-sharepoint-powershell-cmdlets-to-your-default-powershell-profile.aspx?ref=rss" />
		<id>tag:www.davemilner.com,2010-05-28:bd54b94b-29b6-4cb3-abd7-1d46bf6047f2</id>
		<author>
			<name>Dave Milner</name>
		</author>
		<updated>2010-05-29T01:36:35Z</updated>
		<published>2010-05-29T01:36:35Z</published>
		<content type="html">&lt;p&gt;One of the most annoying things to me in dealing with all of the great features in SharePoint 2010 and the administration of it through PowerShell is that I have to go through the menu system to get to it.&lt;/p&gt;  &lt;p&gt;I have a perfectly functional QuickLaunch Powershell icon right next to my Windows Start icon in the bottom left corner of my Windows 2008 Server R2 install.&amp;#160; However, it doesn’t have the SharePoint cmdlets installed.&amp;#160; I also have the SharePoint cmdlets loaded into a SharePoint Powershell through Start-&amp;gt; All Programs –&amp;gt; Microsoft SharePoint 2010 Products –&amp;gt; Microsoft SharePoint 2010 Management Shell.&amp;#160; However, this is downright inconvenient.&lt;/p&gt;  &lt;p&gt;One of the problems here is versioning.&amp;#160; The SharePoint Powershell cmdlets are written as a v1.0 snapin.&amp;#160; However, 2008 Server R2 has PowerShell 2.0 natively installed.&amp;#160; Also, upgrades to other OS’s specifically to PowerShell as well as other potential automatic updates are not always going to be v1.0 only.&amp;#160; PowerShell 2.0 brings in a number of desirable advancements, two of which being module packaging and remote execution.&amp;#160; For these reasons, I don’t want to live in the PowerShell 1.0 world any longer than I have to.&amp;#160; But I use PowerShell for SharePoint 2010 more than for anything else.&lt;/p&gt;  &lt;p&gt;I have here a dilemma.&amp;#160;&amp;#160; This dilemma is solved by customizing my PowerShell profile.&amp;#160; Just like in the old BSD Unix days where you “dot in your dot profile” settings, PowerShell has the ability to execute a profile settings file when you start up either a command shell or the ISE.&amp;#160; &lt;/p&gt;  &lt;p&gt;Probably the easiest way to fix this dilemma is found in some code published by TomWis on MSDN blogs here:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://blogs.msdn.com/b/tomwis/archive/2010/01/05/enable-sharepoint-powershell-commandlets-in-the-powershell-ise.aspx" href="http://blogs.msdn.com/b/tomwis/archive/2010/01/05/enable-sharepoint-powershell-commandlets-in-the-powershell-ise.aspx"&gt;http://blogs.msdn.com/b/tomwis/archive/2010/01/05/enable-sharepoint-powershell-commandlets-in-the-powershell-ise.aspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;With a few quick lines of code you can modify and save your profile settings to include the SharePoint Powershell snapin.&amp;#160; &lt;/p&gt;  &lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;   &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;     &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (!(test-path $profile )) &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;{ &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    &lt;span style="color: #0000ff"&gt;new&lt;/span&gt;-item -type file -path $profile -force &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;} &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt; &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;$cmd = &lt;span style="color: #006080"&gt;'if((Get-PSSnapin | Where-Object {$_.Name -eq &amp;quot;Microsoft.SharePoint.PowerShell&amp;quot;}) -eq $null) &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;{ &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;    Add-PSSnapIn &amp;quot;Microsoft.SharePoint.Powershell&amp;quot; &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;}'&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #0000ff"&gt;out&lt;/span&gt;-file -FilePath $profile -InputObject $cmd -Append&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;You can cut and paste that code into a PowerShell started up with your little icon next to the Windows icon in QuickLaunch.&amp;#160; That will forever modify your profile so that the SharePoint cmdlets are loaded when you start a shell via that icon.&lt;/p&gt;

&lt;p&gt;Well what about all the really cool scripts I write with the PowerShell ISE?&amp;#160; you ask.&amp;#160; The same goes for startup profiles for the ISE.&amp;#160; Cut and paste the above code into your ISE Shell (started by right-clicking the QuickLaunch icon previously mentioned and selecting the “Windows PowerShell ISE” menu option).&lt;/p&gt;

&lt;p&gt;What this code does is saves the big if statement with the Get-PSSnapin to a .ps1 file attached to your profile.&amp;#160; You can see the location of this file by typing in $profile and hitting &amp;lt;Enter&amp;gt; in your PowerShell shell.&amp;#160; These files are stored in your Documents directory, under WindowsPowerShell, and the files are named Microsoft.PowerShell_profile and Microsoft.PowerShellISE_profile accordingly.&amp;#160; The if loop at the start of the code tests to see if you have a directory already set up to hold profile settings and if there is not one, it creates that directory.&lt;/p&gt;

&lt;p&gt;So now all of the features wrapped into the “Microsoft.SharePoint.PowerShell” SnapIn including all the cmdlets for managing your SharePoint 2010 sites are right there at your fingertips.&lt;/p&gt;</content>
	</entry>
	<entry>
		<title>Pro ASP.NET SharePoint 2010 Solutions: Techniques for Building SharePoint Functionality into ASP.NET Applications</title>
		<link rel="alternate" href="http://davemilner.com/2010/05/03/pro-aspnet-sharepoint-2010-solutions-techniques-for-building-sharepoint-functionality-into-aspnet-applications.aspx?ref=rss" />
		<id>tag:www.davemilner.com,2010-05-03:8e7068ca-feeb-4c09-b5e2-4cef796054f3</id>
		<author>
			<name>Dave Milner</name>
		</author>
		<updated>2010-05-03T18:42:51Z</updated>
		<published>2010-05-03T18:42:51Z</published>
		<content type="html">&lt;p&gt;I just realized that although I’ve been working on this book for a while now, I have not yet blogged about it.&amp;#160; So, here goes!&lt;/p&gt;  &lt;p&gt;I’m writing a book !!!!&amp;#160; The title of the book is the same as this blog post, and it is targeted to be published by Apress in the October 2010 timeframe!!!&lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.apress.com/book/view/1430231114" href="http://www.apress.com/book/view/1430231114"&gt;http://www.apress.com/book/view/1430231114&lt;/a&gt; – here are the details, and here is a picture of the cover:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://davemilner.com/images/24986-23755/9781430231110%5B1%5D_2.gif"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="9781430231110[1]" border="0" alt="9781430231110[1]" src="http://davemilner.com/images/24986-23755/9781430231110%5B1%5D_thumb.gif" width="129" height="169" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;One of the things that motivated me to write this book was that I was going through a period of time with consulting projects where I seemed to be doing a lot of blended ASP.NET and SharePoint development.&amp;#160;&amp;#160; While I searched around for different best practices documentation, guidance, examples, and advice on how to integrate a larger ASP.NET application with SharePoint, I really did not find a lot out there.&amp;#160;&amp;#160; Now there is quite an abundant supply of this on the general SharePoint product, doing customizations on the SharePoint product, Administering SharePoint, and even Content Management.&amp;#160; However, the most I could find on what I was doing was one TechNet article, not very long, and one podcast.&lt;/p&gt;  &lt;p&gt;So, much of what I had to do on these projects was to experiment and learn all by myself.&amp;#160;&amp;#160; I also have had a great SharePoint community around us locally to help out with bouncing ideas off of (&lt;a href="http://www.cospug.com"&gt;www.cospug.com&lt;/a&gt; ), and a work environment that encouraged me to push ahead with what I was discovering.&lt;/p&gt;  &lt;p&gt;So the result of all this was to begin to more formally write up that which I have been discovering with respect to blended ASP.NET and SharePoint solutions, prove the discoveries out in a SharePoint 2010 environment, and convince some high quality acquisitions editors over at APress that the topic was one that had a market space for it.&lt;/p&gt;  &lt;p&gt;This book consists of things that I wish I knew when starting to craft solutions using SharePoint’s rich feature set in conjunction with a centric ASP.NET application.&amp;#160;&amp;#160; It is also targeted towards a crossover market of developers who have experience with ASP.NET but have not yet touched SharePoint deeply.&amp;#160;&amp;#160; I believe that as the rich feature set present in SharePoint 2010 starts to shine in production environments, this scenario will become more and more common – that corporate developers, consultants, and companies developing software products and solutions will be called upon more and more to integrate with SharePoint 2010.&amp;#160; And I’m hoping in some small way to help out this group of people with information, guidance, and a package of information that will help them to integrate this great product in to their solutions in software, and to do it in a way that is supportable, best practices, and sustainable.&lt;/p&gt;  &lt;p&gt;So, stay tuned for the book publication.&amp;#160; And in the meanwhile, as I figure out a balanced way to do so, I am going to be including some content on my blog – APress actually has a fantastic clause in their author contracts to allow you to do this.&lt;/p&gt;  &lt;p&gt;And if you have comments, suggestions, ideas, please shoot them my way!&lt;/p&gt;  &lt;p&gt;Dave Milner&lt;/p&gt;</content>
	</entry>
	<entry>
		<title>SharePoint 2010 Virtualization</title>
		<link rel="alternate" href="http://davemilner.com/2010/05/01/sharepoint-2010-virtualization.aspx?ref=rss" />
		<id>tag:www.davemilner.com,2010-05-01:0d0bedaf-d78d-4a27-bb26-d43f2b17a4ac</id>
		<author>
			<name>Dave Milner</name>
		</author>
		<updated>2010-05-02T03:44:57Z</updated>
		<published>2010-05-02T03:44:57Z</published>
		<content type="html">&lt;p&gt;One topic that comes up frequently with respect to capacity planning is the consideration for virtualizing one or more farm servers.&amp;#160; &lt;/p&gt;  &lt;p&gt;Technet has a &lt;a href="http://technet.microsoft.com/en-us/library/ff607968(office.14).aspx" target="_blank"&gt;Virtualization Planning page for SharePoint Server 2010&lt;/a&gt; that is a good starting point for this.&amp;#160; &lt;/p&gt;  &lt;p&gt;Some basic considerations for virtualization in SharePoint 2010 include:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;For Hyper-V, use Windows Server 2008 R2 or Microsoft Hyper-V Server 2008 R2&lt;/li&gt;    &lt;ul&gt;     &lt;li&gt;The R2 versions have advanced support for live migration, VM storage, networking&lt;/li&gt;   &lt;/ul&gt;    &lt;li&gt;Ensure your hardware is Hyper-V compatible to take advantage of hardware-assisted virtualization&lt;/li&gt;    &lt;li&gt;Plan for at one external physical Domain Controller.&amp;#160; Other DC’s can be virtualized.&lt;/li&gt;    &lt;li&gt;For high availability considerations resources should be physical not virtual.&lt;/li&gt;    &lt;li&gt;For production environments, 4 cores of your CPU is the minimum recommended starting point&lt;/li&gt;    &lt;li&gt;If feasible, leave SQL on physical hardware.&amp;#160; If not, split SQL Servers to no more than 1 SQL VM per host&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Also of interest in planning Hyper-V is the &lt;a href="http://technet.microsoft.com/en-us/library/cc794762(WS.10).aspx" target="_blank"&gt;Hyper-V Planning and Deployment Guide&lt;/a&gt;.&amp;#160;&amp;#160; While not specific to SharePoint 2010 recommendations, the underlying understanding and recommendations are great to be aware of in architecture design.&lt;/p&gt;</content>
	</entry>
	<entry>
		<title>SharePoint 2010 Capacity Planning</title>
		<link rel="alternate" href="http://davemilner.com/2010/04/30/sharepoint-2010-capacity-planning.aspx?ref=rss" />
		<id>tag:www.davemilner.com,2010-05-01:9eb0354f-4c16-4900-9a78-bd26364ff86a</id>
		<author>
			<name>Dave Milner</name>
		</author>
		<updated>2010-05-01T17:51:24Z</updated>
		<published>2010-05-01T17:51:24Z</published>
		<content type="html">&lt;p&gt;MOSS 2007 / WSS 3&amp;#160; had a &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=DBEE0227-D4F7-48F8-85F0-E71493B2FD87&amp;amp;displaylang=en" target="_blank"&gt;SharePoint Capacity Planning Tool&lt;/a&gt; to assist in planning capacity for a web farm and installation.&amp;#160; However, in SharePoint 2010 this tool has been deprecated.&amp;#160; &lt;/p&gt;  &lt;p&gt;I have been looking around for guidance as to what might take the place of this tool for SharePoint 2010 installations.&amp;#160; &lt;/p&gt;  &lt;p&gt;What I have found is there are a series of White Papers that Microsoft has published that are a good head start on capacity planning.&amp;#160; &lt;/p&gt;  &lt;p&gt;The first link is one to the &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=fd1eac86-ad47-4865-9378-80040d08ac55&amp;amp;displaylang=en" target="_blank"&gt;SharePoint Server 2010 performance and capacity test results and recommendations&lt;/a&gt;.&amp;#160; These are 9 documents that consist of laboratory setups and studies on SharePoint running in different configurations.&amp;#160; In one sense these are actually more helpful than the capacity planning tool in that there are real concrete numbers you can attach to recommendations, and they are for specific areas of the SharePoint product as well, such as Access Services, interacting with large lists, InfoPath, PerformancePoint, Search, Workflow and others.&lt;/p&gt;  &lt;p&gt;One of the initially most helpful for me was the Divisional PortalCapacityPlanning.docx.&amp;#160; This document examines a typical multiple portal intranet setup.&amp;#160; It uses 4 server farm configurations – 1x1, 1x1x1, 2x1x1, and 3x1x1 with respect to capacity planning under load.&amp;#160; It gives specific hardware configurations for each of the servers, and the hardware configurations seem to be relatively standard in the industry, such as a for the WFE’s a Dell PE 2650 with 2 Quad Core 2.33Ghz processors and 8GB RAM.&amp;#160; &lt;/p&gt;  &lt;p&gt;One other helpful element is that the test scenario is limited to a typical Intranet environment and does not have all of the add-on services configured that could skew results.&amp;#160; For each of the services they did a separate test set up and reported a separate result in another white paper.&lt;/p&gt;  &lt;p&gt;Some other helpful information in the document is the construct of the load test itself.&amp;#160; The test represents a transactional mix of user activity that while it may not be completely representative of a particular environment does seem to represent a balanced use of different areas of the SharePoint product.&lt;/p&gt;  &lt;p&gt;And the reporting results are good too – there are zones represented, like the “Green Zone” meaning that the server is operating within functional service limits.&amp;#160; There are also concrete numbers that help out as well, such as the numbers of Requests Per Second (RPS) that each of the configurations can handle.&amp;#160; &lt;/p&gt;  &lt;p&gt;And there are real concrete results to report as well, backed up by the numbers.&amp;#160; For example, did you know that a 1x1x1 farm - (1 WFE, 1 App, and 1 SQL) can support a Green Zone number of 99 requests per second (RPS) or approximately 7000 users in the above configuration?&amp;#160; Or a 2x1x1 can support 191 RPS and approximately 13000 users?&amp;#160; Or a 3x1x1 can support 242 RPS and approximately 17000 users?&lt;/p&gt;  &lt;p&gt;Or how about did you know that a 1x1 farm configuration is not really recommended for standard scenarios?&amp;#160; And that in a 1x1x1 AND the 2x1x1 setups the WFE servers are the bottleneck and it is not until you get to the 3x1x1 setups that the SQL Server disk I/O becomes the bottleneck?&lt;/p&gt;  &lt;p&gt;Pretty cool stuff, if you ask me.&amp;#160;&amp;#160; Some supportable data for our recommendations when we are out there helping users set up and configure SharePoint 2010.&lt;/p&gt;  &lt;p&gt;Happy capacity planning!!!&lt;/p&gt;  &lt;p&gt;Dave&lt;/p&gt;  &lt;p&gt;PS – Other white papers also can be found at Technet under &lt;a href="http://technet.microsoft.com/en-us/library/cc261716(office.14).aspx" target="_blank"&gt;Performance and capacity technical case studies&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Also, another great resource is the Technet &lt;a href="http://technet.microsoft.com/en-us/sharepoint/ff601870.aspx" target="_blank"&gt;Capacity Management For SharePoint Server 2010&lt;/a&gt; page&lt;/p&gt;</content>
	</entry>
	<entry>
		<title>SouthColorado .NET User’s Group Presentation</title>
		<link rel="alternate" href="http://davemilner.com/2009/12/01/southcolorado-net-users-group-presentation.aspx?ref=rss" />
		<id>tag:www.davemilner.com,2009-12-01:aa5c9dc2-10eb-4376-bb2c-8b9b36a9d883</id>
		<author>
			<name>Dave Milner</name>
		</author>
		<updated>2009-12-01T19:00:24Z</updated>
		<published>2009-12-01T19:00:24Z</published>
		<content type="html">&lt;p&gt;Just a post to highlight my presentation tonight for SouthColorado.NET User Group – I'm speaking on an "Introduction to SharePoint for .NET Developers".  See &lt;a href="http://www.southcolorado.net"&gt;www.southcolorado.net&lt;/a&gt; for details.   The two communities (SharePoint &amp;amp; .NET Dev) seem to be separate.  While some of that is certainly specialty focus, my feelings are that the two groups have a lot more in common than not.  The development platform in the .NET arena is rapidly expanding to demand collaborative data sources and platforms.  Blogs, Twitter, Facebook, LinkedIn, MySpace, forums are all the information stores of 2009+.  .NET skills are expanding to a wider environment than ever.&lt;/p&gt;</content>
	</entry>
	<entry>
		<title>SharePoint and the File System UX model</title>
		<link rel="alternate" href="http://davemilner.com/2009/11/20/sharepoint-and-the-file-system-ux-model.aspx?ref=rss" />
		<id>tag:www.davemilner.com,2009-11-20:6ad8ac26-4b76-4109-8f89-c95e57e8ba36</id>
		<author>
			<name>Dave Milner</name>
		</author>
		<updated>2009-11-20T16:09:39Z</updated>
		<published>2009-11-20T16:09:39Z</published>
		<content type="html">&lt;p&gt;All right, to start out with I have to admit that although my day-to-day career is very much in the applied science software development area, my background in my undergrad work is in Math – totally a pure science.&amp;#160; This means that I tend to think in more of a pure model approach as opposed to inherently accepting applied models.&amp;#160; This has its pluses and minuses at times, but we all work with what we have.&lt;/p&gt;  &lt;p&gt;I was thinking recently “Why the success of SharePoint in the enterprise?”.&amp;#160;&amp;#160; Of course all the standard arguments of Enterprise 2.0, collaborative environments, information sharing surfaced as an answer.&amp;#160; But as I am delving into the software development aspects of SharePoint 2010 and starting to see a little deeper into the platform, I’m starting to realize a more basic reason.&lt;/p&gt;  &lt;p&gt;In reality, I think one of the major contributing factors to the success of SharePoint in the enterprise as a platform has to do with how poor the user interface paradigm of a file system really is.&amp;#160;&amp;#160;&amp;#160; Now this is taking a lot of reflection, because I trace my beginnings back to Fortran 4 and being a so-called BSD Unix hacker in the 80’s and early 90’s.&amp;#160; So in other words, directories and files are ingrained pretty deeply in my “taken for granted” psyche.&amp;#160; When you think about it, from a user’s perspective a filing system such as the one they use or have used in the past for paper looks like this:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://davemilner.com/images/24986-23755/file-cabinets_2.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="file-cabinets" border="0" alt="file-cabinets" src="http://davemilner.com/images/24986-23755/file-cabinets_thumb.jpg" width="244" height="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Note the external enclosure with clean lines, the drawers, the ability to place decorations on top of it to facilitate good feng shui.&amp;#160; To access information in a filing cabinet, you need to physically approach it, pull out a drawer, and then start to look for the particular document you desire.&amp;#160; 95% of all filing cabinets have folders organized in an alphabetical order, so you know what to expect.&amp;#160; Some of the other 5% and later filing systems would organize cabinets or sections of cabinets into different purposes, like “day to day” or “long term”.&amp;#160; &lt;/p&gt;  &lt;p&gt;Now a “filing system” on a computer looks and acts much differently than the above.&amp;#160; It looks like this:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://davemilner.com/images/24986-23755/Explorer_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Explorer" border="0" alt="Explorer" src="http://davemilner.com/images/24986-23755/Explorer_thumb.png" width="244" height="147" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;I think after the 4998765555th time of helping someone not very computer literate find the document they were working on and saved but didn’t know where they saved it to and couldn’t quite get the picture that they might have saved it so someplace different than “My Documents” it started to dawn on me that this whole “file system” paradigm really wasn’t a very good one at all.&amp;#160;&amp;#160; When you think about it a file system on a computer is the simplest way that “developers” could organize a pointer in memory to a location – by using a string.&amp;#160; The forward slashes in a string are a “developer’s” organizational construct, not an intuitive one.&lt;/p&gt;  &lt;p&gt;This relates in my mind to some different books I’ve read on the topic of HCI or Human-Computer Interaction and the interrelated field of “UX”.&amp;#160;&amp;#160; A couple of the first books I read were “&lt;a href="http://www.amazon.com/Inmates-Are-Running-Asylum-Products/dp/0672326140/ref=sr_1_3?ie=UTF8&amp;amp;s=books&amp;amp;qid=1258732366&amp;amp;sr=1-3"&gt;The Inmates Are Running the Asylum&lt;/a&gt;” and “&lt;a href="http://www.amazon.com/About-Face-Essentials-Interaction-Design/dp/0470084111/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1258732366&amp;amp;sr=1-1"&gt;About Face&lt;/a&gt;” by Alan Cooper, which I purchased shortly after being at an architecture conference and having lunch with Alan and about 6 other known tech industry leaders with Alan being on a soapbox about how developers cannot design user interaction because they think differently than end users.&amp;#160;&amp;#160; Alan’s known as the “Father of Visual Basic” as he designed the first UI interface for Basic that he sold to Microsoft.&lt;/p&gt;  &lt;p&gt;So to bring these thoughts and this discussion full circle, I think one of the successes of SharePoint in the enterprise has to do with the fact that a large number of information workers in your enterprise environment are not developer types, and to successfully interact with computers they need paradigms that they can relate to.&amp;#160; Most users are familiar enough with the Internet by this point that navigating to a website to procure information is not that foreign at all to them.&amp;#160; So if they can browse to a “HR” website, or a “Finance” website they have a head start on finding their document.&amp;#160; But a “shared drive”?&amp;#160; Not so much.&amp;#160; I think organizing information content through a web interface is a UX paradigm that is slightly better than a file system.&amp;#160;&amp;#160;&amp;#160; I think your average information worker “gets this” a little better than a file system.&amp;#160;&amp;#160; So in my opinion, that is one core fundamental reason that SharePoint has in starting to tie together the enterprise.&amp;#160;&amp;#160; Network shared drives that are maintained by departments are starting to be replaced with SharePoint document libraries and team sites.&lt;/p&gt;  &lt;p&gt;Now maybe you might say that I have too narrow of a view of the skills of an information worker, and that power users or anyone that has used a computer successfully understands the file system.&amp;#160; I would respond that first my viewpoints on this have been developed over many years of watching and helping people interact with computer systems and software, and second that a UX paradigm that is “natural” or “intuitive” helps UX flow and facilitates interaction much more than any paradigm that presents an obstacle.&amp;#160; &lt;/p&gt;  &lt;p&gt;Until next time, happy UX and SharePoint design and development!&lt;/p&gt;</content>
	</entry>
	<entry>
		<title>Channel 9 SharePoint Learning Center</title>
		<link rel="alternate" href="http://davemilner.com/2009/11/10/channel-9-sharepoint-learning-center.aspx?ref=rss" />
		<id>tag:www.davemilner.com,2009-11-10:130f1b48-c757-4c33-9967-188405c64d25</id>
		<author>
			<name>Dave Milner</name>
		</author>
		<updated>2009-11-10T17:38:27Z</updated>
		<published>2009-11-10T17:38:27Z</published>
		<content type="html">&lt;p&gt;I just learned that Channel9 has put up a &lt;a href="http://channel9.msdn.com/learn/courses/SharePoint2010Developer/SharePointGettingStarted/"&gt;new site&lt;/a&gt; for a SharePoint Learning Center for SharePoint 2010.  A number of people are responsible for this, including Paul Stubbs, Girish Raja, Steve Fox, Donovan Follette, and Chris Mayo.  It looks to be a video based course center with topics on SharePoint 2010 like:
&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Getting Started with SharePoint 2010
&lt;/li&gt;&lt;li&gt;SharePoint 2010 Developer Roadmap
&lt;/li&gt;&lt;li&gt;Visual Studio 2010 Tools for SharePoint 2010
&lt;/li&gt;&lt;li&gt;UI Enhancements
&lt;/li&gt;&lt;li&gt;Lists and Schemas
&lt;/li&gt;&lt;li&gt;LINQ to SharePoint
&lt;/li&gt;&lt;li&gt;Client Object Model
&lt;/li&gt;&lt;li&gt;Workflow
&lt;/li&gt;&lt;li&gt;Services Architecture
&lt;/li&gt;&lt;li&gt;Accessing External Data
&lt;/li&gt;&lt;li&gt;Enterprise Content Management
&lt;/li&gt;&lt;li&gt;Extending Search
&lt;/li&gt;&lt;li&gt;PerformancePoint Services
&lt;/li&gt;&lt;li&gt;Sandboxed Solutions
&lt;/li&gt;&lt;li&gt;SharePoint 2010 Security
&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;The SharePoint community and Microsoft is rolling out well ahead of the SharePoint 2010 beta release a number of resources to help developers come up to speed quickly on SharePoint 2010.
&lt;/p&gt;&lt;p&gt;For the Channel 9 site, they are first rolling out video examples of all of these sessions and then in about a week or 2 after the beta is released they will release labs with updated code that is compliant with the beta release.&lt;/p&gt;</content>
	</entry>
	<entry>
		<title>SharePoint Development – From the Ground Up</title>
		<link rel="alternate" href="http://davemilner.com/2009/08/13/sharepoint-development--from-the-ground-up.aspx?ref=rss" />
		<id>tag:www.davemilner.com,2009-08-13:4bb50df1-4fa2-4111-80a1-23583c7abfb5</id>
		<author>
			<name>Dave Milner</name>
		</author>
		<category term="SharePoint" />
		<updated>2009-08-13T18:20:21Z</updated>
		<published>2009-08-13T18:20:21Z</published>
		<content type="html">&lt;P&gt;Of course starting to blog about a journey in SharePoint or a re-focus to that product really drives blogging about experiences and things from the ground up. What I've found is that while a couple books walk you through setting up a SharePoint dev environment, and one or two blog posts I've seen out there do the same thing, there are several very basic things that are usually either assumed, implied, or buried 30 feet into the middle of a chapter or post. So I'm going to focus on answering basic practical questions that I had first. In going through this I've developed some opinionated answers, which as my style is I will present with colorful mind pictures.&lt;BR&gt;&lt;BR&gt;&lt;EM&gt;&lt;STRONG&gt;Q.&amp;nbsp; What Operating System do I need for SharePoint development? &lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;A.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;People will say you can either do SharePoint development from Visual Studio on any O/S, or to do the development in&amp;nbsp;&amp;nbsp;a server&amp;nbsp;type environment. They are huffing glue. While it is possible to do development for SharePoint in Visual Studio 2008 installed on Windows XP, or Windows 7, or Vista 64 bit, if you do so you will be crawling like a turtle through coding, testing, deploying, testing, etc. You will be slower than a 90 year old who hasn't quite yet had their driver's license revoked. You'll be working at the pace of molasses on the North Slope, Alaska on a cold December morning. You get the point. For any kind of reasonable development pace, you will need to develop on Windows Server 2003 (or stay tuned because SharePoint 2010 will facilitate Windows Server 2008). You need to have pertinent libraries handy, be able to debug, and to deploy to an environment you see the result in a timely fashion. This doesn't happen outside of a server setup for SharePoint development.&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;Q. OK – I'm going to go with Windows Server 2003 / 8. What else do I need installed?&lt;BR&gt;&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR&gt;A.&amp;nbsp; SharePoint 2007, Microsoft Office, SQL Server 2005, Visual Studio 2008 SP1, updates. Don't bother installing the SharePoint SDK or those VSeWSS12 / 13 templates. They don't work very well. Install WSPBuilder for deployment tools from Codeplex. This is not an easy answer to put up with, because it goes against the grain. It takes too !@#$ long to do all those installs just for one stupid dev box. Suck it up, Eggbert, and do the installs. It takes less time to do it right once than wrong three times, and don't ask me how I know. Also you can customize your environment for all the cool little tools you know you always need – like Fiddler, IE Dev Toolbar, SPDisposeCheck, etc.&lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;&lt;EM&gt;Q.&amp;nbsp; What about Virtual PC 2007 and using Virtual Machines?&lt;BR&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;BR&gt;A. Yes, absolutely. They run pretty well from my experience with most of what you're doing in SharePoint. Also, if you keep a copy of your .vhd's every step of the way after building servers (after OS install, after MOSS install, etc.) you can save yourself some duhhhh time. Again, don't ask me how I know. You can also in theory download VM's for SharePoint from Microsoft. I say in theory because they are in 7 parts at over 800MB each and not on MSDN, so you can't use the File Transfer tool. Then you have to piece them together. And it's an eval license on SharePoint so it expires. All those hurdles pointed me towards just building one good MOSS development environment and then backing up the .vhd.&lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;&lt;EM&gt;Q. How much space do I need to allocate for the hard drive for my Virtual Machine?&lt;BR&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;BR&gt;A. My fully loaded dev VM has a VHD that is 14.3GB. This information is nowhere else on the web that I could find. I found it through trial and error. After allocating VHD's of 5GB, 10GB, 40GB, and 20GB. Also after purchasing 2 8GB USB keys which are worthless for SharePoint. Yes a 16GB USB key is plenty to store one good copy of your dev environment Virtual Machine. I don't have info for this yet on the 2010 environment, but I'm going to start testing it at 16GB, and if it doesn't work, try 20GB. A good sturdy external USB hard drive is a good thing to have for storing all these. If you've never been a big fan of virtual machines before, believe me you will be now.&lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;&lt;EM&gt;Q. How much RAM does my Virtual Machine need?&lt;BR&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;BR&gt;A. If you can spare 2GB, by all means do it. If you're RAM challenged (is that an underprivileged class?) than you can squeak by with 1GB, and depending on your box it may not be too slow. If you have the option, get the most RAM you can handle on a machine. If this means a custom order for a laptop with 16GB RAM and Windows Server 2008 as your OS, go for it. You know you want to anyway just to look cool at user's groups and conferences. And put a custom sticker of Wolverine from an old comic release on it too, just to stand out.&lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;&lt;EM&gt;Q. These .vhd files have the same extension as the ones I see on Windows Server 2008 in Hyper-V. Can I use my Virtual PC .vhd's on a Hyper-V server?&lt;BR&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;BR&gt;A. Yes you can, Captain America. What a great excuse to upgrade your dev and test front end servers to Hyper-V. &lt;/P&gt;
&lt;P style="MARGIN-LEFT: 18pt"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN-LEFT: 18pt"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN-LEFT: 18pt"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN-LEFT: 18pt"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN-LEFT: 18pt"&gt;&amp;nbsp;&lt;/P&gt;</content>
	</entry>
	<entry>
		<title>Blog Change of Direction - SharePoint</title>
		<link rel="alternate" href="http://davemilner.com/2009/08/13/blog-change-of-direction--sharepoint.aspx?ref=rss" />
		<id>tag:www.davemilner.com,2009-08-13:c83c5ffc-1950-45a2-ae82-2ff0a90b80d4</id>
		<author>
			<name>Dave Milner</name>
		</author>
		<category term="SharePoint" />
		<updated>2009-08-13T17:33:44Z</updated>
		<published>2009-08-13T17:33:44Z</published>
		<content type="html">&lt;P&gt;After thinking about it for quite a while, I've decided to change the direction in which I am going to pursue blogging. Previously, with 3 Degrees of .NET, the blog served more as an information collection and link list type of service. However, with the rise of other social media such as Twitter, this purpose has become obsolete.&lt;/P&gt;
&lt;P&gt;Also, I've been more recently focusing in my development on SharePoint, WSS 3.0 and MOSS2007. So I am going to migrate the content of my blog over towards my learning journey in SharePoint. With the product positioning, I'm right on the tail end of an old product and right on the verge of a new product. MOSS is going away, and Microsoft SharePoint 2010 is the official new product, as highlighted here in a note from Tom Rizzo: &lt;A href="http://blogs.msdn.com/sharepoint/archive/2009/04/14/microsoft-sharepoint-14-is-now-microsoft-sharepoint-2010.aspx"&gt;http://blogs.msdn.com/sharepoint/archive/2009/04/14/microsoft-sharepoint-14-is-now-microsoft-sharepoint-2010.aspx&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</content>
	</entry>
	<entry>
		<title>MSDN Unleashed Presents: The Best of Mix in Denver and Co. Springs!</title>
		<link rel="alternate" href="http://davemilner.com/2009/04/15/msdn-unleashed-presents-the-best-of-mix-in-denver-and-co-springs.aspx?ref=rss" />
		<id>tag:www.davemilner.com,2009-04-15:d61170f2-e68d-472c-a416-db690cb4e2c8</id>
		<author>
			<name>Dave Milner</name>
		</author>
		<updated>2009-04-15T15:45:10Z</updated>
		<published>2009-04-15T15:45:10Z</published>
		<content type="html">&lt;p&gt;Please join us as we present some of the highlights of MIX!  
&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;Because of the overwhelming demand for this content, we're offering two different sessions in Denver and on in Colorado Springs.  We are still working to hold an event in Ft. Collins.
&lt;/p&gt;&lt;p&gt;Please register for the one that works best for your schedule!
&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;&lt;strong&gt;What's New in Silverlight 3?&lt;/strong&gt;&lt;span style="font-family:Verdana"&gt;
		&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Are you interested in building business-focused Rich Internet Applications (RIAs)?  Would you like to take advantage of 3D in the browser, but assume it is too hard?  Have you wanted to take a Silverlight application offline?  Then this session is for you.  We will explore and illustrate the new features of Silverlight 3, including the following:&lt;span style="font-family:Verdana"&gt;
		&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;span style="font-family:Symbol"&gt;&lt;/span&gt;&lt;span style="font-family:Times New Roman"&gt;         &lt;/span&gt;Support for perspective 3D&lt;span style="font-family:Verdana"&gt;
		&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;span style="font-family:Symbol"&gt;&lt;/span&gt;&lt;span style="font-family:Times New Roman"&gt;         &lt;/span&gt;Offline Support&lt;span style="font-family:Verdana"&gt;
		&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left: 36pt"&gt;&lt;span style="font-family:Symbol"&gt;&lt;/span&gt;&lt;span style="font-family:Times New Roman"&gt;         &lt;/span&gt;.NET RIA Services which simplifies the traditional n-tier application pattern by bringing together the ASP.NET and Silverlight platforms&lt;span style="font-family:Verdana"&gt;
		&lt;/span&gt;&lt;/p&gt;&lt;p&gt; 
 &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Building Web Applications with Windows Azure&lt;/strong&gt;&lt;span style="font-family:Verdana"&gt;
		&lt;/span&gt;&lt;/p&gt;&lt;p&gt;This session will begin with a brief overview of Azure and discuss some of the announcements made at MIX.  We will then illustrate through demo how to build a Windows Azure application from the ground up.  We will illustrate how to consume Azure Table Storage, how to host services, web pages and Silverlight components, as well as how to deploy your solution to the cloud.&lt;span style="font-family:Verdana"&gt;
		&lt;/span&gt;&lt;/p&gt;&lt;p&gt; 
 &lt;/p&gt;&lt;p&gt;&lt;strong&gt;MVC 1.0 vs ASP.Net Webforms&lt;/strong&gt;&lt;span style="font-family:Verdana"&gt;
		&lt;/span&gt;&lt;/p&gt;&lt;p&gt;Have you heard about the new ASP.NET MVC  framework from Microsoft and wondered what it was all about? Are you curious whether this replaces ASP.Net WebForms?  Well in this session you will learn how to use the model-view-controller (MVC) pattern to take advantage of your favorite .NET Framework language for writing business logic in a way that is de-coupled from the views of the data.  In addition, we will talk about the pros and cons of both MVC and Web Forms, how to determine the best choice for a specific project, various techniques and patterns used to build MVC applications vs. Web Forms applications, and the implications for using each approach.&lt;span style="font-family:Verdana"&gt;
		&lt;/span&gt;&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;div&gt;&lt;table style="border-collapse:collapse" border="0"&gt;&lt;colgroup&gt;&lt;col style="width:213px"/&gt;&lt;col style="width:213px"/&gt;&lt;col style="width:213px"/&gt;&lt;/colgroup&gt;&lt;tbody valign="top"&gt;&lt;tr&gt;&lt;td style="padding-left: 7px; padding-right: 7px; border-top:  solid black 1.0pt; border-left:  solid black 1.0pt; border-bottom:  solid black 1.0pt; border-right:  solid black 1.0pt"&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-size:12pt"&gt;Tuesday, May 26, 2009&lt;/span&gt;&lt;span style="font-size:9pt"&gt;
								&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Microsoft Denver Office&lt;/strong&gt;
							&lt;br/&gt;&lt;span style="font-family:Verdana"&gt;7595 Technology Way #400&lt;span style="font-size:9pt"&gt;
								&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Verdana"&gt;Denver, CO 80237&lt;/span&gt;
						&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Time:&lt;/strong&gt;  1:00 pm – 5:00 pm
&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Register: &lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032413165&amp;amp;Culture=en-US"/&gt;&lt;/strong&gt;http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032413165&amp;amp;Culture=en-US  
&lt;/p&gt;&lt;p&gt;OR
&lt;/p&gt;&lt;p&gt;&lt;a href="LiveCall:1-877-673-8368"&gt;1-877-673-8368&lt;/a&gt;, reference Event ID 1032413165
&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-left: 7px; padding-right: 7px; border-top:  solid black 1.0pt; border-left:  none; border-bottom:  solid black 1.0pt; border-right:  solid black 1.0pt"&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-size:12pt"&gt;Wednesday, May 27, 2009&lt;/span&gt;&lt;span style="font-size:9pt"&gt;
								&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Microsoft Denver Office&lt;/strong&gt;
							&lt;br/&gt;&lt;span style="font-family:Verdana"&gt;7595 Technology Way #400&lt;span style="font-size:9pt"&gt;
								&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Verdana"&gt;Denver, CO 80237&lt;/span&gt;
						&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Time: &lt;/strong&gt;8:00 am –12:00 pm
&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Register: &lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032413166&amp;amp;Culture=en-US"/&gt;&lt;/strong&gt;http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032413166&amp;amp;Culture=en-US 
&lt;/p&gt;&lt;p&gt;OR
&lt;/p&gt;&lt;p&gt;&lt;a href="LiveCall:1-877-673-8368"&gt;1-877-673-8368&lt;/a&gt;, reference Event ID 1032413166
&lt;/p&gt;&lt;/td&gt;&lt;td style="padding-left: 7px; padding-right: 7px; border-top:  solid black 1.0pt; border-left:  none; border-bottom:  solid black 1.0pt; border-right:  solid black 1.0pt"&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="font-size:12pt"&gt;Thursday, May 28, 2009&lt;/span&gt;&lt;span style="font-size:9pt"&gt;
								&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;&lt;strong&gt;Configuresoft&lt;/strong&gt;
							&lt;br/&gt;&lt;span style="font-family:Verdana"&gt;7450 Campus Drive&lt;span style="font-size:9pt"&gt;
								&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Verdana"&gt;Colorado Springs Colorado 80920&lt;/span&gt;
						&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Time: &lt;/strong&gt;1:00 pm –5:00 pm
&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Register: &lt;a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032413167&amp;amp;Culture=en-US"/&gt;&lt;/strong&gt;http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032413167&amp;amp;Culture=en-US 
&lt;/p&gt;&lt;p&gt;OR
&lt;/p&gt;&lt;p&gt;&lt;a href="LiveCall:1-877-673-8368"&gt;1-877-673-8368&lt;/a&gt;, reference Event ID 1032413167&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;p&gt;
 &lt;/p&gt;</content>
		<summary>Please join us as we present some of the highlights of MIX!       Because of the overwhelming demand for this content, we're offering two different sessions in Denver and on in Colorado Springs.  We are still working to hold an event in Ft. Collins.  Please register for the one that works best for your schedule!     What's New in Silverlight 3?    Are you interested in building business-focused Rich Internet Applications (RIAs)?  Would you like to take advantage of 3D in the browser, but assume it is ...</summary>
	</entry>
	<entry>
		<title>jQuery and Microsoft - ScottGu's Blog</title>
		<link rel="alternate" href="http://davemilner.com/2008/10/07/jquery-and-microsoft--scottgus-blog.aspx?ref=rss" />
		<id>tag:www.davemilner.com,2008-10-07:24920248-8742-4e21-a25f-420d0ce7ff52</id>
		<author>
			<name>Dave Milner</name>
		</author>
		<updated>2008-10-07T14:54:09Z</updated>
		<published>2008-10-07T14:54:09Z</published>
		<content type="html">&lt;p&gt;Microsoft has announced that they will ship jQuery&amp;nbsp; with Visual Studio ongoing, and support it with Intellisense and include the standard MIT open source license.&lt;/p&gt; &lt;p&gt;Pretty cool!&lt;/p&gt; &lt;p&gt;jQuery is a small library that is one of the most popular on the Web for interacting with DOM elements, providing a "selector" feature - $("div.mytag"), and the ability to chain commands to the selected element.&lt;/p&gt; &lt;p&gt;&lt;a href="http://weblogs.asp.net/scottgu/archive/2008/09/28/jquery-and-microsoft.aspx"&gt;jQuery and Microsoft - ScottGu's Blog&lt;/a&gt;&lt;/p&gt;</content>
		<summary>Microsoft has announced that they will ship jQuery  with Visual Studio ongoing, and support it with Intellisense and include the standard MIT open source license. Pretty cool! jQuery is a small library that is one of the most popular on the Web for interacting with DOM elements, providing a "selector" feature - $("div.mytag"), and the ability to chain commands to the selected element. jQuery and Microsoft - ScottGu's Blog ...</summary>
	</entry>
</feed>
