<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Rob Garrett - Blog &#187; Applications</title>
	<atom:link href="http://blog.robgarrett.com/category/applications/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.robgarrett.com</link>
	<description>Software and Technology Tid-bits</description>
	<lastBuildDate>Fri, 03 Feb 2012 21:52:48 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='blog.robgarrett.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://0.gravatar.com/blavatar/aab8ef1df0f0164f4c766c98b644e9fb?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>Rob Garrett - Blog &#187; Applications</title>
		<link>http://blog.robgarrett.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://blog.robgarrett.com/osd.xml" title="Rob Garrett - Blog" />
	<atom:link rel='hub' href='http://blog.robgarrett.com/?pushpress=hub'/>
		<item>
		<title>Configuring RBS for SP2010</title>
		<link>http://blog.robgarrett.com/2010/01/17/configuring-rbs-for-sp2010/</link>
		<comments>http://blog.robgarrett.com/2010/01/17/configuring-rbs-for-sp2010/#comments</comments>
		<pubDate>Sun, 17 Jan 2010 21:12:18 +0000</pubDate>
		<dc:creator>Rob Garrett</dc:creator>
				<category><![CDATA[Applications]]></category>
		<category><![CDATA[SharePoint 2010]]></category>

		<guid isPermaLink="false">http://robgarrett.wordpress.com/2010/01/17/configuring-rbs-for-sp2010/</guid>
		<description><![CDATA[Following on from my previous post about list scaling and performance.&#160; The following posts details configuration of Remote Blob Storage for SharePoint 2010 and SQL Server 2008 R2. First download the RBS provider for SQL Server 2008 (don’t install it yet): http://go.microsoft.com/fwlink/?LinkId=177388 Configure file stream for the SQL Server Service using the Configuration Manager: Execute [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.robgarrett.com&amp;blog=7688126&amp;post=4377&amp;subd=robgarrett&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Following on from my previous post about list scaling and performance.&#160; The following posts details configuration of Remote Blob Storage for SharePoint 2010 and SQL Server 2008 R2.</p>
<p><strong>First download the RBS provider for SQL Server 2008 (don’t install it yet)</strong>:</p>
<p><a href="http://go.microsoft.com/fwlink/?LinkId=177388">http://go.microsoft.com/fwlink/?LinkId=177388</a></p>
<p><strong>Configure file stream for the SQL Server Service using the Configuration Manager</strong>:</p>
<p><a href="http://robgarrett.files.wordpress.com/2010/01/image1.png"><img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="image" border="0" alt="image" src="http://robgarrett.files.wordpress.com/2010/01/image_thumb1.png?w=222&#038;h=244" width="222" height="244" /></a> </p>
<p><strong>Execute the following SQL queries</strong>:</p>
<p>EXEC sp_configure filestream_access_level, 2</p>
<p>RECONFIGURE</p>
<p><strong>Execute the following SQL to set up a master encryption key and blob store file group</strong>:</p>
<pre class="csharpcode"><span class="kwrd">use</span> WSS_Content

<span class="kwrd">if</span> <span class="kwrd">not</span> <span class="kwrd">exists</span> (<span class="kwrd">select</span> * <span class="kwrd">from</span> sys.symmetric_keys <span class="kwrd">where</span> name = N<span class="str">'##MS_DatabaseMasterKey##'</span>)</pre>
<pre class="csharpcode"><span class="kwrd">create</span> master <span class="kwrd">key</span> encryption <span class="kwrd">by</span> password = N<span class="str">'Admin Key Password !2#4'</span>

<span class="kwrd">if</span> <span class="kwrd">not</span> <span class="kwrd">exists</span> (<span class="kwrd">select</span> groupname <span class="kwrd">from</span> sysfilegroups <span class="kwrd">where</span> </pre>
<pre class="csharpcode">groupname=N<span class="str">'RBSFilestreamProvider'</span>)<span class="kwrd">alter</span> <span class="kwrd">database</span> WSS_Content
 <span class="kwrd">add</span> filegroup RBSFilestreamProvider <span class="kwrd">contains</span> filestream

<span class="kwrd">alter</span> <span class="kwrd">database</span> [WSS_Content] <span class="kwrd">add</span> <span class="kwrd">file</span> (name = RBSFilestreamFile, filename = <span class="str">'c:\Blobstore'</span>) </pre>
<pre class="csharpcode"><span class="kwrd">to</span> filegroup RBSFilestreamProvider</pre>
<p><strong>Install the RBS provider with the following command (change DBINSTANCE to your SQL server instance)</strong>:</p>
<p>msiexec /qn /lvx* rbs_install_log.txt /i RBS_X64.msi TRUSTSERVERCERTIFICATE=true FILEGROUP=PRIMARY DBNAME=&quot;WSS_Content&quot; DBINSTANCE=&quot;SP2010&quot; FILESTREAMFILEGROUP=RBSFilestreamProvider FILESTREAMSTORENAME=FilestreamProvider_1</p>
<p><strong>If installing RBD on production servers, be sure to run on all WFE’s with the following command (again, change the DBINSTANCE)</strong>:</p>
<p>msiexec /qn /lvx* rbs_install_log.txt /i RBS_X64.msi DBNAME=&quot;WSS_Content&quot; DBINSTANCE=&quot;SP2010&quot; ADDLOCAL=”Client,Docs,Maintainer,ServerScript,FilestreamClient,FilestreamServer”</p>
<p><strong>Run the following Power Shell script from the SP2010 Management Console</strong>:</p>
<p>$cdb = Get-SPContentDatabase –WebApplication http://sp2010</p>
<p>$rbss = $cdb.RemoteBlobStorageSettings</p>
<p>$rbss.Installed()</p>
<p>$rbss.Enable()</p>
<p>$rbss.SetActiveProviderName($rbss.GetProviderNames()[0])</p>
<p>$rbss</p>
<p>Now create a document library in SharePoint and upload an image to it.&#160; Next visit the c:\blobstore directory and look for the GUID sub folder with recent date.&#160; Keep drilling down until you find a file.&#160; You should see a file with GUID name.&#160; Drop this into IE and you should see that it is the same file you uploaded to your document library. </p>
<p>&#160;</p>
<p><a href="http://blah.winsmarts.com/2009-12-Microsoft_SharePoint_2010__Building_Solutions_for_SharePoint_2010.aspx">From the SharePoint 2010 book I’m reviewing</a></p>
<br /> Tagged: SharePoint 2010 <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/robgarrett.wordpress.com/4377/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/robgarrett.wordpress.com/4377/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/robgarrett.wordpress.com/4377/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/robgarrett.wordpress.com/4377/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/robgarrett.wordpress.com/4377/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/robgarrett.wordpress.com/4377/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/robgarrett.wordpress.com/4377/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/robgarrett.wordpress.com/4377/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/robgarrett.wordpress.com/4377/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/robgarrett.wordpress.com/4377/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/robgarrett.wordpress.com/4377/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/robgarrett.wordpress.com/4377/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/robgarrett.wordpress.com/4377/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/robgarrett.wordpress.com/4377/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.robgarrett.com&amp;blog=7688126&amp;post=4377&amp;subd=robgarrett&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.robgarrett.com/2010/01/17/configuring-rbs-for-sp2010/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Rob Garrett</media:title>
		</media:content>

		<media:content url="http://robgarrett.files.wordpress.com/2010/01/image_thumb1.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>List Scaling and Performance in SP2010</title>
		<link>http://blog.robgarrett.com/2010/01/17/list-scaling-and-performance-in-sp2010/</link>
		<comments>http://blog.robgarrett.com/2010/01/17/list-scaling-and-performance-in-sp2010/#comments</comments>
		<pubDate>Sun, 17 Jan 2010 20:32:15 +0000</pubDate>
		<dc:creator>Rob Garrett</dc:creator>
				<category><![CDATA[Applications]]></category>
		<category><![CDATA[SharePoint 2010]]></category>

		<guid isPermaLink="false">http://robgarrett.wordpress.com/2010/01/17/list-scaling-and-performance-in-sp2010/</guid>
		<description><![CDATA[It it a well known fact that MOSS 2007 caused some rising opinions on the subject of list scalability and performance.&#160; Many developers operated under the misconception that SharePoint lists only allowed 2000 list items before croaking out with bad performance.&#160; Nothing could be further from the truth. The following article talks about this issue [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.robgarrett.com&amp;blog=7688126&amp;post=4374&amp;subd=robgarrett&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>It it a well known fact that MOSS 2007 caused some rising opinions on the subject of list scalability and performance.&#160; Many developers operated under the misconception that SharePoint lists only allowed 2000 list items before croaking out with bad performance.&#160; Nothing could be further from the truth.</p>
<p>The following article talks about this issue of large lists in great depth and highlights the point that SharePoint can actually handle many more than 2000 list items in any one list.&#160; However, “query” this data is affected by the item count and SharePoint architects should design their data access and presentation of data accordingly.</p>
<p><a title="http://technet.microsoft.com/en-us/library/cc262813.aspx" href="http://technet.microsoft.com/en-us/library/cc262813.aspx">http://technet.microsoft.com/en-us/library/cc262813.aspx</a></p>
<p>Microsoft has added a number of new enhancements to lists in SharePoint 2010 to handle larger capacity and the query of this data, and the following is a short summary of the enhancements:</p>
<p><strong>List Column Indexing</strong></p>
<p>SP2010 now allows list designers to create up to 20 indices (some of multiple columns) on any one list.&#160; These indices allow for faster query of data when the list size exceeds that of typical.</p>
<p><a href="http://robgarrett.files.wordpress.com/2010/01/image.png"><img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="image" border="0" alt="image" src="http://robgarrett.files.wordpress.com/2010/01/image_thumb.png?w=484&#038;h=356" width="484" height="356" /></a>&#160; </p>
<p>Under list settings and in the columns section; users now see a link to Indexed Columns.</p>
<p>The following is a list of column types usable as indexed columns:</p>
<p>· Single line of text</p>
<p>· Choice field, but not multi choice</p>
<p>· Number</p>
<p>· Currency</p>
<p>· Date/Time</p>
<p>· Look up, but not a multi value look up</p>
<p>· Person or group, but not multi value</p>
<p>· Title, except in a document library</p>
<p>&#160;</p>
<p><strong>List Throttling</strong></p>
<p>SharePoint administrators now have the capability to better control list queries so that developers (or general users) may issue list queries on large lists that may potentially bring down the server.&#160; Specifically:</p>
<p>Administrators may define some limits at the web application level:</p>
<p>- Configure the number of items fetched for queries</p>
<p>- Administrators may receive warnings when thresholds exceeded</p>
<p>- Ability to configure time periods for expensive queries to operate</p>
<p>- Limit the size of list items (default to 8k)</p>
<p>- Limit the number of columns in a join (default to 6)</p>
<p>The following code will display the list throttling limits for the site collection:</p>
<pre class="csharpcode"><span class="kwrd">using</span> (SPSite site = <span class="kwrd">new</span> SPSite(siteUrl))
            {
                Console.WriteLine(<span class="str">&quot;MaxItemsPerThrottledOperation:{0}&quot;</span>,
                    site.WebApplication.MaxItemsPerThrottledOperation);
                Console.WriteLine(<span class="str">&quot;MaxItemsPerThrottledOperationOverride:{0}&quot;</span>,
                    site.WebApplication.MaxItemsPerThrottledOperationOverride);
                Console.WriteLine(<span class="str">&quot;MaxItemsPerThrottledOperationWarningLevel:{0}&quot;</span>,
                    site.WebApplication.MaxItemsPerThrottledOperationWarningLevel);
            }</pre>
<p>To enable list throttling on any list be sure to toggle the setting with the following:</p>
<p>SPList.EnableThrottling = true</p>
<p>MaxItemsPerThrottledOperationWarningLevel – If a list exceeds the number of items specified in this threshold then a warning is displayed on the list settings page.</p>
<p>What MaxItemsPerThrottledOperation – This indicates the number of list items returned to non-administrators.&#160; Administrators can query up to the threshold in What MaxItemsPerThrottledOperationOverride but will receive a warning on the list settings page.</p>
<p>If administrators wish for users to execute expensive operations in specific window of time they can do so by using the following method on the WebApplication object: SetDailyUnthrottledPrivilegedOperationWindow </p>
<p>&#160;</p>
<p><strong>RBS Storage (Remote Blob Storage)</strong></p>
<p>In some cases the use of document libraries to store large files is no longer scalable and causes content databases to become unmanageable.&#160; An example situations where a public web site, hosted in SharePoint, provides users with rich media content – web files and large images – is once such example of the large blob storage issue.&#160; </p>
<p>In MOSS, hosting content in the database provided certain benefits, such as single storage location, versioning, and access of files via the object model.&#160; Whereas file based storage provided better scalability at the cost of orphaned content from the object model.&#160; SP2010 solves this issue with RBS.&#160; Site Architects can now store large files (blobs) in alternate locations to that of the SharePoint content database without relinquishing access via the OM.&#160; From an and developer standpoint, the data is accessed as if it were in the content database, but the content is actually in a remote location.</p>
<p>To enable RBS you’re farm will need to use at least SQL Server 2008 R2.</p>
<p>Marking blobs as external at the content database level enables SharePoint to store the meta-data associated with blobs in the database while storing the actual blob content outside the content database.&#160; Because RBS is handled at the database level, SharePoint is unaware that data is not stored in the content database but in another location.</p>
<p>in a future time, vendors will bring RBS providers for SP2010 to the table, but in the meantime Microsoft has provided RBS for SQL server as an extra download:</p>
<p><a href="http://go.microsoft.com/fwlink/?LinkId=177388">http://go.microsoft.com/fwlink/?LinkId=177388</a></p>
<p>See my next blog post on configuring RBS.</p>
<p>&#160;</p>
<p><a href="http://blah.winsmarts.com/2009-12-Microsoft_SharePoint_2010__Building_Solutions_for_SharePoint_2010.aspx">From the SharePoint 2010 book I’m reviewing</a></p>
<br /> Tagged: SharePoint 2010 <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/robgarrett.wordpress.com/4374/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/robgarrett.wordpress.com/4374/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/robgarrett.wordpress.com/4374/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/robgarrett.wordpress.com/4374/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/robgarrett.wordpress.com/4374/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/robgarrett.wordpress.com/4374/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/robgarrett.wordpress.com/4374/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/robgarrett.wordpress.com/4374/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/robgarrett.wordpress.com/4374/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/robgarrett.wordpress.com/4374/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/robgarrett.wordpress.com/4374/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/robgarrett.wordpress.com/4374/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/robgarrett.wordpress.com/4374/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/robgarrett.wordpress.com/4374/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.robgarrett.com&amp;blog=7688126&amp;post=4374&amp;subd=robgarrett&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.robgarrett.com/2010/01/17/list-scaling-and-performance-in-sp2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Rob Garrett</media:title>
		</media:content>

		<media:content url="http://robgarrett.files.wordpress.com/2010/01/image_thumb.png" medium="image">
			<media:title type="html">image</media:title>
		</media:content>
	</item>
		<item>
		<title>SP2010 Blogging Open</title>
		<link>http://blog.robgarrett.com/2009/10/19/sp2010-blogging-open/</link>
		<comments>http://blog.robgarrett.com/2009/10/19/sp2010-blogging-open/#comments</comments>
		<pubDate>Mon, 19 Oct 2009 18:40:48 +0000</pubDate>
		<dc:creator>Rob Garrett</dc:creator>
				<category><![CDATA[Applications]]></category>
		<category><![CDATA[SharePoint 2010]]></category>

		<guid isPermaLink="false">http://robgarrett.wordpress.com/2009/10/19/sp2010-blogging-open/</guid>
		<description><![CDATA[Just in case you missed it, public blogging of SharePoint 2010 is now permitted – let the flood gates open ;) Tagged: SharePoint 2010<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.robgarrett.com&amp;blog=7688126&amp;post=4357&amp;subd=robgarrett&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Just in case you missed it, public blogging of SharePoint 2010 is now permitted – let the flood gates open ;)</p>
<br /> Tagged: SharePoint 2010 <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/robgarrett.wordpress.com/4357/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/robgarrett.wordpress.com/4357/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/robgarrett.wordpress.com/4357/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/robgarrett.wordpress.com/4357/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/robgarrett.wordpress.com/4357/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/robgarrett.wordpress.com/4357/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/robgarrett.wordpress.com/4357/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/robgarrett.wordpress.com/4357/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/robgarrett.wordpress.com/4357/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/robgarrett.wordpress.com/4357/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/robgarrett.wordpress.com/4357/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/robgarrett.wordpress.com/4357/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/robgarrett.wordpress.com/4357/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/robgarrett.wordpress.com/4357/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.robgarrett.com&amp;blog=7688126&amp;post=4357&amp;subd=robgarrett&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.robgarrett.com/2009/10/19/sp2010-blogging-open/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Rob Garrett</media:title>
		</media:content>
	</item>
		<item>
		<title>SP2010 Developer Dashboard</title>
		<link>http://blog.robgarrett.com/2009/10/19/sp2010-developer-dashboard/</link>
		<comments>http://blog.robgarrett.com/2009/10/19/sp2010-developer-dashboard/#comments</comments>
		<pubDate>Mon, 19 Oct 2009 18:36:27 +0000</pubDate>
		<dc:creator>Rob Garrett</dc:creator>
				<category><![CDATA[Applications]]></category>
		<category><![CDATA[SharePoint 2010]]></category>

		<guid isPermaLink="false">http://robgarrett.wordpress.com/2009/10/19/sp2010-developer-dashboard/</guid>
		<description><![CDATA[The SP2010 Developer Dashboard allows developers to review object model calls, database queries, web part events – and the timings for these various happenings. The following code enables the dashboard: SPPerformanceMonitor SPPerfMon; SPPerfMon = SPFarm.Local.PerformanceMonitor; SPPerfMon.DeveloperDashboardLevel = SPPerformanceMonitoringLevel.On; SPPerfMon.Update(); The following code turns it off again: SPPerformanceMonitor SPPerfMon; SPPerfMon = SPFarm.Local.PerformanceMonitor; SPPerfMon.DeveloperDashboardLevel = SPPerformanceMonitoringLevel.Off; SPPerfMon.Update(); [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.robgarrett.com&amp;blog=7688126&amp;post=4356&amp;subd=robgarrett&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The SP2010 Developer Dashboard allows developers to review object model calls, database queries, web part events – and the timings for these various happenings.</p>
<p>The following code enables the dashboard:</p>
<pre class="csharpcode">SPPerformanceMonitor SPPerfMon;
SPPerfMon = SPFarm.Local.PerformanceMonitor;
SPPerfMon.DeveloperDashboardLevel = SPPerformanceMonitoringLevel.On;
SPPerfMon.Update();</pre>
<p>The following code turns it off again:</p>
<pre class="csharpcode">SPPerformanceMonitor SPPerfMon;
SPPerfMon = SPFarm.Local.PerformanceMonitor;
SPPerfMon.DeveloperDashboardLevel = SPPerformanceMonitoringLevel.Off;
SPPerfMon.Update();</pre>
<br /> Tagged: SharePoint 2010 <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/robgarrett.wordpress.com/4356/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/robgarrett.wordpress.com/4356/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/robgarrett.wordpress.com/4356/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/robgarrett.wordpress.com/4356/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/robgarrett.wordpress.com/4356/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/robgarrett.wordpress.com/4356/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/robgarrett.wordpress.com/4356/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/robgarrett.wordpress.com/4356/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/robgarrett.wordpress.com/4356/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/robgarrett.wordpress.com/4356/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/robgarrett.wordpress.com/4356/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/robgarrett.wordpress.com/4356/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/robgarrett.wordpress.com/4356/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/robgarrett.wordpress.com/4356/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.robgarrett.com&amp;blog=7688126&amp;post=4356&amp;subd=robgarrett&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.robgarrett.com/2009/10/19/sp2010-developer-dashboard/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Rob Garrett</media:title>
		</media:content>
	</item>
		<item>
		<title>Development Setup for SP2010</title>
		<link>http://blog.robgarrett.com/2009/10/19/development-setup-for-sp2010/</link>
		<comments>http://blog.robgarrett.com/2009/10/19/development-setup-for-sp2010/#comments</comments>
		<pubDate>Mon, 19 Oct 2009 18:36:18 +0000</pubDate>
		<dc:creator>Rob Garrett</dc:creator>
				<category><![CDATA[Applications]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[SharePoint 2010]]></category>

		<guid isPermaLink="false">http://robgarrett.wordpress.com/2009/10/19/development-setup-for-sp2010/</guid>
		<description><![CDATA[Some important points to remember when developing against SP2010: Make sure your Visual Studio project is set up for .NET 3.5, not .NET 4.0 Run Visual Studio as an Administrator to load debugging symbols Make sure your project is set to compile for Any CPU or x64 (not x86 by default), otherwise your code will [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.robgarrett.com&amp;blog=7688126&amp;post=4355&amp;subd=robgarrett&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Some important points to remember when developing against SP2010:</p>
<ul>
<li>Make sure your Visual Studio project is set up for .NET 3.5, <strong>not .NET 4.0</strong> </li>
<li>Run Visual Studio as an Administrator to load debugging symbols </li>
<li>Make sure your project is set to compile for <strong>Any CPU or x64</strong> (not x86 by default), otherwise your code will throw a FileNotFoundException </li>
</ul>
<p> <a href="http://blah.winsmarts.com/2009-12-Microsoft_SharePoint_2010__Building_Solutions_for_SharePoint_2010.aspx">From the SharePoint 2010 book I’m reviewing</a></p>
<br /> Tagged: SharePoint 2010 <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/robgarrett.wordpress.com/4355/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/robgarrett.wordpress.com/4355/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/robgarrett.wordpress.com/4355/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/robgarrett.wordpress.com/4355/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/robgarrett.wordpress.com/4355/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/robgarrett.wordpress.com/4355/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/robgarrett.wordpress.com/4355/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/robgarrett.wordpress.com/4355/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/robgarrett.wordpress.com/4355/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/robgarrett.wordpress.com/4355/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/robgarrett.wordpress.com/4355/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/robgarrett.wordpress.com/4355/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/robgarrett.wordpress.com/4355/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/robgarrett.wordpress.com/4355/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.robgarrett.com&amp;blog=7688126&amp;post=4355&amp;subd=robgarrett&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.robgarrett.com/2009/10/19/development-setup-for-sp2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Rob Garrett</media:title>
		</media:content>
	</item>
		<item>
		<title>Provision 2010 Farm without the Mess</title>
		<link>http://blog.robgarrett.com/2009/10/19/provision-2010-farm-without-the-mess/</link>
		<comments>http://blog.robgarrett.com/2009/10/19/provision-2010-farm-without-the-mess/#comments</comments>
		<pubDate>Mon, 19 Oct 2009 18:36:02 +0000</pubDate>
		<dc:creator>Rob Garrett</dc:creator>
				<category><![CDATA[Applications]]></category>
		<category><![CDATA[SharePoint 2010]]></category>

		<guid isPermaLink="false">http://robgarrett.wordpress.com/2009/10/19/provision-2010-farm-without-the-mess/</guid>
		<description><![CDATA[Anyone who has created a new SP2010 Farm using the SharePoint Technologies Configuration Wizard will know that it makes a huge mess of SQL server, littering new databases with GUID extensions. Those of you who have anal tendencies, like me, can sleep at night with nice clean database names with a script as follows: Note: [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.robgarrett.com&amp;blog=7688126&amp;post=4354&amp;subd=robgarrett&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Anyone who has created a new SP2010 Farm using the SharePoint Technologies Configuration Wizard will know that it makes a huge mess of SQL server, littering new databases with GUID extensions.</p>
<p>Those of you who have anal tendencies, like me, can sleep at night with nice clean database names with a script as follows:</p>
<p>Note: I am working on a script that will create Service Applications, which also like to create many GUID database instances.</p>
<blockquote></blockquote>
<p>@echo off </p>
<p>if &quot;%1&quot; == &quot;&quot; goto usage    <br />if &quot;%2&quot; == &quot;&quot; goto usage </p>
<p>pushd C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\BIN    <br />echo Creating New Farm Instance     <br />psconfig.exe -cmd configdb -create -server %1 -database %2_SharePoint_Config -user DEV\MOSS_Farm -password Sharepoint3 -passphrase Sharepoint3 -admincontentdatabase %2_SharePoint_Admin_Content </p>
<p>echo Creating Central Admin Site    <br />psconfig.exe -cmd adminvs -provision -port 8000 -windowsauthprovider onlyusentlm </p>
<p>echo Installing Services    <br />psconfig.exe -cmd services install </p>
<p>echo Securing Resources    <br />psconfig.exe -cmd secureresources </p>
<p>echo Starting Search Service    <br />stsadm.exe -o osearch -action start -role Index -farmcontactemail support@portalsolutions.net -farmperformancelevel maximum -farmserviceaccount &quot;DEV\MOSS_Farm&quot; -farmservicepassword Sharepoint3 </p>
<p>echo Starting WSS Search Service    <br />stsadm.exe -o spsearch -action start -farmserviceaccount DEV\MOSS_Farm -farmservicepassword Sharepoint3 -farmcontentaccessaccount DEV\MOSS_Search -farmcontentaccesspassword Sharepoint3 -databaseserver %1 -databasename %2_WSS_App_Search </p>
<p>echo Installing Feature    <br />psconfig.exe -cmd installfeatures </p>
<p>echo Installing Health Rules    <br />psconfig.exe -cmd InstallHealthRules </p>
<p>popd    <br />goto end </p>
<p>:usage    <br />echo &quot;SP2010-Provision.bat &lt;SQLServer&gt; &lt;Project Acronym&gt;&quot; </p>
<p>:end</p>
<br /> Tagged: SharePoint 2010 <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/robgarrett.wordpress.com/4354/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/robgarrett.wordpress.com/4354/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/robgarrett.wordpress.com/4354/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/robgarrett.wordpress.com/4354/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/robgarrett.wordpress.com/4354/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/robgarrett.wordpress.com/4354/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/robgarrett.wordpress.com/4354/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/robgarrett.wordpress.com/4354/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/robgarrett.wordpress.com/4354/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/robgarrett.wordpress.com/4354/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/robgarrett.wordpress.com/4354/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/robgarrett.wordpress.com/4354/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/robgarrett.wordpress.com/4354/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/robgarrett.wordpress.com/4354/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.robgarrett.com&amp;blog=7688126&amp;post=4354&amp;subd=robgarrett&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.robgarrett.com/2009/10/19/provision-2010-farm-without-the-mess/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Rob Garrett</media:title>
		</media:content>
	</item>
		<item>
		<title>Pre-Search Facets in MOSS 2007</title>
		<link>http://blog.robgarrett.com/2009/09/23/pre-search-facets-in-moss-2007/</link>
		<comments>http://blog.robgarrett.com/2009/09/23/pre-search-facets-in-moss-2007/#comments</comments>
		<pubDate>Wed, 23 Sep 2009 20:43:12 +0000</pubDate>
		<dc:creator>Rob Garrett</dc:creator>
				<category><![CDATA[Applications]]></category>

		<guid isPermaLink="false">http://robgarrett.wordpress.com/2009/09/23/pre-search-facets-in-moss-2007/</guid>
		<description><![CDATA[Search facets offer a powerful entry point into data exploration, especially in cases where data is categorized or tagged effectively.  With modern search and content retrieval mechanisms, such as the search engine in MOSS (and new FAST search engine for SharePoint) the traditional method of browsing for content in SharePoint using static navigation hierarchies can [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.robgarrett.com&amp;blog=7688126&amp;post=4352&amp;subd=robgarrett&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Search facets offer a powerful entry point into data exploration, especially in cases where data is categorized or tagged effectively.  With modern search and content retrieval mechanisms, such as the search engine in MOSS (and new FAST search engine for SharePoint) the traditional method of browsing for content in SharePoint using static navigation hierarchies can now take on a whole new approach.</p>
<p>The new thinking behind content storage is to put all artifacts in one large bucket, tag the artifacts, and then leverage search and facets to surface relevant content.  Think about how Google revolutionized mail by discarding the folder structure approach in favor of a search and label paradigm.</p>
<p>Anyone who has played with Faceted searching in SharePoint probably knows that, aside of the commercial tools like BA Insight, the only real <strong>free</strong> option is to use the <a href="http://www.codeplex.com/FacetedSearch" target="_blank">Codeplex Faceted Additions</a>.</p>
<p><img title="fs3.png" src="http://i3.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=FacetedSearch&amp;DownloadId=75779" alt="fs3.png" width="331" height="287" /></p>
<p>The Codeplex offering assumes “post” search faceting, in that the web parts determine the relevant facet headings and count based on the current executed result set.  This approach makes good for filtering search results and allowing users to drill down on with restricted queries, but what about pre-facet browsing, similar to the functionality on sites like Best Buy?</p>
<p>Here is the problem – to provide the user with a dynamic tree view if hierarchical data based on facet categorization, the hierarchy generation method needs to know about all potential facet values ahead of time.  Take the following example:</p>
<p><em>An organization tags all their documents with a document type and department.  Let’s assume we wanted to provide a dynamic list of departments, which the user could choose, and then a list of document types available for the selected department.  After selecting the document type we’d like the user to see all documents of the selected type that sourced from the selected department</em>.</p>
<p>Aside of issuing a general search, and then filtering the result set by department and document type, the Codeplex faceted search web parts do not appear to offer a mechanism to provide dynamic table-of-content like behavior.</p>
<p>So I got to thinking – search facets in MOSS are no more than managed properties that exist in the search index.  Surely the object model must enable me a way to query distinct values of a given managed property?  It turns out that you can query the search API for this information, and with a little code magic you can obtain the results desired:</p>
<pre class="csharpcode"><span class="kwrd">using</span> System;
<span class="kwrd">using</span> System.Collections.Generic;
<span class="kwrd">using</span> System.Linq;
<span class="kwrd">using</span> System.Text;
<span class="kwrd">using</span> System.Data;
<span class="kwrd">using</span> Microsoft.Office.Server.Search;
<span class="kwrd">using</span> Microsoft.SharePoint;
<span class="kwrd">using</span> Microsoft.Office.Server.Search.Query;

<span class="kwrd">namespace</span> SearchFacets
{
    <span class="rem">/// &lt;summary&gt;</span>
    <span class="rem">/// Faceted search querying.</span>
    <span class="rem">/// &lt;/summary&gt;</span>
    <span class="kwrd">class</span> Program
    {
        <span class="kwrd">static</span> <span class="kwrd">readonly</span> <span class="kwrd">string</span> SRCURL = <span class="str">"http://server/"</span>;

        <span class="rem">/// &lt;summary&gt;</span>
        <span class="rem">/// Entry point.</span>
        <span class="rem">/// &lt;/summary&gt;</span>
        <span class="rem">/// &lt;param name="args"&gt;&lt;/param&gt;</span>
        <span class="kwrd">static</span> <span class="kwrd">void</span> Main(<span class="kwrd">string</span>[] args)
        {
            <span class="kwrd">using</span> (SPSite srcSite = <span class="kwrd">new</span> SPSite(SRCURL))
            {
                <span class="kwrd">string</span> query = <span class="str">"SELECT DocumentType FROM Scope() WHERE \"SCOPE\" = 'My Scope Documents'"</span>;
                <span class="kwrd">string</span>[] values = GetDistinctSearchResults(srcSite, query, 1000);
                <span class="kwrd">foreach</span> (<span class="kwrd">string</span> s <span class="kwrd">in</span> values)
                    Console.WriteLine(s);
            }
        }

        <span class="rem">/// &lt;summary&gt;</span>
        <span class="rem">/// Get some search results using full text.</span>
        <span class="rem">/// &lt;/summary&gt;</span>
        <span class="rem">/// &lt;param name="context"&gt;Site.&lt;/param&gt;</span>
        <span class="rem">/// &lt;param name="searchQuery"&gt;Query.&lt;/param&gt;</span>
        <span class="rem">/// &lt;param name="searchLimit"&gt;Limit results.&lt;/param&gt;</span>
        <span class="rem">/// &lt;returns&gt;Results.&lt;/returns&gt;</span>
        <span class="kwrd">static</span> <span class="kwrd">string</span>[] GetDistinctSearchResults(SPSite context, <span class="kwrd">string</span> searchQuery, <span class="kwrd">int</span> searchLimit)
        {
            <span class="kwrd">using</span> (var fullTextQuery = <span class="kwrd">new</span> FullTextSqlQuery(context))
            {
                fullTextQuery.ResultTypes = ResultType.RelevantResults;
                fullTextQuery.QueryText = searchQuery;
                fullTextQuery.KeywordInclusion = KeywordInclusion.AnyKeyword;
                fullTextQuery.EnableStemming = <span class="kwrd">false</span>;
                fullTextQuery.TrimDuplicates = <span class="kwrd">false</span>;
                fullTextQuery.RowLimit = searchLimit;

                ResultTableCollection resultsCollection = fullTextQuery.Execute();
                ResultTable resultsTable = resultsCollection[ResultType.RelevantResults];
                <span class="kwrd">return</span> ReturnDistinct(resultsTable);
            }
        }

        <span class="rem">/// &lt;summary&gt;</span>
        <span class="rem">/// Return distinct list.</span>
        <span class="rem">/// &lt;/summary&gt;</span>
        <span class="rem">/// &lt;param name="rtWins"&gt;Restult set.&lt;/param&gt;</span>
        <span class="rem">/// &lt;returns&gt;Distinct values.&lt;/returns&gt;</span>
        <span class="kwrd">static</span> <span class="kwrd">string</span>[] ReturnDistinct(ResultTable rtWins)
        {
            DataTable dtWins = <span class="kwrd">null</span>;
            Dictionary&lt;String, <span class="kwrd">int</span>&gt; pairs = <span class="kwrd">new</span> Dictionary&lt;<span class="kwrd">string</span>, <span class="kwrd">int</span>&gt;();
            List&lt;String&gt; lstWins = <span class="kwrd">new</span> List&lt;<span class="kwrd">string</span>&gt;();
            dtWins = <span class="kwrd">new</span> DataTable(<span class="str">"dtWINS"</span>);
            dtWins.Load(rtWins);

            <span class="kwrd">foreach</span> (DataRow drWin <span class="kwrd">in</span> dtWins.Rows)
            {
                <span class="kwrd">string</span> fieldName = drWin[0].ToString();
                <span class="kwrd">if</span> (pairs.ContainsKey(fieldName))
                    pairs[fieldName]++;
                <span class="kwrd">else</span>
                    pairs.Add(fieldName, 0);
            }

            <span class="kwrd">foreach</span> (KeyValuePair&lt;String, <span class="kwrd">int</span>&gt; pair <span class="kwrd">in</span> pairs)
                lstWins.Add(String.Format(<span class="str">"{0} ({1})"</span>, pair.Key, pair.Value));
            <span class="kwrd">return</span> lstWins.ToArray();
        }
    }
}</pre>
<p>You might be thinking “Hey, you’re just executing a search”, and you’d be right.  Since the facet values (managed property values map to crawled properties) live in the search indexes we have no choice but to perform a search to get at these values.</p>
<p>The key in the above code is to limit the search results returned (1000 in above case) and take advantage of relevancy.  In all likelihood; any search results beyond 1000 hits will not likely produce facet values that map to many results of value to the end user.</p>
<p>Clearly, the above code is just a starting point and has potential for many improvements, such as caching, making use of parent child relationships etc, but you get the idea…</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/robgarrett.wordpress.com/4352/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/robgarrett.wordpress.com/4352/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/robgarrett.wordpress.com/4352/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/robgarrett.wordpress.com/4352/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/robgarrett.wordpress.com/4352/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/robgarrett.wordpress.com/4352/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/robgarrett.wordpress.com/4352/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/robgarrett.wordpress.com/4352/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/robgarrett.wordpress.com/4352/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/robgarrett.wordpress.com/4352/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/robgarrett.wordpress.com/4352/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/robgarrett.wordpress.com/4352/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/robgarrett.wordpress.com/4352/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/robgarrett.wordpress.com/4352/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.robgarrett.com&amp;blog=7688126&amp;post=4352&amp;subd=robgarrett&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.robgarrett.com/2009/09/23/pre-search-facets-in-moss-2007/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Rob Garrett</media:title>
		</media:content>

		<media:content url="http://i3.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=FacetedSearch&#38;DownloadId=75779" medium="image">
			<media:title type="html">fs3.png</media:title>
		</media:content>
	</item>
		<item>
		<title>Site Collection Restore Error</title>
		<link>http://blog.robgarrett.com/2009/09/20/site-collection-restore-error/</link>
		<comments>http://blog.robgarrett.com/2009/09/20/site-collection-restore-error/#comments</comments>
		<pubDate>Mon, 21 Sep 2009 01:20:21 +0000</pubDate>
		<dc:creator>Rob Garrett</dc:creator>
				<category><![CDATA[Applications]]></category>
		<category><![CDATA[Microsoft SharePoint]]></category>

		<guid isPermaLink="false">http://robgarrett.wordpress.com/2009/09/20/site-collection-restore-error/</guid>
		<description><![CDATA[If you ever run into the following error when performing a site collection restore, via STSADM, and you know space is not an issue, try the steps below before diving deep into troubleshooting mode: “The site collection could not be restored. If this problem persists, please make sure the content databases are available and have [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.robgarrett.com&amp;blog=7688126&amp;post=4351&amp;subd=robgarrett&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>If you ever run into the following error when performing a site collection restore, via STSADM, and you know space is not an issue, try the steps below before diving deep into troubleshooting mode:</p>
<p>“<strong>The site collection could not be restored. If this problem persists, please make sure the content databases are available and have sufficient free space.</strong>”</p>
<ul>
<li>Stop and start the SharePoint Timer Service</li>
<li>IISRESET</li>
<li>Restore to a new content database</li>
</ul>
<br /> Tagged: Microsoft SharePoint <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/robgarrett.wordpress.com/4351/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/robgarrett.wordpress.com/4351/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/robgarrett.wordpress.com/4351/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/robgarrett.wordpress.com/4351/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/robgarrett.wordpress.com/4351/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/robgarrett.wordpress.com/4351/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/robgarrett.wordpress.com/4351/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/robgarrett.wordpress.com/4351/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/robgarrett.wordpress.com/4351/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/robgarrett.wordpress.com/4351/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/robgarrett.wordpress.com/4351/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/robgarrett.wordpress.com/4351/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/robgarrett.wordpress.com/4351/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/robgarrett.wordpress.com/4351/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.robgarrett.com&amp;blog=7688126&amp;post=4351&amp;subd=robgarrett&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.robgarrett.com/2009/09/20/site-collection-restore-error/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Rob Garrett</media:title>
		</media:content>
	</item>
		<item>
		<title>Balsamiq Mockups makes for easy UI design</title>
		<link>http://blog.robgarrett.com/2009/08/12/balsamiq-mockups-makes-for-easy-ui-design/</link>
		<comments>http://blog.robgarrett.com/2009/08/12/balsamiq-mockups-makes-for-easy-ui-design/#comments</comments>
		<pubDate>Wed, 12 Aug 2009 21:38:17 +0000</pubDate>
		<dc:creator>Rob Garrett</dc:creator>
				<category><![CDATA[Applications]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Web Sites]]></category>
		<category><![CDATA[UI Design]]></category>

		<guid isPermaLink="false">http://robgarrett.wordpress.com/2009/08/12/balsamiq-mockups-makes-for-easy-ui-design/</guid>
		<description><![CDATA[We’ve been using Balsamiq Mockups for some time at my day job, but until recently I hadn’t used the tool heavily on any of the projects I’d been working.&#160; Today I needed to shell out an example search results page for a project I am architecting in SharePoint. Think of Balsamiq Mockups as Visio for [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.robgarrett.com&amp;blog=7688126&amp;post=4348&amp;subd=robgarrett&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>We’ve been using <a href="http://www.balsamiq.com/products/mockups" target="_blank">Balsamiq Mockups</a> for some time at my day job, but until recently I hadn’t used the tool heavily on any of the projects I’d been working.&#160; Today I needed to shell out an example search results page for a project I am architecting in SharePoint.</p>
<p>Think of Balsamiq Mockups as Visio for the layman – it’s light, easy to use, not cluttered with unnecessary functionality, and runs on Adobe Air.&#160; The presentation is something akin to what you might mockup on a whiteboard in the office and the end result, although a signature of the Balsamiq development team, is crisp and ideal for any document deliverable.</p>
<p>What I like about the tool most is that I was able to complete a mockup, which is functional for discussion purposes and doubles for architecture documentation, and it took me a fraction of the time I’d have spent in Visio – this gave me time to write this blog post.</p>
<p>At a price of $79, the product is a steal for the time it’ll save you.</p>
<p>Check out my finished page mockup:</p>
<p><a href="http://robgarrett.files.wordpress.com/2009/08/gsusaglobalsearchresults.png"><img style="border-bottom:0;border-left:0;display:inline;border-top:0;border-right:0;" title="Global Search Results" border="0" alt="Global Search Results" src="http://robgarrett.files.wordpress.com/2009/08/gsusaglobalsearchresults_thumb.png?w=491&#038;h=389" width="491" height="389" /></a></p>
<br /> Tagged: UI Design <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/robgarrett.wordpress.com/4348/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/robgarrett.wordpress.com/4348/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/robgarrett.wordpress.com/4348/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/robgarrett.wordpress.com/4348/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/robgarrett.wordpress.com/4348/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/robgarrett.wordpress.com/4348/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/robgarrett.wordpress.com/4348/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/robgarrett.wordpress.com/4348/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/robgarrett.wordpress.com/4348/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/robgarrett.wordpress.com/4348/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/robgarrett.wordpress.com/4348/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/robgarrett.wordpress.com/4348/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/robgarrett.wordpress.com/4348/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/robgarrett.wordpress.com/4348/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.robgarrett.com&amp;blog=7688126&amp;post=4348&amp;subd=robgarrett&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.robgarrett.com/2009/08/12/balsamiq-mockups-makes-for-easy-ui-design/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Rob Garrett</media:title>
		</media:content>

		<media:content url="http://robgarrett.files.wordpress.com/2009/08/gsusaglobalsearchresults_thumb.png" medium="image">
			<media:title type="html">Global Search Results</media:title>
		</media:content>
	</item>
		<item>
		<title>Working from the Cloud</title>
		<link>http://blog.robgarrett.com/2009/07/24/working-from-the-cloud/</link>
		<comments>http://blog.robgarrett.com/2009/07/24/working-from-the-cloud/#comments</comments>
		<pubDate>Fri, 24 Jul 2009 13:57:29 +0000</pubDate>
		<dc:creator>Rob Garrett</dc:creator>
				<category><![CDATA[Applications]]></category>
		<category><![CDATA[Business Advice]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Computers]]></category>

		<guid isPermaLink="false">http://robgarrett.wordpress.com/2009/07/24/working-from-the-cloud/</guid>
		<description><![CDATA[My employer uses laptops pretty much exclusively (as I do at home) for all employees, with the exception of a few, to promote flexibility and portability in our work environment.&#160; I made the mistake yesterday of forgetting my laptop and turning up to the office with no computer to work with.&#160; As was debating on [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.robgarrett.com&amp;blog=7688126&amp;post=4339&amp;subd=robgarrett&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>My employer uses laptops pretty much exclusively (as I do at home) for all employees, with the exception of a few, to promote flexibility and portability in our work environment.&#160; I made the mistake yesterday of forgetting my laptop and turning up to the office with no computer to work with.&#160; As was debating on turning my car around (I got all the way to the office) and heading back home when I got thinking.&#160; In today’s connected environment, did I really have a dependency on a single computer to work?&#160; The short answer is no.</p>
<p>When I thought about it some more, having no laptop didn’t mean I couldn’t continue my work day as normal.&#160; I spoke nicely to one of our IT people and asked for a temporary laptop for the morning, hooked it up to the network, logged in, and continued working as normal – how?</p>
<p>The answer is in the tools that I use.&#160; Granted, I’ve moved on from localized development and no longer require a host of specialized tools to work, which makes life easier. Also, I’ve always had a healthy paranoia about keeping work files on portable devices that may inadvertently fall in the parking lot and break into a million pieces, so wove redundancy into my personal workspace some time ago, meaning I was already in great shape for using another computer for work.&#160; </p>
<p>With Internet speeds getting faster and online storage becoming cheaper, there is a definite shift in mentality to store files in the cloud.&#160; I realized this about a year ago.&#160; The following is a list of applications and approaches I use to enable portability in the my day-to-day work:</p>
<p><strong>Hosted Virtual Machines</strong></p>
<p>My job involves SharePoint development, so I cannot escape the need for a development environment.&#160; Many of us still develop on Virtual Machine images using portable devices.&#160; Fortunately, my employer saw this as non-scalable solution and set up virtual servers for all out development.&#160; Our IT infrastructure includes backups, and I can access the servers from any location using secure VPN.</p>
<p><strong>Outlook Web Access and Gmail</strong></p>
<p>All my company email sits on an Exchange server, which comes complete with a web client for accessing my email from any web browser.&#160; If I insist on the thick client, Outlook is installed on most of the company laptops and configuration of my account is 5 minute exercise.&#160; I use Gmail for all my personal mail and never have to worry about loosing my email or servers going down.&#160; On the rare occasion that the company Exchange server goes down, I have my personal email to fall back on if I need to (who doesn’t?).</p>
<p><strong>GTD with ClearContext</strong></p>
<p>I use ClearContext to arrange my inbox within Outlook.&#160; CC uses folders within my inbox, so I don’t have to worry about carting around backups of my settings.&#160; If I choose not to install CC on a loaner laptop, I can still work with my email because filed messages live in Exchange folders and I can put aside new inbox email for filing later when I get back to my laptop – left at home.</p>
<p><strong>Evernote</strong></p>
<p>I am never ever caught out talking to a client without notes from previous meetings.&#160; I know a lot of people like to use One Note, but if you use EN your notes are available on the web, phone, or any other computer (Windows and Mac) that you choose to install the application.&#160; My notes synchronize in a few minutes and I’m up and running.</p>
<p><strong>Drop Box</strong></p>
<p>A well thought out product that synchronizes files across computers and in the cloud.&#160; I use this application on all my computers, and the UI is a simple folder on my desktop – I drag all my files to the special drop box folder and have peace of mind that my files are available on all other computers, or via the web interface.</p>
<p><strong>IM</strong></p>
<p>Using both Communicator (corporate) and MSN (personal), I am able to stay in touch with clients, colleagues and friends.&#160; Both applications install in minutes and require no setup for me to get back online.</p>
<p><strong>SharePoint and Colligo Contributor</strong></p>
<p>My work primarily involves SharePoint, so I would be amiss if I didn’t eat my own dog food.&#160; My employer has a nice extranet where I can always access client work in progress, RFP work etc – it’s policy that all work is stored on our extranet.&#160; With Colligo Contributor – an application that works much like Groove, only better &#8211; I can keep a cached version of files on any PC, so if I loose network access I can carry on working on a local copy of my files stored in SharePoint.</p>
<p><strong>Pandora</strong></p>
<p>Say what?</p>
<p>A work day in the office is a little dull if I cannot listen to my favorite tunes whilst working.&#160; Using Pandora – an Internet streaming radio service – I can continue listening from any web enabled computer.</p>
<p><strong>X-Lite</strong></p>
<p>X-Lite is a SIP VOIP client, an my employer uses VOIP.&#160; So if I want to take a call from Starbucks, the road (using mobile broadband), abroad, or a client office, it’s no big deal.&#160; The recipient of my call doesn’t know I’m not calling from the office.</p>
<p>So… Flexibility in a nutshell.&#160; If you’ve not done so already, it’s time to cut the chord from your working computer and get into a portable mentality.&#160; You’ll need support from your employer (something to consider asking in your next job interview), but if you can convince them and it’ll make you more productive – it’s worth any overhead.</p>
<br /> Tagged: Cloud, Computers <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/robgarrett.wordpress.com/4339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/robgarrett.wordpress.com/4339/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/robgarrett.wordpress.com/4339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/robgarrett.wordpress.com/4339/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/robgarrett.wordpress.com/4339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/robgarrett.wordpress.com/4339/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/robgarrett.wordpress.com/4339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/robgarrett.wordpress.com/4339/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/robgarrett.wordpress.com/4339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/robgarrett.wordpress.com/4339/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/robgarrett.wordpress.com/4339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/robgarrett.wordpress.com/4339/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/robgarrett.wordpress.com/4339/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/robgarrett.wordpress.com/4339/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.robgarrett.com&amp;blog=7688126&amp;post=4339&amp;subd=robgarrett&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog.robgarrett.com/2009/07/24/working-from-the-cloud/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Rob Garrett</media:title>
		</media:content>
	</item>
	</channel>
</rss>
