<?xml version="1.0"?>
<rss version="2.0" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:yt="http://gdata.youtube.com/schemas/2007" xmlns:atom="http://www.w3.org/2005/Atom">
   <channel>
      <title>Aptillon Member Feeds</title>
      <description>Pipes Output</description>
      <link>http://pipes.yahoo.com/pipes/pipe.info?_id=2882483b51584bcce1a4be61bc24cb8f</link>
      <atom:link rel="next" href="http://pipes.yahoo.com/pipes/pipe.run?_id=2882483b51584bcce1a4be61bc24cb8f&amp;_render=rss&amp;page=2"/>
      <pubDate>Thu, 01 Oct 2015 23:05:18 +0000</pubDate>
      <generator>http://pipes.yahoo.com/pipes/</generator>
      <item>
         <title>My October Challenge</title>
         <link>http://feedproxy.google.com/~r/MatthewMcDermott/~3/Mj-3IAD0-NI/</link>
         <description>I have always been a healthy guy, but recently I decided to make getting and staying in shape a priority. I travel a lot. During the month of October, I [&amp;#8230;]</description>
         <guid isPermaLink="false">http://www.ableblue.com/blog/?p=1284</guid>
         <pubDate>Wed, 30 Sep 2015 21:17:44 +0000</pubDate>
         <content:encoded><![CDATA[<p>I have always been a healthy guy, but recently I decided to make getting and staying in shape a priority. I travel a lot. During the month of October, I am going to be home 4 weekdays! Between now and Thanksgiving I&#8217;ll be out every week. That is a lot of travel for me. Don&#8217;t get me wrong here, I am excited to be busy, but a little worried that my health will suffer. So I am going to challenge myself like I did last year for the <a rel="nofollow" target="_blank" href="http://www.ableblue.com/blog/archive/2014/04/06/sharepoint-evolutions-roadshow-2014/">SharePoint Evolution Roadshow</a>. During the 3 weeks on the road, <a rel="nofollow" target="_blank" href="http://www.ableblue.com/blog/archive/2014/07/02/post-sharepoint-evolution-conference-summary/">we traveled to 13 cities and (with the generous help of friends like Bill Ayers, Ben Robb and Rob Pratt) I was able to run 100k in 3 weeks</a>. For my American friends, that&#8217;s around 63 miles.
</p>
<h2>The Plan<br />
</h2>
<p>So here&#8217;s the plan. I&#8217;ll run and tweet and post. If you are on <a rel="nofollow" target="_blank" href="https://www.endomondo.com/profile/4720685">Endomondo</a> or <a rel="nofollow" target="_blank" href="https://www.strava.com/athletes/8967817">Strava</a>, I&#8217;ll keep them updated too. (Well, my phone and Microsoft Band will.) I&#8217;ll also use a running planner I created in Excel to keep track and this post will automatically update.
</p>
<p>
 
</p>
<h2>Join Me!<br />
</h2>
<p>If you are interested in joining me just ask! Here is the schedule (all other dates are travel days or Austin):
</p>
<ul>
<li>October 4-6: Tampa, FL (West Shore Area)
</li>
<li>October 12-16: Amsterdam
</li>
<li>October 17-19: Bruges, Belgium
</li>
<li>October 25-30: Tampa, FL</li>
</ul>
<h3>Share and Enjoy</h3>


 &bull; <a rel="nofollow" target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.ableblue.com%2Fblog%2Farchive%2F2015%2F09%2F30%2Fmy-october-challenge%2F&amp;t=My+October+Challenge" title="Share this on Facebook">Facebook</a> &bull; <a rel="nofollow" target="_blank" href="http://twitter.com/home?status=My+October+Challenge%20-%20http%3A%2F%2Fwww.ableblue.com%2Fblog%2Farchive%2F2015%2F09%2F30%2Fmy-october-challenge%2F%20" title="Tweet this !">Twitter</a> &bull; <a rel="nofollow" target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Fwww.ableblue.com%2Fblog%2Farchive%2F2015%2F09%2F30%2Fmy-october-challenge%2F&amp;title=My+October+Challenge&amp;notes=I+have+always+been+a+healthy+guy%2C+but+recently+I+decided+to+make+getting+and+staying+in+shape+a+priority.+I+travel+a+lot.+During+the+month+of+October%2C+I+am+going+to+be+home+4+weekdays%21+Between+now+and+Thanksgiving+I%27ll+be+out+every+week.+That+is+a+lo" title="Post this on Delicious">Delicious</a> &bull; <a rel="nofollow" target="_blank" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.ableblue.com%2Fblog%2Farchive%2F2015%2F09%2F30%2Fmy-october-challenge%2F&amp;title=My+October+Challenge&amp;source=Matthew+McDermott%26%23039%3Bs+Blog+-+SharePoint%2C+Search%2C+Social%2C+Windows+Phone&amp;summary=I+have+always+been+a+healthy+guy%2C+but+recently+I+decided+to+make+getting+and+staying+in+shape+a+priority.+I+travel+a+lot.+During+the+month+of+October%2C+I+am+going+to+be+home+4+weekdays%21+Between+now+and+Thanksgiving+I%27ll+be+out+every+week.+That+is+a+lo" title="Share this on LinkedIn">LinkedIn</a> &bull; <a rel="nofollow" target="_blank" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.ableblue.com%2Fblog%2Farchive%2F2015%2F09%2F30%2Fmy-october-challenge%2F&amp;title=My+October+Challenge" title="Submit this to StumbleUpon">StumbleUpon</a> &bull; <a rel="nofollow" target="_blank" href="http://www.ableblue.com/blog/archive/2015/09/30/my-october-challenge/" title="Add to favorites">Add to favorites</a> &bull; <a rel="nofollow" target="_blank" href="mailto:?to=&subject=My+October+Challenge&body=I+have+always+been+a+healthy+guy%2C+but+recently+I+decided+to+make+getting+and+staying+in+shape+a+priority.+I+travel+a+lot.+During+the+month+of+October%2C+I+am+going+to+be+home+4+weekdays%21+Between+now+and+Thanksgiving+I%27ll+be+out+every+week.+That+is+a+lo%20-%20http://www.ableblue.com/blog/archive/2015/09/30/my-october-challenge/" title="Email this">Email</a> &bull; <a rel="nofollow" target="_blank" href="http://www.ableblue.com/blog/feed/rss/" title="Subscribe to RSS">RSS</a>

<img src="http://feeds.feedburner.com/~r/MatthewMcDermott/~4/Mj-3IAD0-NI" height="1" width="1" alt=""/>]]></content:encoded>
      </item>
      <item>
         <title>Office 365 User Management with PowerShell</title>
         <link>http://feedproxy.google.com/~r/MatthewMcDermott/~3/LV-qdmlZ-Cg/</link>
         <description>I am so excited to be speaking at Unity Connect Amsterdam 2015! BTW, you get a discount if you register with &amp;#8220;McDer10&amp;#8221;. I am getting my content together for my [&amp;#8230;]</description>
         <guid isPermaLink="false">http://www.ableblue.com/blog/?p=1276</guid>
         <pubDate>Tue, 29 Sep 2015 21:32:50 +0000</pubDate>
         <content:encoded><![CDATA[<p><img src="http://www.ableblue.com/blog/wp-content/uploads/2015/09/092915_2140_Office365Us1.jpg" alt=""/>
	</p>
<p>I am so excited to be speaking at <a rel="nofollow" target="_blank" href="http://unityconnect.com/amsterdam">Unity Connect Amsterdam 2015</a>! BTW, you get a discount if you register with &#8220;McDer10&#8221;. I am getting my content together for my session <a rel="nofollow" target="_blank" href="http://www.unityconnect.com/amsterdam/session/sessionid/86">Managing Office 365 with PowerShell</a> and thought I&#8217;d share a tip that saves me TONS of times when working with a new demo tenant. With a little tweak I know this can be used in production too, more about that at the end.
</p>
<h2>Change All Your Demo Users Passwords<br />
</h2>
<p>I use Microsoft Office Demos for my Office 365 demo sites because I get a fully fleshed out demo for 90 days. When that expires I set up a new one. When the provisioning completes I get an email with the &#8220;default password&#8221;, but if anyone in the audience knows this process (and they are evil and mean spirited) they can do terrible things to me and my demo. When I login for the first time as the Administrator I change the password, but I needed a quick way to change the passwords for the 25 accounts that get created. Here is my script. You should only have to edit the <strong>$adminuser</strong> and <strong>$newpassword</strong> variables. Then run the script in the <strong>Windows PowerShell</strong> or <strong>Windows Azure Active Directory Module for Windows PowerShell</strong>.
</p>
<p><span style="font-family:Courier New;">#Get the administrator user account<br />
</span></p>
<p><span style="font-family:Courier New;">$adminuser = &#8220;admin@myo365site.onmicrosoft.com&#8221;<br />
</span></p>
<p><span style="font-family:Courier New;">#Get the NEW password for your users<br />
</span></p>
<p><span style="font-family:Courier New;">$newpasswd = &#8220;foo@12345&#8221;<br />
</span></p>
<p>
 </p>
<p><span style="font-family:Courier New;"># This will pop-up a dialog and request your password<br />
</span></p>
<p><span style="font-family:Courier New;">$cred = Get-Credential -Credential $adminuser<br />
</span></p>
<p>
 </p>
<p><span style="font-family:Courier New;">#——– Import the Local Microsoft Online PowerShell Module Cmdlets and Connect to O365 Online ———–<br />
</span></p>
<p><span style="font-family:Courier New;">Import-Module MSOnline<br />
</span></p>
<p><span style="font-family:Courier New;">Connect-MsolService -Credential $cred<br />
</span></p>
<p>
 </p>
<p><span style="font-family:Courier New;">#Enumerate all users except Administrator<br />
</span></p>
<p><span style="font-family:Courier New;">Get-MsolUser | Where-Object {$_.UserPrincipalName -ine $adminuser} | foreach{<br />
</span></p>
<p><span style="font-family:Courier New;">#Set their Password to something known<br />
</span></p>
<p><span style="font-family:Courier New;">    Write-Host &#8220;Setting:&#8221; $_.UserPrincipalName<br />
</span></p>
<p><span style="font-family:Courier New;">    Set-MsolUserPassword –UserPrincipalName $_.UserPrincipalName –NewPassword $newpasswd -ForceChangePassword $false | Out-Null<br />
</span></p>
<p><span style="font-family:Courier New;">}<br />
</span></p>
<p style="background:white;">
 </p>
<p>
 </p>
<h2>What About Production<br />
</h2>
<p>I suppose there could come a day when you actually need to change all the user passwords. Like, if you are running the Office 365 site for Ashley Madison. In that case just change &#8220;-ForceChangePassword $false&#8221; to $true. When your users login with new the $newpasswd they will be prompted to change their password.
</p>
<p>I&#8217;d love to see you in Amsterdam! Remember the discount code!</p>
<h3>Share and Enjoy</h3>


 &bull; <a rel="nofollow" target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.ableblue.com%2Fblog%2Farchive%2F2015%2F09%2F29%2Foffice-365-user-management-with-powershell%2F&amp;t=Office+365+User+Management+with+PowerShell" title="Share this on Facebook">Facebook</a> &bull; <a rel="nofollow" target="_blank" href="http://twitter.com/home?status=Office+365+User+Management+with+PowerShell%20-%20http%3A%2F%2Fwww.ableblue.com%2Fblog%2Farchive%2F2015%2F09%2F29%2Foffice-365-user-management-with-powershell%2F%20" title="Tweet this !">Twitter</a> &bull; <a rel="nofollow" target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Fwww.ableblue.com%2Fblog%2Farchive%2F2015%2F09%2F29%2Foffice-365-user-management-with-powershell%2F&amp;title=Office+365+User+Management+with+PowerShell&amp;notes=I+am+so+excited+to+be+speaking+at+Unity+Connect+Amsterdam+2015%21+BTW%2C+you+get+a+discount+if+you+register+with+%22McDer10%22.+I+am+getting+my+content+together+for+my+session+Managing+Office+365+with+PowerShell+and+thought+I%27d+share+a+tip+that+saves+me+TO" title="Post this on Delicious">Delicious</a> &bull; <a rel="nofollow" target="_blank" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.ableblue.com%2Fblog%2Farchive%2F2015%2F09%2F29%2Foffice-365-user-management-with-powershell%2F&amp;title=Office+365+User+Management+with+PowerShell&amp;source=Matthew+McDermott%26%23039%3Bs+Blog+-+SharePoint%2C+Search%2C+Social%2C+Windows+Phone&amp;summary=I+am+so+excited+to+be+speaking+at+Unity+Connect+Amsterdam+2015%21+BTW%2C+you+get+a+discount+if+you+register+with+%22McDer10%22.+I+am+getting+my+content+together+for+my+session+Managing+Office+365+with+PowerShell+and+thought+I%27d+share+a+tip+that+saves+me+TO" title="Share this on LinkedIn">LinkedIn</a> &bull; <a rel="nofollow" target="_blank" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.ableblue.com%2Fblog%2Farchive%2F2015%2F09%2F29%2Foffice-365-user-management-with-powershell%2F&amp;title=Office+365+User+Management+with+PowerShell" title="Submit this to StumbleUpon">StumbleUpon</a> &bull; <a rel="nofollow" target="_blank" href="http://www.ableblue.com/blog/archive/2015/09/29/office-365-user-management-with-powershell/" title="Add to favorites">Add to favorites</a> &bull; <a rel="nofollow" target="_blank" href="mailto:?to=&subject=Office+365+User+Management+with+PowerShell&body=I+am+so+excited+to+be+speaking+at+Unity+Connect+Amsterdam+2015%21+BTW%2C+you+get+a+discount+if+you+register+with+%22McDer10%22.+I+am+getting+my+content+together+for+my+session+Managing+Office+365+with+PowerShell+and+thought+I%27d+share+a+tip+that+saves+me+TO%20-%20http://www.ableblue.com/blog/archive/2015/09/29/office-365-user-management-with-powershell/" title="Email this">Email</a> &bull; <a rel="nofollow" target="_blank" href="http://www.ableblue.com/blog/feed/rss/" title="Subscribe to RSS">RSS</a>

<img src="http://feeds.feedburner.com/~r/MatthewMcDermott/~4/LV-qdmlZ-Cg" height="1" width="1" alt=""/>]]></content:encoded>
         <category>Uncategorized</category>
      </item>
      <item>
         <title>Troubleshooting App Configuration in SharePoint 2013</title>
         <link>http://feedproxy.google.com/~r/MatthewMcDermott/~3/t_BJhBTxgVo/</link>
         <description>Anybody who has spent any time troubleshooting SharePoint Server issues, particularly in organizations that are so segmented that the DNS, AD, Network and Database folks won&amp;#8217;t work with the SharePoint [&amp;#8230;]</description>
         <guid isPermaLink="false">http://www.ableblue.com/blog/?p=1250</guid>
         <pubDate>Wed, 01 Jul 2015 19:05:27 +0000</pubDate>
         <content:encoded><![CDATA[<p>Anybody who has spent any time troubleshooting SharePoint Server issues, particularly in organizations that are so segmented that the DNS, AD, Network and Database folks won&#8217;t work with the SharePoint folks, knows that you have to learn a few tricks to determine if the problems are actually SharePoint problems or the result of DNS, AD, or other misconfigured network appliance. Any time I hear network folks tell me they &#8220;optimized&#8221; the network for my SharePoint Farm I cringe, wondering what they broke in the name of optimization. Here&#8217;s a tip if this happens to you, ask them to prove it. Ask them to show you before and after metrics that prove the optimization actually made a difference. This strategy has worked well in organizations that have some level of change management because it usually results in a pause for the initial state testing, and may provide you with a heads-up that &#8220;change is a-comin'&#8221;. The thing about configuring your farm for Apps is that many different folks are involved to make it work, some know SharePoint and some don&#8217;t, so you have to be able to test &#8220;OPC&#8221; (Other Peoples Configurations) to be sure they got it right. Remember, Apps are not just for SharePoint Apps, but are also used for things like Access Services (if you choose to deploy it), so this configuration is something you want to get &#8220;right&#8221;.</p>
<h2>The Challenge with Apps</h2>
<p>Usually I depend on using my HOSTS file to work around all manner of network and DNS issues, by changing the HOSTS file you can:</p>
<ul>
<li>Test SharePoint on URLs that are currently in use on other machines, for example before an upgrade. The production DNS points to the old version of the site, so I use HOSTS entries to direct my machine to the same URL on a new IP Address</li>
<li>Determine if the network (or an appliance like a load balancer) is the problem. Use a HOSTS entry to route around the appliance virtual IP Address and go straight to a single SharePoint server</li>
<li>Target a Single Server, similar to the above, use the HOSTS entry to pick a server for testing</li>
</ul>
<p>The trouble with SharePoint Apps is that the configuration calls for a wildcard address. You cannot configure wildcards in a HOSTS file. Sure, once you have provisioned the App you could copy the address into your HOSTS file, but where&#8217;s the fun in that?</p>
<h2>Apps Configuration in Review</h2>
<p>There are many <a rel="nofollow" target="_blank" href="https://technet.microsoft.com/en-us/library/fp161236.aspx">really good articles available for configuring the necessary services and DNS</a>, but even with these resources, when I actually sat down to do it in a multi-server environment, it gave me pause. So, for those of you who have not gone down this road, here are my abbreviated steps for provisioning Apps in a SharePoint 2013 Farm.</p>
<ol>
<li>
<div>Configure DNS for your Apps domain</div>
<ul>
<li>In my case I wanted app-[AppID].app.doghousetoys.com</li>
<li>I followed Mirjam&#8217;s post <a rel="nofollow" target="_blank" href="http://sharepointchick.com/archive/0001/01/01/setting-up-your-app-domain-for-sharepoint-2013.aspx">http://sharepointchick.com/archive/0001/01/01/setting-up-your-app-domain-for-sharepoint-2013.aspx</a></li>
</ul>
</li>
<li>
<div>Configure the Service Applications – I started these on the web servers, they are lightweight.</div>
<ul>
<li>Start and Provision the Subscription Settings Service Application</li>
<li>Start and Provision the App Management Service Application</li>
</ul>
</li>
<li>
<div>Configure the App Management Service to use the URL for your App domain. Mine now looks like this:</div>
<p><img src="http://www.ableblue.com/blog/wp-content/uploads/2015/07/070115_2126_Troubleshoo1.png" alt=""/></li>
<li>
<div>Create a Web Application with NO Host Header – This is where I got tripped up conceptually and found no documentation for multi-server farms. You have to enter a Public URL, but it actually does not matter what URL you use. In my head I saw the machine name and knew that was &#8220;wrong&#8221;. It turns out it does not matter. Based on feedback from <a rel="nofollow" target="_blank" href="http://blog.falchionconsulting.com/">Gary</a> and <a rel="nofollow" target="_blank" href="http://www.harbar.net">Spence</a>, I just used the app domain as my Public Address, it doesn&#8217;t matter, but this made the most sense. Also, ensure that the application pool is shared with the web applications that will be using the Apps service.</div>
<p><img src="http://www.ableblue.com/blog/wp-content/uploads/2015/07/070115_2126_Troubleshoo2.png" alt=""/></li>
<li>Create an App Catalog for the web apps that need one.</li>
<li>
<div>Upload your App and test the configuration.</div>
<ul>
<li>Test user deployed app</li>
<li>Test Tenant deployed app</li>
</ul>
</li>
<li>
<div>Optional: Configure and deploy Access Services</div>
<ul>
<li>This is the most detailed article for the whole process: <a rel="nofollow" target="_blank" href="http://blogs.technet.com/b/anneste/archive/2014/10/31/configure-an-environment-for-apps-for-sharepoint-sharepoint-2013.aspx">http://blogs.technet.com/b/anneste/archive/2014/10/31/configure-an-environment-for-apps-for-sharepoint-sharepoint-2013.aspx</a></li>
<li>This is the go to article for deploying and troubleshooting Access Services: <a rel="nofollow" target="_blank" href="http://blogs.msdn.com/b/kaevans/archive/2013/07/14/access-services-2013-setup-for-an-on-premises-installation.aspx">http://blogs.msdn.com/b/kaevans/archive/2013/07/14/access-services-2013-setup-for-an-on-premises-installation.aspx</a> If that doesn&#8217;t help, call Kirk, don&#8217;t call me. <span style="font-family:Wingdings;">J</span></li>
</ul>
</li>
</ol>
<h2>Testing Fails</h2>
<p>So, here we are, every &#8220;i&#8221; dotted and &#8220;t&#8221; crossed and your tests fail miserably. Maybe the DNS team has not had the time to make the changes you requested, or they did and you click the link for your app and you see:</p>
<p><img src="http://www.ableblue.com/blog/wp-content/uploads/2015/07/070115_2126_Troubleshoo3.png" alt=""/></p>
<p>Cue the trombone. What do you do? Well, you could force that URL into your hosts file, but where is the fun in that? You won&#8217;t be testing the wildcard.</p>
<h2>Another Tool in the Toolbox</h2>
<p>Cue the whip crack and the theme song from The Good, the Bad and the Ugly. <a rel="nofollow" target="_blank" href="http://mayakron.altervista.org/wikibase/show.php?id=AcrylicHome">Acrylic DNS Proxy</a> is a very small DNS proxy that, like Fiddler and other amazing tools, can be used for so much more than this! Once installed you will see a host of menu options (this is Windows 8.1, on Windows 7 you will see similar results)</p>
<p><img src="http://www.ableblue.com/blog/wp-content/uploads/2015/07/070115_2126_Troubleshoo4.png" alt=""/></p>
<h2>Apps Troubleshooting</h2>
<ol>
<li>Click <strong>Edit Acrylic Hosts File</strong>.</li>
<li>
<div>Add a wildcard entry for your apps configuration. In my case I added <strong>*.app.doghousetoys.com</strong> and the virtual IP address for the farm. If you are troubleshooting the IP address routing related to the VIP, try using the IP address of one of the web servers.</div>
<p><img src="http://www.ableblue.com/blog/wp-content/uploads/2015/07/070115_2126_Troubleshoo5.png" alt=""/></li>
<li><strong>Save</strong> and close the file.</li>
<li>
<div>Change your network settings so that Acrylic gets first shot at the routing.</div>
<p><img src="http://www.ableblue.com/blog/wp-content/uploads/2015/07/070115_2126_Troubleshoo6.png" alt=""/></li>
<li>
<div>Click <strong>Start Acrylic Service</strong>.</div>
<p><img src="http://www.ableblue.com/blog/wp-content/uploads/2015/07/070115_2126_Troubleshoo7.png" alt=""/></li>
<li>
<div>Test the routing with a ping request like <strong>ping foo.app.doghousetoys.com</strong>.</div>
<p><img src="http://www.ableblue.com/blog/wp-content/uploads/2015/07/070115_2126_Troubleshoo8.png" alt=""/></li>
<li>
<div>You should now be able to run your app because Acrylic is doing the DNS work for you.</div>
<p><img src="http://www.ableblue.com/blog/wp-content/uploads/2015/07/070115_2126_Troubleshoo9.png" alt=""/></li>
</ol>
<h2>Wrap It Up</h2>
<p>I have to admit, the notion of troubleshooting wildcard DNS had me stumped until I discovered Acrylic. Give this a shot even if you don&#8217;t need it right now. It may come in handy in the future.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h3>Share and Enjoy</h3>


 &bull; <a rel="nofollow" target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.ableblue.com%2Fblog%2Farchive%2F2015%2F07%2F01%2Ftroubleshooting-app-configuration-in-sharepoint-2013%2F&amp;t=Troubleshooting+App+Configuration+in+SharePoint+2013" title="Share this on Facebook">Facebook</a> &bull; <a rel="nofollow" target="_blank" href="http://twitter.com/home?status=Troubleshooting+App+Configuration+in+SharePoint+2013%20-%20http%3A%2F%2Fwww.ableblue.com%2Fblog%2Farchive%2F2015%2F07%2F01%2Ftroubleshooting-app-configuration-in-sharepoint-2013%2F%20" title="Tweet this !">Twitter</a> &bull; <a rel="nofollow" target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Fwww.ableblue.com%2Fblog%2Farchive%2F2015%2F07%2F01%2Ftroubleshooting-app-configuration-in-sharepoint-2013%2F&amp;title=Troubleshooting+App+Configuration+in+SharePoint+2013&amp;notes=Anybody+who+has+spent+any+time+troubleshooting+SharePoint+Server+issues%2C+particularly+in+organizations+that+are+so+segmented+that+the+DNS%2C+AD%2C+Network+and+Database+folks+won%27t+work+with+the+SharePoint+folks%2C+knows+that+you+have+to+learn+a+few+tricks" title="Post this on Delicious">Delicious</a> &bull; <a rel="nofollow" target="_blank" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.ableblue.com%2Fblog%2Farchive%2F2015%2F07%2F01%2Ftroubleshooting-app-configuration-in-sharepoint-2013%2F&amp;title=Troubleshooting+App+Configuration+in+SharePoint+2013&amp;source=Matthew+McDermott%26%23039%3Bs+Blog+-+SharePoint%2C+Search%2C+Social%2C+Windows+Phone&amp;summary=Anybody+who+has+spent+any+time+troubleshooting+SharePoint+Server+issues%2C+particularly+in+organizations+that+are+so+segmented+that+the+DNS%2C+AD%2C+Network+and+Database+folks+won%27t+work+with+the+SharePoint+folks%2C+knows+that+you+have+to+learn+a+few+tricks" title="Share this on LinkedIn">LinkedIn</a> &bull; <a rel="nofollow" target="_blank" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.ableblue.com%2Fblog%2Farchive%2F2015%2F07%2F01%2Ftroubleshooting-app-configuration-in-sharepoint-2013%2F&amp;title=Troubleshooting+App+Configuration+in+SharePoint+2013" title="Submit this to StumbleUpon">StumbleUpon</a> &bull; <a rel="nofollow" target="_blank" href="http://www.ableblue.com/blog/archive/2015/07/01/troubleshooting-app-configuration-in-sharepoint-2013/" title="Add to favorites">Add to favorites</a> &bull; <a rel="nofollow" target="_blank" href="mailto:?to=&subject=Troubleshooting+App+Configuration+in+SharePoint+2013&body=Anybody+who+has+spent+any+time+troubleshooting+SharePoint+Server+issues%2C+particularly+in+organizations+that+are+so+segmented+that+the+DNS%2C+AD%2C+Network+and+Database+folks+won%27t+work+with+the+SharePoint+folks%2C+knows+that+you+have+to+learn+a+few+tricks%20-%20http://www.ableblue.com/blog/archive/2015/07/01/troubleshooting-app-configuration-in-sharepoint-2013/" title="Email this">Email</a> &bull; <a rel="nofollow" target="_blank" href="http://www.ableblue.com/blog/feed/rss/" title="Subscribe to RSS">RSS</a>

<img src="http://feeds.feedburner.com/~r/MatthewMcDermott/~4/t_BJhBTxgVo" height="1" width="1" alt=""/>]]></content:encoded>
      </item>
      <item>
         <title>ITUnity: SharePoint Online Article Series</title>
         <link>http://feedproxy.google.com/~r/AutomatingSharePoint/~3/z5GZWxgqRTI/</link>
         <description>You may have noticed that my blog has been kind of quiet lately – the reason is because I’ve been devoting some time to help hydrate the ITUnity site with some core PowerShell articles. As I write this I’ve currently got 10 articles published – these articles are all part of a continuing series devoted [...]</description>
         <guid isPermaLink="false">http://blog.falchionconsulting.com/?p=1116</guid>
         <pubDate>Thu, 18 Jun 2015 17:22:24 +0000</pubDate>
         <content:encoded><![CDATA[<p>You may have noticed that my blog has been kind of quiet lately – the reason is because I’ve been devoting some time to help hydrate the <a rel="nofollow" target="_blank" href="http://www.itunity.com/">ITUnity</a> site with some core PowerShell articles. As I write this I’ve currently got 10 articles published – these articles are all part of a continuing series devoted to using PowerShell to manipulate SharePoint Online. I’ve got a couple more articles, which may turn into several more articles, to complete in order to round out the series at which point I’ll then start doing more random topics that focus on both SharePoint On-premises and SharePoint Online (as well as a some general PowerShell or rather non-SharePoint specific PowerShell tips and tricks).</p>  <p>You can find all the articles I’ve written by viewing my author profile page on the ITUnity site: <a rel="nofollow" title="http://www.itunity.com/users/gary-lapointe" target="_blank" href="http://www.itunity.com/users/gary-lapointe">http://www.itunity.com/users/gary-lapointe</a>. Here’s the list of articles that are a part of the SharePoint Online series that I’m currently working on:</p>  <ol>   <li><a rel="nofollow" title="Introduction to the SharePoint Online Management Shell" target="_blank" href="http://www.itunity.com/article/intro-spo-management-shell-959">Introduction to the SharePoint Online Management Shell</a> </li>    <li><a rel="nofollow" title="Exploring the SharePoint Online Cmdlets" target="_blank" href="http://www.itunity.com/article/exploring-sharepoint-online-cmdlets-980">Exploring the SharePoint Online Cmdlets</a> </li>    <li><a rel="nofollow" title="Working with the SharePoint Online Site Collection Cmdlets" target="_blank" href="http://www.itunity.com/article/working-with-spo-site-collection-cmdlets-992">Working with the SharePoint Online Site Collection Cmdlets</a> </li>    <li><a rel="nofollow" title="Connecting to SharePoint Online Using the SharePoint CSOM API with Windows PowerShell" target="_blank" href="http://www.itunity.com/article/connecting-spo-csom-api-powershell-1038">Connecting to SharePoint Online Using the SharePoint CSOM API with Windows PowerShell</a> </li>    <li><a rel="nofollow" title="Using the SharePoint CSOM API with SharePoint Online and Windows PowerShell" target="_blank" href="http://www.itunity.com/article/sharepoint-csom-api-spo-powershell-1092">Using the SharePoint CSOM API with SharePoint Online and Windows PowerShell</a> </li>    <li><a rel="nofollow" title="Loading Specific Values Using Lambda Expressions and the SharePoint CSOM API with Windows PowerS" target="_blank" href="http://www.itunity.com/article/loading-specific-values-lambda-expressions-sharepoint-csom-api-windows-powershell-1249">Loading Specific Values Using Lambda Expressions and the SharePoint CSOM API with Windows PowerShell</a> </li>    <li><a rel="nofollow" title="Completing Basic Operations Using the SharePoint CSOM API and Windows PowerShell" target="_blank" href="http://www.itunity.com/article/completing-basic-operations-sharepoint-csom-api-powershell-1278">Completing Basic Operations Using the SharePoint CSOM API and Windows PowerShell</a> </li>    <li><a rel="nofollow" title="Using the SharePoint REST Service with Windows PowerShell" target="_blank" href="http://www.itunity.com/article/sharepoint-rest-service-windows-powershell-1381">Using the SharePoint REST Service with Windows PowerShell</a> </li>    <li><a rel="nofollow" title="Using a Custom Windows PowerShell Function to Make SharePoint REST Service Calls" target="_blank" href="http://www.itunity.com/article/custom-windows-powershell-function-sharepoint-rest-service-calls-1985">Using a Custom Windows PowerShell Function to Make SharePoint REST Service Calls</a> </li>    <li><a rel="nofollow" title="Working with Lists and List Items Using the SharePoint REST Service and Windows PowerShell" target="_blank" href="http://www.itunity.com/article/working-lists-list-items-sharepoint-rest-service-windows-powershell-2077">Working with Lists and List Items Using the SharePoint REST Service and Windows PowerShell</a> </li> </ol>  <p>Astute readers of my blog may notice that some of the topics listed above are similar to posts I’ve previously had here – We wanted to make sure that any background information about topics such as the SharePoint Online Management Shell or working with the REST API existed on the ITUnity site rather than being dependent on articles on my blog so I took the opportunity to rework my articles from scratch so that there would be better continuity between the articles within the series.</p>  <p>I’ll continue to post some stuff on my blog but my focus for the near future will be to continue building the ITUnity site up with as much PowerShell content as I can – if you’re interested in contributing to the effort please let me know as I’m definitely eager to get more authors involved so that we can have some diversity of content, topics, and opinions.</p>  <p>-Gary</p>]]></content:encoded>
      </item>
      <item>
         <title>Moved to Github</title>
         <link>http://feedproxy.google.com/~r/AutomatingSharePoint/~3/ZaXzWohCTys/</link>
         <description>I’ve been pretty slow to learning how to use github for the management of my open source projects but I’ve finally managed to take the time to at least learn enough so that I could move my main projects over. I don’t know that I’ve got everything done exactly the way it should be as [...]</description>
         <guid isPermaLink="false">http://blog.falchionconsulting.com/?p=1115</guid>
         <pubDate>Thu, 18 Jun 2015 17:07:12 +0000</pubDate>
         <content:encoded><![CDATA[<p>I’ve been pretty slow to learning how to use github for the management of my open source projects but I’ve finally managed to take the time to at least learn enough so that I could move my main projects over. I don’t know that I’ve got everything done exactly the way it should be as I kind of stumbled through it a bit but I think what I’ve got so far should be a good start for anyone who wants to download the releases or see or contribute to the source.</p>  <p>You can find all of my repositories by going to my profile page: <a rel="nofollow" title="https://github.com/glapointe?tab=repositories" target="_blank" href="https://github.com/glapointe?tab=repositories">https://github.com/glapointe?tab=repositories</a>.</p>  <p>As of right now I just have three repositories:</p>  <ul>   <li>PowerShell-MamlGenerator: <a rel="nofollow" title="https://github.com/glapointe/PowerShell-MamlGenerator" target="_blank" href="https://github.com/glapointe/PowerShell-MamlGenerator">https://github.com/glapointe/PowerShell-MamlGenerator</a>       <ul>       <li>This is what I use to dynamically generate the help files for my SharePoint cmdlet projects. I took some time to pull this out into its own solution so that the other projects simply have a dependency on the compiled assembly and don’t require you to pull down the source to the project. </li>     </ul>   </li>    <li>PowerShell-SPCmdlets: <a rel="nofollow" title="https://github.com/glapointe/PowerShell-SPCmdlets" target="_blank" href="https://github.com/glapointe/PowerShell-SPCmdlets">https://github.com/glapointe/PowerShell-SPCmdlets</a>       <ul>       <li>This repository contains the source code for the SharePoint 2010 and SharePoint 2013 cmdlets. On the releases page you can find the downloads for the various Foundation and Server WSPs. </li>     </ul>   </li>    <li>PowerShell-SPOCmdlets: <a rel="nofollow" title="https://github.com/glapointe/PowerShell-SPOCmdlets" target="_blank" href="https://github.com/glapointe/PowerShell-SPOCmdlets">https://github.com/glapointe/PowerShell-SPOCmdlets</a>       <ul>       <li>This repository contains the source code for my SharePoint Online cmdlets. The releases page contains the download for the installer. </li>     </ul>   </li> </ul>  <p>If you have direct links to any of the old downloads then those links will no longer work as I’ve removed the files to make sure folks are getting the latest version.</p>  <p>I welcome any feedback regarding how I can better use github with my projects – as I noted, I’m kind of new to this and I’m eager to learn/improve.</p>]]></content:encoded>
      </item>
      <item>
         <title>I’m with the Band, the Microsoft Band</title>
         <link>http://feedproxy.google.com/~r/MatthewMcDermott/~3/w5IdT40Obe8/</link>
         <description>A Brief Introduction Before I start gushing (or venting) about what I like and don&amp;#8217;t like, I think it&amp;#8217;s important to understand what kind of user I am. I am [&amp;#8230;]</description>
         <guid isPermaLink="false">http://www.ableblue.com/blog/?p=1233</guid>
         <pubDate>Mon, 17 Nov 2014 19:40:36 +0000</pubDate>
         <content:encoded><![CDATA[<h2>A Brief Introduction</h2>
<p>Before I start gushing (or venting) about what I like and don&#8217;t like, I think it&#8217;s important to understand what kind of user I am. I am a technology guy with a Windows Phone who travels. I run when I travel and have begun doing interval training in between runs (or when the weather outside is frightful). I don&#8217;t do CrossFit, I don&#8217;t swim, cycle or drag myself through the mud. (Not that I won&#8217;t someday, just not today, or tomorrow…) I am currently tracking my activity with Endomondo and really like the features, the sharing (Facebook and Twitter), and the tracking. (If you use RunKeeper, or some other App, great! It does not matter, as you will see…)</p>
<p>So that&#8217;s me, please keep that in mind as I roll forward on this train of thought. Many of the reviews I have read range from folks who are making <a rel="nofollow" target="_blank" href="http://techcrunch.com/tag/microsoft-band/">valid comparisons to existing tech and like or love it</a> to <a rel="nofollow" target="_blank" href="http://www.businessinsider.com/microsofts-band-is-ugly-clunky-and-inaccurate-2014-11">total idiots who admit to never having used The Band and are just reiterating what other (bad) reviews have said</a>.</p>
<h2>Features and Coolness</h2>
<p>There is a LOT to like about The Band. It fires right up, has the same friendly, casual tone of voice (textually speaking) that I have grown accustomed to on my Windows Phone. Once you download the Microsoft Health App, you connect the two and you are on your way to configuring your Band and making it your own. It is very easy, dare I say … addicting, to fiddle with. For example, I found I was swiping past the Text tile at first. So use the App to reorganize the tiles. Problem solved. I&#8217;ll go into details about the tiles in part 2, but initial impression is this is a solid device.</p>
<h2>App versus the Device</h2>
<p>I feel that you have to separate the review of the device from a review of the Microsoft Health App. The device is &#8220;a little&#8221; big, but not Google Watch big. I have not worn a watch for 5 years. It did not take me long to be comfortable with the Band (no, I don&#8217;t feel like I am under house arrest). The Microsoft Health App needs a LOT of improvement if I am going to replace Endomondo (or RunKeeper) with Microsoft Health. But that is where I think I get where Microsoft is going. It is trivial to update the App once you have a great device. I think the device is great, as batteries get smaller, so too will the Band. They crammed a lot of sensors and features into a very small package. The App, as I will detail shortly, needs work for me to rave about it. I am currently running version 1.3.1023.1 of the app. So with all that in mind here we go.</p>
<h2>On a Run</h2>
<p>When I run, either with Ruby or not, I carry:</p>
<ul>
<li>My Phone (for music and Endomondo)</li>
<li>LG Bluetooth headset</li>
<li>Room Key</li>
<li>Starbucks card (particularly in Vegas, where they don&#8217;t have in-room coffee makers…don&#8217;t get me started.)</li>
</ul>
<p>Starting a run is simple, tap the Run icon and wait for the GPS to pick up. This usually takes 3 minutes or so. The Band buzzes you (haptic notification) when the GPS locks, tap to start and away you go. I use that time to finish stretching, pet Ruby, etc. (I liken this to tapping the 30 second start clock on Endomondo and then put my phone away.)</p>
<p>While on the run your get a constant display of your time, distance, and pace. (…about that pace…I had to slow down for the shot. That&#8217;s my story and I am sticking to it.)</p>
<p><img src="http://www.ableblue.com/blog/wp-content/uploads/2014/11/111714_1940_ImwiththeBa1.jpg" alt=""/></p>
<p>Heart rate is displayed in a pull down screen. Every mile is marked with an alert and your split.</p>
<p><img src="http://www.ableblue.com/blog/wp-content/uploads/2014/11/111714_1940_ImwiththeBa2.jpg" alt=""/></p>
<p>When you finish tap the band and confirm you are done to see two screens of run info.</p>
<p><img src="http://www.ableblue.com/blog/wp-content/uploads/2014/11/111714_1940_ImwiththeBa3.jpg" alt=""/></p>
<p><img src="http://www.ableblue.com/blog/wp-content/uploads/2014/11/111714_1940_ImwiththeBa4.jpg" alt=""/></p>
<p>The band automatically syncs with your phone following the run. I should point out that you do not need to carry your phone for all the tracking to work. Once you launch the app it pings the band for the latest data and shows the results of the run with Summary info, plus details on Splits, Heart rate and Elevation.</p>
<p><img src="http://www.ableblue.com/blog/wp-content/uploads/2014/11/111714_1940_ImwiththeBa5.png" alt=""/></p>
<p><img src="http://www.ableblue.com/blog/wp-content/uploads/2014/11/111714_1940_ImwiththeBa6.png" alt=""/></p>
<h2>What do I Miss?</h2>
<p>I miss my data! With Endomondo I can export my GPS data and do stuff with it. I can see the map of my run on the Endomondo web site! With the Microsoft Health App I don&#8217;t have access (yet) to my run data. Even the &#8220;Connect to RunKeeper&#8221; is very limited, only sharing the summary data, no GPS info.</p>
<p><img src="http://www.ableblue.com/blog/wp-content/uploads/2014/11/111714_1940_ImwiththeBa7.png" alt=""/></p>
<p>I blame this on the App, which simply HAS TO GET BETTER! Take for example the Share feature. It basically just displays text. BORING!</p>
<p><img src="http://www.ableblue.com/blog/wp-content/uploads/2014/11/111714_1940_ImwiththeBa8.png" alt=""/></p>
<p>This is who it looks from Endomondo. The map is clickable, too.</p>
<p><img src="http://www.ableblue.com/blog/wp-content/uploads/2014/11/111714_1940_ImwiththeBa9.png" alt=""/></p>
<h2>Running with a Phone</h2>
<p>OK, I said I run with my phone. I do so I can listen to music. But that also means I can reply to incoming texts, take the occasional important phone call, or drop a voice note when, in the sweaty embrace of runners high I find inspiration through perspiration and know I&#8217;ll forget this great idea. All of that is possible with a Windows Phone and Bluetooth headset. What the Band does for me is provide a UI so when I get a call, I know who it is and can decide to take the call or Text a reply like &#8220;I am out running, I&#8217;ll call you back.&#8221; If I get a text, I can read the text on my wrist and send a canned reply (or ignore it). These same features apply when your phone is muted and you are sitting in a meeting (or at a soccer game in the rain). Peek at the text like you are checking your watch and reply without busting out your phone.</p>
<h2>Cortana</h2>
<p>I think the <strong>One Big Feature</strong> that non Windows Phone users will miss is the Cortana integration. I LOVE this feature. Now, you have to have your Windows Phone in range, but it is so easy to set Reminders for People, Places, and Times that it&#8217;s the first feature I show folks. This is the Dick Tracy watch demo. If you haven&#8217;t met Cortana, you need to check her out. For example:</p>
<ul>
<li>Location: &#8220;Cortana, remind me next time I am at Home Depot to pick up light bulbs.&#8221; The next time I am driving past or actually arrive at Home Depot, I get a reminder on my phone (and my Band) to get light bulbs.</li>
<li>Person: &#8220;Cortana, remind me the next time I talk to Andrew Connell to tease him about the SharePoint App Model.&#8221; The next time I call AC or he calls me, the reminder will be present on his call screen.</li>
<li>Time: &#8220;Cortana, remind me at 10am to write a blog post about the Band.&#8221; This will prompt me at 10am to write this post.&#8221;</li>
</ul>
<p>You can teach Cortana where &#8220;Home&#8221; is and other favorite places. All in all a very cool technology, now available on your wrist.</p>
<h2>Starbucks</h2>
<p>OK, I mentioned that I run and carry a Starbucks card. This is so I don&#8217;t have to carry cash, and then apologize for handing over a soggy ten dollar bill and deal with the change. With the Band I don&#8217;t even carry the card anymore because I can pay from the Band through the Starbucks tile. You register your Starbucks card with the App and the Band generates the proper barcode. Funny, the Starbucks tile is the only one in color.</p>
<p><img src="http://www.ableblue.com/blog/wp-content/uploads/2014/11/111714_1940_ImwiththeBa10.png" alt=""/></p>
<p>You didn&#8217;t think I was going to show you MY card number did you?</p>
<h2>What about all the other stuff</h2>
<p>I think I am going to call this &#8220;Part One&#8221;. I hit the most important features for me as a runner. I&#8217;ll start on Part 2 after lunch and go into detail on Interval Training and the rest of the features like:</p>
<ul>
<li>Weather</li>
<li>Sleep</li>
<li>Calendar</li>
<li>Interval Training</li>
<li>Alarms</li>
<li>UV Meter</li>
</ul>
<h2>End of Part One</h2>
<p>I have to draw the line here. This post ended up much longer that I expected. I&#8217;ll get Part Two up before the end of the week. For my fellow #SPRunners, I can only explain my splits by saying Blogging while Running is a pain.</p>
<h3>Share and Enjoy</h3>


 &bull; <a rel="nofollow" target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.ableblue.com%2Fblog%2Farchive%2F2014%2F11%2F17%2Fim-with-the-band-the-microsoft-band%2F&amp;t=I%E2%80%99m+with+the+Band%2C+the+Microsoft+Band" title="Share this on Facebook">Facebook</a> &bull; <a rel="nofollow" target="_blank" href="http://twitter.com/home?status=I%E2%80%99m+with+the+Band%2C+the+Microsoft+Band%20-%20http%3A%2F%2Fwww.ableblue.com%2Fblog%2Farchive%2F2014%2F11%2F17%2Fim-with-the-band-the-microsoft-band%2F%20" title="Tweet this !">Twitter</a> &bull; <a rel="nofollow" target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Fwww.ableblue.com%2Fblog%2Farchive%2F2014%2F11%2F17%2Fim-with-the-band-the-microsoft-band%2F&amp;title=I%E2%80%99m+with+the+Band%2C+the+Microsoft+Band&amp;notes=A+Brief+Introduction%0D%0ABefore+I+start+gushing+%28or+venting%29+about+what+I+like+and+don%27t+like%2C+I+think+it%27s+important+to+understand+what+kind+of+user+I+am.+I+am+a+technology+guy+with+a+Windows+Phone+who+travels.+I+run+when+I+travel+and+have+begun+doing" title="Post this on Delicious">Delicious</a> &bull; <a rel="nofollow" target="_blank" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.ableblue.com%2Fblog%2Farchive%2F2014%2F11%2F17%2Fim-with-the-band-the-microsoft-band%2F&amp;title=I%E2%80%99m+with+the+Band%2C+the+Microsoft+Band&amp;source=Matthew+McDermott%26%23039%3Bs+Blog+-+SharePoint%2C+Search%2C+Social%2C+Windows+Phone&amp;summary=A+Brief+Introduction%0D%0ABefore+I+start+gushing+%28or+venting%29+about+what+I+like+and+don%27t+like%2C+I+think+it%27s+important+to+understand+what+kind+of+user+I+am.+I+am+a+technology+guy+with+a+Windows+Phone+who+travels.+I+run+when+I+travel+and+have+begun+doing" title="Share this on LinkedIn">LinkedIn</a> &bull; <a rel="nofollow" target="_blank" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.ableblue.com%2Fblog%2Farchive%2F2014%2F11%2F17%2Fim-with-the-band-the-microsoft-band%2F&amp;title=I%E2%80%99m+with+the+Band%2C+the+Microsoft+Band" title="Submit this to StumbleUpon">StumbleUpon</a> &bull; <a rel="nofollow" target="_blank" href="http://www.ableblue.com/blog/archive/2014/11/17/im-with-the-band-the-microsoft-band/" title="Add to favorites">Add to favorites</a> &bull; <a rel="nofollow" target="_blank" href="mailto:?to=&subject=I%E2%80%99m+with+the+Band%2C+the+Microsoft+Band&body=A+Brief+Introduction%0D%0ABefore+I+start+gushing+%28or+venting%29+about+what+I+like+and+don%27t+like%2C+I+think+it%27s+important+to+understand+what+kind+of+user+I+am.+I+am+a+technology+guy+with+a+Windows+Phone+who+travels.+I+run+when+I+travel+and+have+begun+doing%20-%20http://www.ableblue.com/blog/archive/2014/11/17/im-with-the-band-the-microsoft-band/" title="Email this">Email</a> &bull; <a rel="nofollow" target="_blank" href="http://www.ableblue.com/blog/feed/rss/" title="Subscribe to RSS">RSS</a>

<img src="http://feeds.feedburner.com/~r/MatthewMcDermott/~4/w5IdT40Obe8" height="1" width="1" alt=""/>]]></content:encoded>
         <category>Windows Phone</category>
      </item>
      <item>
         <title>Teaching My Mom Windows 8</title>
         <link>http://feedproxy.google.com/~r/MatthewMcDermott/~3/YHMDisduFhM/</link>
         <description>It is funny. We, meaning folks like you and me that spend our days reading, writing, learning and teaching about technology, often have a different reaction to technology based on [&amp;#8230;]</description>
         <guid isPermaLink="false">http://www.ableblue.com/blog/?p=1220</guid>
         <pubDate>Wed, 01 Oct 2014 17:24:14 +0000</pubDate>
         <content:encoded><![CDATA[<p>It is funny. We, meaning folks like you and me that spend our days reading, writing, learning and teaching about technology, often have a different reaction to technology based on who is going to use it or who we have to educate. For example, in one breath you may talk about how amazing it is that your 3 year old can use your tablet &#8220;without showing them how&#8221; and in the next roll your eyes at your spouses repeated failure to upload a photo to Facebook. Let&#8217;s face it, different audiences have different needs. The child is uninhibited, explores freely without concern or fear of judgment, there is no expectation of &#8220;doing it correctly&#8221;. The child is rewarded for curiosity. The adult, on the other hand, is judged (either by themselves or by you watching). They know there is probably a &#8220;right way&#8221; and get frustrated when trying to find the &#8220;one right way&#8221;. Why do we have this baggage? It just gets in the way of success, particularly when learning something new.
</p>
<p>I am writing this post because I just read about Windows 10 and right there in the comments was &#8220;I can&#8217;t imagine teaching my Mom how to use it!&#8221; Well, I just taught my mom Windows 8, here&#8217;s what I did.
</p>
<h2>Windows 8 is &#8220;different&#8221;<br />
</h2>
<p>I remember when I first started using Windows 8 (now Windows 8.1 and for the rest of this article will remain Windows 8.1 even though I write Windows 8) I thought to myself, &#8220;I get where this is going.&#8221; I mean it was FAR from perfect, but I found it fairly easy to adjust to the new UI. I was working with it on a peppy laptop that I needed to run Virtual Machines, Windows 8 offered that without having to run VMware, so there you are. It worked for me. The thing I missed was how all those cool gestures worked. I do a <a rel="nofollow" target="_blank" href="http://ableblue.smugmug.com">little photography</a> from time to time and use a Wacom Intuos tablet (that I adore). The tablet supplies the touch interface to my laptop that I was missing, but it&#8217;s still not…a Surface.
</p>
<p>At the last SharePoint Conference I sat down with a great friend of mine who works the way I work. He develops, he presents and speaks publicly and he is a geek (OK I know that doesn&#8217;t narrow it down that much as I just described most of my male friends.) We sat on the floor and I asked him to walk me through the Surface Pro 2. I was blown away. The demo he gave me related to me in the many different roles I play. I was hooked and picked one up when I returned to Austin. (There is a funny story there too, but ask me over beers sometime.) Within a few hours of getting setup, I was hooked. Within a few days I was using the Surface for 85% of my communications including writing, blogging, reviews, Email, Skype and forum responses. The other 15% was the work I do on servers that cannot be done on a Surface. What I discovered in the process is the 5 key productivity gestures you need to teach ANYONE new to Windows 8. (BTW, that&#8217;s what I was going to call this post, but I hate those titles and refuse to click on them.)
</p>
<h2>Background<br />
</h2>
<p>My niece, Renee, rocks. Recently we had a family gathering in her honor here in Texas and a couple family members expressed an interest in my opinion of getting a new laptop. My brother, whose wife has an old Mac and he has XP, and my Mom who has a 4 year old Windows 7 laptop. Two totally different use cases. When I suggested that any &#8220;upgrade&#8221; would mean moving to Windows 8 my brother remarked (paraphrasing):
</p>
<blockquote><p>Brother: &#8220;I heard from my (tech industry) friend that Windows 8 is terrible&#8221;
</p>
</blockquote>
<blockquote><p>Me: &#8220;There is a learning curve.&#8221;
</p>
</blockquote>
<blockquote><p>Brother: &#8220;He said he uninstalled it and reverted to Windows 7.&#8221;
</p>
</blockquote>
<blockquote><p>Me: &#8220;Have you ever seen it and touched it.&#8221;
</p>
</blockquote>
<blockquote><p>Brother: &#8220;No&#8221;
</p>
</blockquote>
<blockquote><p>Me: &#8220;Let me show you what I think.&#8221; So, I gave him my 5 gestures and multitasking demo, one that I&#8217;ll share with you shortly.
</p>
</blockquote>
<p>Later in the day I spoke with my mother about a similar topic. Her laptop is slow, under-powered and heavy. When she asked if she &#8220;needed&#8221; a new laptop I had a different answer (different use case) I said, &#8220;Yes…as long as we get it soon so you have 4 days to get comfortable with it.&#8221; My mom was planning on staying with us for a week, so I had time to teach her the differences. She asked me about what my brother had said and I responded: &#8220;Life is about change.&#8221; She is a family therapist, so she just smiled. I continued:
</p>
<blockquote><p>&#8220;People really don&#8217;t like change, but they want new features and new hardware. You cannot have it both ways. Windows 8 is the way it is because of Touch. I&#8217;ll teach you the differences, which are not that big, and show you the similarities so you know how to use it the way you do now with Windows 7.&#8221;
</p>
</blockquote>
<h2>Life is about change, Suck it up!<br />
</h2>
<p>So there it is. It&#8217;s not about teaching Windows 8, it&#8217;s about teaching touch and gestures and how to be productive on a new piece of hardware. It&#8217;s about turning &#8220;How do I do what I used to do?&#8221; into &#8220;What do you want to do?&#8221; and then teaching that. We picked up a Lenovo Yoga 2-13 from Best Buy. Best Buy has an i5, 8GB, 128GBSSD configuration that is not available from Lenovo that I really like for students and moms. I have now influenced the purchase on 3 of these and everyone really likes them. (Before getting my mother&#8217;s device I checked in with my neighbor and she&#8217;s still in love with it.)
</p>
<p>What I talked about with my mom is she had to actually use the device for a while so that she could freely encounter questions, evaluate the solutions and learn. Then I followed up with:
</p>
<ul>
<li>There is no wrong way, but there are several &#8220;right&#8221; ways, so we need to find the one (or two) that works best for her.
</li>
<li>The only difference between learning, young or not so young, is practice.
</li>
<li>
<div>We will only work for an hour a day.
</div>
<ul>
<li>Day 1 – Understanding Touch
</li>
<li>Day 2 – Email
</li>
<li>Day 3 – Charms, Start Menu and Desktop
</li>
<li>Day 4 – OneNote, OneDrive and Cloud
</li>
</ul>
</li>
</ul>
<h2>Lesson One<br />
</h2>
<p><a rel="nofollow" target="_blank" href="http://windows.microsoft.com/en-US/windows-8/touch-swipe-tap-beyond">If you RTFM none of what you read here is new</a>. This is the sequence and patter that I use when I demo Windows 8. I compare it to how an iPad works so that folks have a frame of reference. You can use any comparison you like. This is written in geeky shorthand, if you don&#8217;t know what I am talking about there are tons of guides on these actions. Here goes:
</p>
<h3>Toggle Start to Desktop and Back<br />
</h3>
<p>You can use the hardware Windows Button or the new one on the taskbar (I don&#8217;t). This action provides a frame of reference to get the user &#8220;home&#8221; or &#8220;back to the desktop&#8221;.
</p>
<h3>Launch an App<br />
</h3>
<p>From Start just touch the tile, if you don&#8217;t see the app don&#8217;t freak out. What&#8217;s it called? Facebook? OK, type F-A-C and notice that the search kicks in and you can find your apps quickly. (Later, I show how to use the Find on Start feature.) Launch a couple of apps like Mail, Calendar, Weather and Internet Explorer.
</p>
<h3>The 5 Gestures<br />
</h3>
<p>OK, there are 5 gestures that I use all the time. Here is how I present them. I have several apps launched. And I say:
</p>
<ol>
<li>&#8220;If you want to switch between apps just <strong>swipe left</strong>, as if all your apps are stretched out in a line from left to right&#8221;.
</li>
<li>&#8220;When you are in an app and you would like to see a menu (or when you would normally right click on something) <strong>swipe up</strong> from the bottom.&#8221; You can swipe from the top too, but I start from the bottom because of #4.
</li>
<li>&#8220;If you want to do more with the app, like share it to email, check settings, etc. <strong>Swipe from the right</strong> to see the charms.&#8221; Here I demo settings and sharing, but don&#8217;t go deep. There is time for that later in hour 3.
</li>
<li>&#8220;If you really feel the need to close an app, <strong>swipe from the top</strong> and throw it away. But you really don&#8217;t need to close apps.&#8221;
</li>
<li>
<div>&#8220;Finally, if you want to see your running apps to pick from, <strong>swipe back and forth from the left</strong>.&#8221; I still run into longtime Windows 8 users who don&#8217;t know this gesture!
</div>
<p><img src="http://www.ableblue.com/blog/wp-content/uploads/2014/10/100114_1724_TeachingMyM1.png" alt=""/>
			</p>
</li>
</ol>
<p>There, see how easy it is? At this point I let my mom work her way through the apps, configure Weather and asked her questions like, &#8220;What&#8217;s the weather like in Las Vegas?&#8221; &#8220;Can you look up a restaurant in Las Vegas?&#8221; Let her discover how to use the gestures and apps to answer questions.
</p>
<h3>Multitasking<br />
</h3>
<p>The last thing I teach is multitasking or more correctly, split screen. Personally, this feature is what changed my opinion of the tablet (iPad) as a &#8220;consumption device&#8221; into a (Surface) &#8220;productivity device&#8221; since I can work on an email and bring up a browser at the same time.
</p>
<p>I open an email with a hyperlink and show how Windows 8 opens a split screen window. Then I point out how easy it is to change the split and make it go away when you are done. Lastly, I show how you can force the split and launch apps in split screen intentionally. Then how Windows 8 &#8220;asks&#8221; you where to show new apps.
</p>
<p><img src="http://www.ableblue.com/blog/wp-content/uploads/2014/10/100114_1724_TeachingMyM2.png" alt=""/>
	</p>
<h3>Challenges<br />
</h3>
<p>That&#8217;s it. That&#8217;s an hour with most of the time spent with my mom practicing the gestures. It wasn&#8217;t all roses though, there were moments where mom got frustrated and confused. When I saw this happening, usually accompanied by random gestures, I would ask: &#8220;What are you trying to do?&#8221; The answer was usually some form of &#8220;I want to do that thing you did a little while ago.&#8221; or &#8220;You know…um…&#8221;. Once she could articulate, &#8220;I want to go to the internet&#8221; or &#8220;I want to read my mail&#8221; once she had a clear task in her mind, the steps to get there were <strong>Start | Mail</strong> or <strong>Start | Internet</strong> and became much easier. I think this is that old fear of doing it right, getting in the way of just &#8220;getting it done&#8221;. So my process was stop, breath, tell yourself what you want to do, then do it.
</p>
<h2>One Last Tip<br />
</h2>
<p>The Yoga is a &#8220;2 in 1&#8221; device. It switches between laptop Mode and Tablet Mode. One challenge I had was the responsiveness of the touchpad. If you do a left swipe gesture on the trackpad it will task switch. Which if you know what&#8217;s happening is fine, but it got in the way for my mom. The lesson here is, change the default system settings when they present a barrier to learning or productivity. I turned off touch pad swipe gestures for her and will revisit them at Thanksgiving.
</p>
<h2>In closing, a request<br />
</h2>
<p>I&#8217;ll post a follow-up at Thanksgiving to let you know how she&#8217;s doing. If you liked this post, let me know. I am considering posting about Lesson #4 because I do these demos all the time including the OneNote, OneDrive, Cloud demo and still folks are stunned at what you can do. For me, this is everyday stuff, but I think the Cloud message is garbled and confusing when it finally gets to the consumer. So, if you&#8217;d like that, let me know.</p>
<h3>Share and Enjoy</h3>


 &bull; <a rel="nofollow" target="_blank" href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.ableblue.com%2Fblog%2Farchive%2F2014%2F10%2F01%2Fteaching-my-mom-windows-8%2F&amp;t=Teaching+My+Mom+Windows+8" title="Share this on Facebook">Facebook</a> &bull; <a rel="nofollow" target="_blank" href="http://twitter.com/home?status=Teaching+My+Mom+Windows+8%20-%20http%3A%2F%2Fwww.ableblue.com%2Fblog%2Farchive%2F2014%2F10%2F01%2Fteaching-my-mom-windows-8%2F%20" title="Tweet this !">Twitter</a> &bull; <a rel="nofollow" target="_blank" href="http://delicious.com/post?url=http%3A%2F%2Fwww.ableblue.com%2Fblog%2Farchive%2F2014%2F10%2F01%2Fteaching-my-mom-windows-8%2F&amp;title=Teaching+My+Mom+Windows+8&amp;notes=It+is+funny.+We%2C+meaning+folks+like+you+and+me+that+spend+our+days+reading%2C+writing%2C+learning+and+teaching+about+technology%2C+often+have+a+different+reaction+to+technology+based+on+who+is+going+to+use+it+or+who+we+have+to+educate.+For+example%2C+in+one" title="Post this on Delicious">Delicious</a> &bull; <a rel="nofollow" target="_blank" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http%3A%2F%2Fwww.ableblue.com%2Fblog%2Farchive%2F2014%2F10%2F01%2Fteaching-my-mom-windows-8%2F&amp;title=Teaching+My+Mom+Windows+8&amp;source=Matthew+McDermott%26%23039%3Bs+Blog+-+SharePoint%2C+Search%2C+Social%2C+Windows+Phone&amp;summary=It+is+funny.+We%2C+meaning+folks+like+you+and+me+that+spend+our+days+reading%2C+writing%2C+learning+and+teaching+about+technology%2C+often+have+a+different+reaction+to+technology+based+on+who+is+going+to+use+it+or+who+we+have+to+educate.+For+example%2C+in+one" title="Share this on LinkedIn">LinkedIn</a> &bull; <a rel="nofollow" target="_blank" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.ableblue.com%2Fblog%2Farchive%2F2014%2F10%2F01%2Fteaching-my-mom-windows-8%2F&amp;title=Teaching+My+Mom+Windows+8" title="Submit this to StumbleUpon">StumbleUpon</a> &bull; <a rel="nofollow" target="_blank" href="http://www.ableblue.com/blog/archive/2014/10/01/teaching-my-mom-windows-8/" title="Add to favorites">Add to favorites</a> &bull; <a rel="nofollow" target="_blank" href="mailto:?to=&subject=Teaching+My+Mom+Windows+8&body=It+is+funny.+We%2C+meaning+folks+like+you+and+me+that+spend+our+days+reading%2C+writing%2C+learning+and+teaching+about+technology%2C+often+have+a+different+reaction+to+technology+based+on+who+is+going+to+use+it+or+who+we+have+to+educate.+For+example%2C+in+one%20-%20http://www.ableblue.com/blog/archive/2014/10/01/teaching-my-mom-windows-8/" title="Email this">Email</a> &bull; <a rel="nofollow" target="_blank" href="http://www.ableblue.com/blog/feed/rss/" title="Subscribe to RSS">RSS</a>

<img src="http://feeds.feedburner.com/~r/MatthewMcDermott/~4/YHMDisduFhM" height="1" width="1" alt=""/>]]></content:encoded>
      </item>
      <item>
         <title>Invoke-SPORestMethod: Using the SharePoint Online REST API with PowerShell</title>
         <link>http://feedproxy.google.com/~r/AutomatingSharePoint/~3/3QpxKy_rm1k/</link>
         <description>Earlier this summer I mentioned that I’d start blogging about some of my scripts that I have in my toolbox and I guess I’m a little behind in that but I guess better late than never. I’ve had snippets of code that I could use to make REST based calls to SharePoint Online for a [...]</description>
         <guid isPermaLink="false">http://blog.falchionconsulting.com/?p=1092</guid>
         <pubDate>Mon, 18 Aug 2014 22:48:41 +0000</pubDate>
         <content:encoded><![CDATA[<p>Earlier this summer I mentioned that I’d start blogging about some of my scripts that I have in my toolbox and I guess I’m a little behind in that but I guess better late than never. I’ve had snippets of code that I could use to make REST based calls to SharePoint Online for a while, some of them were little snippets of PowerShell and some were embedded deep in my custom cmdlets or some other application that I’ve created over time. I recently stumbled across an article by Vadim Gremyachev where he provided <a rel="nofollow" target="_blank" href="http://blog.vgrem.com/2014/02/27/working-with-the-sharepoint-online-rest-service-via-powershell/">his script for making a REST call using PowerShell</a> and decided that I’d go ahead and provide my version of that same script (which I tweaked to add a couple minor parameters that Vadim included in his).</p>  <p>Before I walk through the key points of the script let me first share it with you:</p>  

 
 


<p>&#160;</p>

<p>The first thing you have to know about working with SharePoint Online REST endpoints is that you have to get connected to the service. This is done by passing your credentials (username and password) to a new instance of the <strong>Microsoft.SharePoint.Client.SharePointOnlineCredentials</strong> object. This object handles the conversion of our simple username and password to the appropriate authorization token and cookies necessary to establish the connection (and it is these additional complexities which makes it not possible for us to utilize the <strong>Invoke-RestMethod</strong> PowerShell V3 native cmdlet). Because I don’t want to have to deal with providing the username and password every time I run a command or otherwise remembering what variable I stored the credentials in I chose to utilize a global variable ($global:spoCred) which I check in the Begin block of the function and if it’s not set then I prompt for the credentials and then set the variable. I also chose to create another set of functions, <strong>Set-SPORestCredential</strong> and <strong>Clear-SPORestCredential</strong>, to make it easier to work with this variable (so you can explicitly set the variable using the Set-SPORestCredential function or clear the variable using the Clear-SPORestCredential function). Using this approach I can set my credentials just the once and then run my REST calls over and over without having to worry about reauthorizing.</p>

<p>In order to utilize the <strong>Microsoft.SharePoint.Client.SharePointOnlineCredentials</strong> object you have to either load the <strong>Microsoft.SharePoint.Client.dll</strong> and <strong>Microsoft.SharePoint.Client.Runtime.dll</strong> assemblies or you can take the approach I did which was to assume that the Microsoft SharePoint Online Cmdlets are installed and simply load the Microsoft.Online.SharePoint.PowerShell module which results in the types I need being loaded into memory. So if you don’t have the module installed then my function will throw an error stating as such.</p>

<p>From there the rest is pretty straightforward as I just use a <strong>System.Net.WebRequest</strong> object and set the appropriate variables and header values to make the request. Once I get a result back I check the expected verbosity result (a new JSON Lite feature) and use the <strong>ConvertFrom-Json</strong> cmdlet to output the results as a <strong>PSObject</strong>. Note that this is a pretty simple implementation in that I’m assuming the results that come back are a JSON object and not something like a binary stream as the result of retrieving a file or something. For a solution that is more complex and handles binary objects in the return use my cmdlet by the same name (Invoke-SPORestMethod) included with my SharePoint Online custom cmdlets download. Also, the –Metadata parameter is another simplistic approach which and doesn’t take into account some of the more complex scenarios – my custom cmdlet replaces the –Metadata parameter with a –Body parameter (though it’s aliased as Metadata) and handles a wider range of possibilities for posting data to the REST endpoint.</p>

<p>Because the SharePoint Online REST API is able to grow quickly without the need for Microsoft to post updated installs, such is the case with the CSOM library, the need to utilize this API for automating tasks using PowerShell will grow just as quickly if not more so. Because of this it is extremely valuable to have a quick and easy way to make RESTful calls without having to recreate all this plumbing every time. It is because of this that I created this script and, more specifically, why I added the equivalent yet more robust version of the script as a <a rel="nofollow" target="_blank" href="http://www.falchionconsulting.com/PowerShellViewer/Default.aspx?Version=SPO&amp;Cmdlet=Invoke-SPORestMethod">custom cmdlet</a>. So in summary, I strongly recommend you get used to using the REST API and this script and equivalent cmdlet will make it that much easier for you to do so.</p>

<p>-Gary</p>]]></content:encoded>
      </item>
      <item>
         <title>“_ULS_EXPAND_FORCED_LOGGING_MESSAGES_” Environment Variable Explained</title>
         <link>http://feedproxy.google.com/~r/AutomatingSharePoint/~3/SRtHZFBpaYE/</link>
         <description>Have you ever been looking through the SharePoint ULS logs trying to troubleshoot one issue or another and come across entries such as this: [Forced due to logging gap, Original Level: &amp;#60;TraceLevel&amp;#62;] &amp;#60;Some message&amp;#62; {0} I was recently working with a client who noticed an message like this in the ULS logs and was baffled [...]</description>
         <guid isPermaLink="false">http://blog.falchionconsulting.com/?p=1090</guid>
         <pubDate>Thu, 10 Jul 2014 21:52:07 +0000</pubDate>
         <content:encoded><![CDATA[<p>Have you ever been looking through the SharePoint ULS logs trying to troubleshoot one issue or another and come across entries such as this:</p>  <p><font face="Courier New">[Forced due to logging gap, Original Level: &lt;TraceLevel&gt;] &lt;Some message&gt; {0}</font></p>  <p>I was recently working with a client who noticed an message like this in the ULS logs and was baffled by the fact that the {0} was not being replaced with the relevant data referred to in the message text. I ‘d noticed this in the past but never bothered looking into it to figure out what was up with it so I decided to crack open Reflector and poke around a bit.</p>  <p>What I found was that there was a method, <strong>SendTraceData()</strong>, which is part of the <strong>Microsoft.SharePoint.Diagnostics.ULS</strong> class and it is within this method that the <em>[Forced due to logging gap…]</em> message is appended to the string that is to be written to the ULS logs (this happens when the time between log writes exceeds the default 50ms). Within the routine that is adding this string there is a test to see if the <strong>ExpandForcedLoggingMessages</strong> property is <strong>false</strong>, and if it is then set whatever data was provided to <strong>null</strong>, thereby clearing the relevant information that would be used in any subsequent string.Format() call to add the data to the message. Here’s a screenshot showing that code so you can see what I mean:</p>  <p><img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="private static void SendTraceData()" border="0" alt="private static void SendTraceData()" src="http://blog.falchionconsulting.com/wp-content/uploads/2014/07/image1.png" width="818" height="217"/></p>  <p>So the trick to figuring out why the {0} is not being replaced with the appropriate value is to understand how that <strong>ExpandForcedLoggingMessages</strong> property is set. I did some more digging with the Reflector analyze tool and found that in the <strong>CompleteInit()</strong> method of the same <strong>Microsoft.SharePoint.Diagnostics.ULS</strong> class there is code which sets the property based on the value of the <strong>_ULS_EXPAND_FORCED_LOGGING_MESSAGES_</strong> environment variable:</p>  <p><img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="private static unsafe void CompleteInit()" border="0" alt="private static unsafe void CompleteInit()" src="http://blog.falchionconsulting.com/wp-content/uploads/2014/07/image2.png" width="801" height="587"/></p>  <p>This variable, by default, is not set (and I can’t find one lick of documentation about it) but if we create the variable and set it to a value of <strong>true</strong> and reboot the server we will find that suddenly the values are being populated (or expanded) on that server (for this to take affect farm wide you need to do this on each server in the farm).</p>  <p>To set the variable you can either do it manually via the computer properties or you can use this simple PowerShell command:</p>  <pre><span style="color:#000000;">[</span><span style="color:#008080;">System.Environment</span><span style="color:#000000;">]::</span><span style="color:#8b4513;">SetEnvironmentVariable</span><span style="color:#000000;">(</span><span style="color:#800000;">&quot;</span><span style="color:#800000;">_ULS_EXPAND_FORCED_LOGGING_MESSAGES_</span><span style="color:#800000;">&quot;</span><span style="color:#000000;">, </span><span style="color:#800000;">&quot;</span><span style="color:#800000;">true</span><span style="color:#800000;">&quot;</span><span style="color:#000000;">, </span><span style="color:#800000;">&quot;</span><span style="color:#800000;">Machine</span><span style="color:#800000;">&quot;</span><span style="color:#000000;">)</span></pre>

<p>&#160;</p>

<p>Don’t forget to reboot the machine after you set the variable.</p>

<p>Because I didn’t want to wait for a particular event to occur to validate that this actually worked I decided to create a simple test script which called the SendTraceData() method. Because the containing class is internal I had to use some reflection to make this work but you shouldn’t need to run this code – I only include it here for completeness to show how I validated that the change worked as expected:</p>

<pre><span style="color:#800080;">$bindings</span><span style="color:#000000;"> </span><span style="color:#ff0000;">=</span><span style="color:#000000;"> @(</span><span style="color:#800000;">&quot;</span><span style="color:#800000;">InvokeMethod</span><span style="color:#800000;">&quot;</span><span style="color:#000000;">, </span><span style="color:#800000;">&quot;</span><span style="color:#800000;">NonPublic</span><span style="color:#800000;">&quot;</span><span style="color:#000000;">, </span><span style="color:#800000;">&quot;</span><span style="color:#800000;">Instance</span><span style="color:#800000;">&quot;</span><span style="color:#000000;">, </span><span style="color:#800000;">&quot;</span><span style="color:#800000;">Static</span><span style="color:#800000;">&quot;</span><span style="color:#000000;">, </span><span style="color:#800000;">&quot;</span><span style="color:#800000;">Public</span><span style="color:#800000;">&quot;</span><span style="color:#000000;">, </span><span style="color:#800000;">&quot;</span><span style="color:#800000;">GetField</span><span style="color:#800000;">&quot;</span><span style="color:#000000;">, </span><span style="color:#800000;">&quot;</span><span style="color:#800000;">GetProperty</span><span style="color:#800000;">&quot;</span><span style="color:#000000;">)
</span><span style="color:#800080;">$asm</span><span style="color:#000000;"> </span><span style="color:#ff0000;">=</span><span style="color:#000000;"> [</span><span style="color:#008080;">System.Reflection.Assembly</span><span style="color:#000000;">]::</span><span style="color:#8b4513;">LoadWithPartialName</span><span style="color:#000000;">(</span><span style="color:#800000;">&quot;</span><span style="color:#800000;">Microsoft.SharePoint</span><span style="color:#800000;">&quot;</span><span style="color:#000000;">)
</span><span style="color:#800080;">$type</span><span style="color:#000000;"> </span><span style="color:#ff0000;">=</span><span style="color:#000000;"> </span><span style="color:#800080;">$asm</span><span style="color:#000000;">.GetType(</span><span style="color:#800000;">&quot;</span><span style="color:#800000;">Microsoft.SharePoint.Diagnostics.ULS</span><span style="color:#800000;">&quot;</span><span style="color:#000000;">)
</span><span style="color:#800080;">$ulscatType</span><span style="color:#000000;"> </span><span style="color:#ff0000;">=</span><span style="color:#000000;"> </span><span style="color:#800080;">$asm</span><span style="color:#000000;">.GetType(</span><span style="color:#800000;">&quot;</span><span style="color:#800000;">Microsoft.SharePoint.Diagnostics.ULSCat</span><span style="color:#800000;">&quot;</span><span style="color:#000000;">)
</span><span style="color:#800080;">$ulscat</span><span style="color:#000000;"> </span><span style="color:#ff0000;">=</span><span style="color:#000000;"> </span><span style="color:#800080;">$ulscatType</span><span style="color:#000000;">.GetProperty(</span><span style="color:#800000;">&quot;</span><span style="color:#800000;">msoulscatUnknown</span><span style="color:#800000;">&quot;</span><span style="color:#000000;">).GetValue(</span><span style="color:#800080;">$null</span><span style="color:#000000;">, </span><span style="color:#800080;">$null</span><span style="color:#000000;">)
</span><span style="color:#800080;">$method</span><span style="color:#000000;"> </span><span style="color:#ff0000;">=</span><span style="color:#000000;"> </span><span style="color:#800080;">$type</span><span style="color:#000000;">.GetMethod(</span><span style="color:#800000;">&quot;</span><span style="color:#800000;">SendTraceData</span><span style="color:#800000;">&quot;</span><span style="color:#000000;">, </span><span style="color:#800080;">$bindings</span><span style="color:#000000;">)
</span><span style="color:#800080;">$method</span><span style="color:#000000;">.Invoke(</span><span style="color:#800080;">$null</span><span style="color:#000000;">, @(</span><span style="color:#800080;">$true</span><span style="color:#000000;">, [</span><span style="color:#008080;">System.UInt32</span><span style="color:#000000;">]</span><span style="color:#000000;">0</span><span style="color:#000000;">, </span><span style="color:#800080;">$ulscat</span><span style="color:#000000;">, </span><span style="color:#000000;">20</span><span style="color:#000000;">, </span><span style="color:#800000;">&quot;</span><span style="color:#800000;">This is test data: '{0}'.</span><span style="color:#800000;">&quot;</span><span style="color:#000000;">, @(</span><span style="color:#800000;">&quot;</span><span style="color:#800000;">hello world</span><span style="color:#800000;">&quot;</span><span style="color:#000000;">)))</span></pre>

<p>&#160;</p>

<p>If we look at the ULS logs using ULSViewer we can see our test event got created and the data was preserved:</p>

<p><img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="ULSViewer" border="0" alt="ULSViewer" src="http://blog.falchionconsulting.com/wp-content/uploads/2014/07/image3.png" width="851" height="303"/></p>

<p>And now you know how to get that {0} populated with data which may or may not be useful but I personally would rather have more data available when troubleshooting an issue and hate the idea of having possibly key information nullified.</p>

<p>Oh, and while you’re looking at the CompleteInit() method you may have noticed that there’s also a <strong>_ULS_MAX_LOGGING_GAP_IN_MILLISECONDS_</strong> environment variable and a <strong>_ULS_EXPAND_FORCED_LOGGING_CACHED_MESSAGES_</strong> environment variable. The later is similar to the one I’ve been talking about and is related to messages you see that look like this:</p>

<p><font face="Courier New">[Forced due to logging gap, cached @ &lt;Date&gt;, Original Level: &lt;TraceLevel&gt;] &lt;Some message&gt; {0}</font></p>

<p>So if you’re going to enable the one you should probably enable the other as well.</p>

<p>The <strong>_ULS_MAX_LOGGING_GAP_IN_MILLISECONDS_</strong> environment variable controls how big, in milliseconds, the maximum logging gap should be. By default the value is 50 milliseconds. I would recommend <em>not</em> changing this value but if you want events written more frequently to the ULS logs then you can lower the value or likewise if you want the events written less frequently you can bump up the value (note that you won’t lose events, it just affects how often SharePoint is writing to the file).</p>

<p>I hope this information helps you with your troubleshooting adventures!</p>

<p>-Gary</p>]]></content:encoded>
      </item>
      <item>
         <title>Get-SPControlElement</title>
         <link>http://feedproxy.google.com/~r/AutomatingSharePoint/~3/qtYQb4uCvTc/</link>
         <description>I haven’t really done much blogging lately so I figured I’d try and get back into it by sharing some scripts from my collection. Over the years I’ve created tons and tons of little scripts here and there to help me solve one problem or another – whether it be some upgrade related thing or [...]</description>
         <guid isPermaLink="false">http://blog.falchionconsulting.com/?p=1085</guid>
         <pubDate>Tue, 08 Jul 2014 23:00:17 +0000</pubDate>
         <content:encoded><![CDATA[<p>I haven’t really done much blogging lately so I figured I’d try and get back into it by sharing some scripts from my collection. Over the years I’ve created tons and tons of little scripts here and there to help me solve one problem or another – whether it be some upgrade related thing or a content or build migration or just some random snippet to help me figure out what the heck is going on with my code or with SharePoint in general – I’ve got a ton of them just scattered all over the place. So at various points this summer I’m going to *try* and just grab an arbitrary one here or there and clean it up some and post it so others can benefit (and also to force me to clean up some of my crap).</p>  <p>The script that I want to share today I created a couple of years ago to help me troubleshoot an issue I was having with a custom delegate control registration. The problem ended up being resolved easily enough as it was simply an issue of scope – the control was registered at one scope but expected at another. Of course, at the time this didn’t really make sense as the scope that should have been expected was what I was providing, turns out that there’s what I would characterize as some bad design decisions within the SharePoint product so what I expected wasn’t what SharePoint wanted. Anyways, I digress – to help me isolate the issue I threw together a quick little script which would dump out the control registrations so that I could validate that my control was in fact being registered and being registered at the scope I expected. I could also use the script to see what was the “top” registration, or specifically which control would actually win and get its code called and rendered on the page, and finally, I could use this to see what other controls I was boxing out for the win (or loss). The script below is a much cleaned up version of my quick and dirty hack but it does the same thing, just with comments and a little more flexibility with the use of the <strong>SPWebPipeBind</strong> type. Note that to do the job you have to use an internal method of the <strong>Microsoft.SharePoint.SPElementProvider</strong> class but as it’s just a simple query I’m personally not concerned about the use of the reflection to make it work.</p>  <p>So with that, here’s my little <strong>Get-SPControlElement</strong> function:</p>  <p style="padding-bottom:0px;line-height:normal;margin:0in 0in 0pt;padding-left:0px;padding-right:0px;background:white;padding-top:0px;" class="MsoNormal"><span style=""><font face="Lucida Console"><font style="font-size:9pt;" color="#006400">&lt;#</font></font></span></p>  <p style="padding-bottom:0px;line-height:normal;margin:0in 0in 0pt;padding-left:0px;padding-right:0px;background:white;padding-top:0px;" class="MsoNormal"><span style=""><font face="Lucida Console"><font style="font-size:9pt;" color="#006400">.Synopsis</font></font></span></p>  <p style="padding-bottom:0px;line-height:normal;margin:0in 0in 0pt;padding-left:0px;padding-right:0px;background:white;padding-top:0px;" class="MsoNormal"><span style=""><font face="Lucida Console"><font color="#006400"><span style=""><font style="font-size:9pt;">&#160;&#160; </font></span><font style="font-size:9pt;">Retrieves the control elements registered for a given delegate control ID.</font></font></font></span></p>  <p style="padding-bottom:0px;line-height:normal;margin:0in 0in 0pt;padding-left:0px;padding-right:0px;background:white;padding-top:0px;" class="MsoNormal"><span style=""><font face="Lucida Console"><font style="font-size:9pt;" color="#006400">.DESCRIPTION</font></font></span></p>  <p style="padding-bottom:0px;line-height:normal;margin:0in 0in 0pt;padding-left:0px;padding-right:0px;background:white;padding-top:0px;" class="MsoNormal"><span style=""><font face="Lucida Console"><font color="#006400"><span style=""><font style="font-size:9pt;">&#160;&#160; </font></span><font style="font-size:9pt;">Retrieves the control elements registered for a given delegate control ID.</font></font></font></span></p>  <p style="padding-bottom:0px;line-height:normal;margin:0in 0in 0pt;padding-left:0px;padding-right:0px;background:white;padding-top:0px;" class="MsoNormal"><span style=""><font face="Lucida Console"><font style="font-size:9pt;" color="#006400">.EXAMPLE</font></font></span></p>  <p style="padding-bottom:0px;line-height:normal;margin:0in 0in 0pt;padding-left:0px;padding-right:0px;background:white;padding-top:0px;" class="MsoNormal"><span style=""><font face="Lucida Console"><font color="#006400"><span style=""><font style="font-size:9pt;">&#160;&#160; </font></span><font style="font-size:9pt;">Get-SPControlElement -Web &quot;http://demo&quot; -ControlId &quot;QuickLaunchDataSource&quot; -TopOnly</font></font></font></span></p>  <p style="padding-bottom:0px;line-height:normal;margin:0in 0in 0pt;padding-left:0px;padding-right:0px;background:white;padding-top:0px;" class="MsoNormal"><span style=""><font face="Lucida Console"><font style="font-size:9pt;" color="#006400">.EXAMPLE</font></font></span></p>  <p style="padding-bottom:0px;line-height:normal;margin:0in 0in 0pt;padding-left:0px;padding-right:0px;background:white;padding-top:0px;" class="MsoNormal"><span style=""><font face="Lucida Console"><font color="#006400"><span style=""><font style="font-size:9pt;">&#160;&#160; </font></span><font style="font-size:9pt;">Get-SPControlElement -Web &quot;http://demo&quot; -ControlId &quot;QuickLaunchDataSource&quot; -Scope &quot;Web&quot;</font></font></font></span></p>  <p style="padding-bottom:0px;line-height:normal;margin:0in 0in 0pt;padding-left:0px;padding-right:0px;background:white;padding-top:0px;" class="MsoNormal"><span style=""><font face="Lucida Console"><font style="font-size:9pt;" color="#006400">#&gt;</font></font></span><span style=""></span></p>  <p style="padding-bottom:0px;line-height:normal;margin:0in 0in 0pt;padding-left:0px;padding-right:0px;background:white;padding-top:0px;" class="MsoNormal"><font face="Lucida Console"><span style=""><font color="#00008b"><font style="font-size:9pt;">function</font></font></span><span style=""><font style="font-size:9pt;"><font color="#000000"> </font><span style=""><font color="#8a2be2">Get-SPControlElement</font></span><font color="#000000"> {</font></font></span></font></p>  <p style="padding-bottom:0px;line-height:normal;margin:0in 0in 0pt;padding-left:0px;padding-right:0px;background:white;padding-top:0px;" class="MsoNormal"><span style=""><font face="Lucida Console"><span style=""><font color="#000000"><font style="font-size:9pt;">&#160;&#160;&#160; </font></font></span><font style="font-size:9pt;"><span style=""><font color="#a9a9a9">[</font></span><span style=""><font color="#00bfff">CmdletBinding</font></span><font color="#000000">()</font></font><span style=""><font style="font-size:9pt;" color="#a9a9a9">]</font></span></font></span></p>  <p style="padding-bottom:0px;line-height:normal;margin:0in 0in 0pt;padding-left:0px;padding-right:0px;background:white;padding-top:0px;" class="MsoNormal"><span style=""><font face="Lucida Console"><span style=""><font color="#000000"><font style="font-size:9pt;">&#160;&#160;&#160; </font></font></span><font style="font-size:9pt;"><span style=""><font color="#00008b">Param</font></span><font color="#000000"> (</font></font></font></span></p>  <p style="padding-bottom:0px;line-height:normal;margin:0in 0in 0pt;padding-left:0px;padding-right:0px;background:white;padding-top:0px;" class="MsoNormal"><span style=""><font face="Lucida Console"><span style=""><font color="#000000"><font style="font-size:9pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font></font></span><span style=""><font style="font-size:9pt;" color="#006400"># Specify the URL of an existing Site or an existing SPWeb object.</font></span></font></span></p>  <p style="padding-bottom:0px;line-height:normal;margin:0in 0in 0pt;padding-left:0px;padding-right:0px;background:white;padding-top:0px;" class="MsoNormal"><span style=""><font face="Lucida Console"><span style=""><font color="#000000"><font style="font-size:9pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font></font></span><font style="font-size:9pt;"><span style=""><font color="#a9a9a9">[</font></span><span style=""><font color="#00bfff">Parameter</font></span><font color="#000000">(Mandatory </font><span style=""><font color="#a9a9a9">=</font></span><font color="#000000"> </font><span style=""><font color="#ff4500">$true</font></span></font><span style=""><font style="font-size:9pt;" color="#a9a9a9">,</font></span></font></span></p>  <p style="padding-bottom:0px;line-height:normal;margin:0in 0in 0pt;padding-left:0px;padding-right:0px;background:white;padding-top:0px;" class="MsoNormal"><span style=""><font face="Lucida Console"><font color="#000000"><span style=""><font style="font-size:9pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font></span><font style="font-size:9pt;">ValueFromPipelineByPropertyName </font></font><font style="font-size:9pt;"><span style=""><font color="#a9a9a9">=</font></span><font color="#000000"> </font><span style=""><font color="#ff4500">$true</font></span></font><span style=""><font style="font-size:9pt;" color="#a9a9a9">,</font></span></font></span></p>  <p style="padding-bottom:0px;line-height:normal;margin:0in 0in 0pt;padding-left:0px;padding-right:0px;background:white;padding-top:0px;" class="MsoNormal"><span style=""><font face="Lucida Console"><font color="#000000"><span style=""><font style="font-size:9pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font></span><font style="font-size:9pt;">ValueFromPipeline </font></font><font style="font-size:9pt;"><span style=""><font color="#a9a9a9">=</font></span><font color="#000000"> </font><span style=""><font color="#ff4500">$true</font></span></font><span style=""><font style="font-size:9pt;" color="#a9a9a9">,</font></span></font></span></p>  <p style="padding-bottom:0px;line-height:normal;margin:0in 0in 0pt;padding-left:0px;padding-right:0px;background:white;padding-top:0px;" class="MsoNormal"><span style=""><font face="Lucida Console"><font color="#000000"><span style=""><font style="font-size:9pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font></span><font style="font-size:9pt;">Position </font></font><font style="font-size:9pt;"><span style=""><font color="#a9a9a9">=</font></span><font color="#000000"> </font><span style=""><font color="#800080">0</font></span><font color="#000000">)</font></font><span style=""><font style="font-size:9pt;" color="#a9a9a9">]</font></span></font></span></p>  <p style="padding-bottom:0px;line-height:normal;margin:0in 0in 0pt;padding-left:0px;padding-right:0px;background:white;padding-top:0px;" class="MsoNormal"><span style=""><font face="Lucida Console"><font color="#000000"><span style=""><font style="font-size:9pt;">&#160;&#160; </font></span><font style="font-size:9pt;"><span style="">&#160;&#160;&#160;&#160; </span></font></font><font style="font-size:9pt;"><span style=""><font color="#a9a9a9">[</font></span><span style=""><font color="#008080">Microsoft.SharePoint.PowerShell.SPWebPipeBind</font></span></font><span style=""><font style="font-size:9pt;" color="#a9a9a9">]</font></span></font></span></p>  <p style="padding-bottom:0px;line-height:normal;margin:0in 0in 0pt;padding-left:0px;padding-right:0px;background:white;padding-top:0px;" class="MsoNormal"><span style=""><font face="Lucida Console"><span style=""><font color="#000000"><font style="font-size:9pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font></font></span><font style="font-size:9pt;"><span style=""><font color="#ff4500">$Web</font></span></font><span style=""><font style="font-size:9pt;" color="#a9a9a9">,</font></span></font></span></p>  <p style="padding-bottom:0px;line-height:normal;margin:0in 0in 0pt;padding-left:0px;padding-right:0px;background:white;padding-top:0px;" class="MsoNormal"><span style=""><font face="Lucida Console"><font style="font-size:9pt;" color="#000000">&#160;</font></font></span></p>  <p style="padding-bottom:0px;line-height:normal;margin:0in 0in 0pt;padding-left:0px;padding-right:0px;background:white;padding-top:0px;" class="MsoNormal"><span style=""><font face="Lucida Console"><span style=""><font color="#000000"><font style="font-size:9pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font></font></span><span style=""><font style="font-size:9pt;" color="#006400"># The ID of the delegate control to return instances of.</font></span></font></span></p>  <p style="padding-bottom:0px;line-height:normal;margin:0in 0in 0pt;padding-left:0px;padding-right:0px;background:white;padding-top:0px;" class="MsoNormal"><span style=""><font face="Lucida Console"><span style=""><font color="#000000"><font style="font-size:9pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font></font></span><font style="font-size:9pt;"><span style=""><font color="#a9a9a9">[</font></span><span style=""><font color="#00bfff">Parameter</font></span><font color="#000000">(Mandatory </font><span style=""><font color="#a9a9a9">=</font></span><font color="#000000"> </font><span style=""><font color="#ff4500">$true</font></span></font><span style=""><font style="font-size:9pt;" color="#a9a9a9">,</font></span></font></span></p>  <p style="padding-bottom:0px;line-height:normal;margin:0in 0in 0pt;padding-left:0px;padding-right:0px;background:white;padding-top:0px;" class="MsoNormal"><span style=""><font face="Lucida Console"><font color="#000000"><span style=""><font style="font-size:9pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font></span><font style="font-size:9pt;">ValueFromPipelineByPropertyName </font></font><font style="font-size:9pt;"><span style=""><font color="#a9a9a9">=</font></span><font color="#000000"> </font><span style=""><font color="#ff4500">$true</font></span></font><span style=""><font style="font-size:9pt;" color="#a9a9a9">,</font></span></font></span></p>  <p style="padding-bottom:0px;line-height:normal;margin:0in 0in 0pt;padding-left:0px;padding-right:0px;background:white;padding-top:0px;" class="MsoNormal"><span style=""><font face="Lucida Console"><font color="#000000"><span style=""><font style="font-size:9pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font></span><font style="font-size:9pt;">ValueFromPipeline </font></font><font style="font-size:9pt;"><span style=""><font color="#a9a9a9">=</font></span><font color="#000000"> </font><span style=""><font color="#ff4500">$false</font></span></font><span style=""><font style="font-size:9pt;" color="#a9a9a9">,</font></span></font></span></p>  <p style="padding-bottom:0px;line-height:normal;margin:0in 0in 0pt;padding-left:0px;padding-right:0px;background:white;padding-top:0px;" class="MsoNormal"><span style=""><font face="Lucida Console"><font color="#000000"><span style=""><font style="font-size:9pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font></span><font style="font-size:9pt;">Position </font></font><font style="font-size:9pt;"><span style=""><font color="#a9a9a9">=</font></span><font color="#000000"> </font><span style=""><font color="#800080">1</font></span><font color="#000000">)</font></font><span style=""><font style="font-size:9pt;" color="#a9a9a9">]</font></span></font></span></p>  <p style="padding-bottom:0px;line-height:normal;margin:0in 0in 0pt;padding-left:0px;padding-right:0px;background:white;padding-top:0px;" class="MsoNormal"><span style=""><font face="Lucida Console"><span style=""><font color="#000000"><font style="font-size:9pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font></font></span><font style="font-size:9pt;"><span style=""><font color="#a9a9a9">[</font></span><span style=""><font color="#008080">string</font></span></font><span style=""><font style="font-size:9pt;" color="#a9a9a9">]</font></span></font></span></p>  <p style="padding-bottom:0px;line-height:normal;margin:0in 0in 0pt;padding-left:0px;padding-right:0px;background:white;padding-top:0px;" class="MsoNormal"><span style=""><font face="Lucida Console"><span style=""><font color="#000000"><font style="font-size:9pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font></font></span><font style="font-size:9pt;"><span style=""><font color="#ff4500">$ControlId</font></span></font><span style=""><font style="font-size:9pt;" color="#a9a9a9">,</font></span></font></span></p>  <p style="padding-bottom:0px;line-height:normal;margin:0in 0in 0pt;padding-left:0px;padding-right:0px;background:white;padding-top:0px;" class="MsoNormal"><span style=""><font face="Lucida Console"><font style="font-size:9pt;" color="#000000">&#160;</font></font></span></p>  <p style="padding-bottom:0px;line-height:normal;margin:0in 0in 0pt;padding-left:0px;padding-right:0px;background:white;padding-top:0px;" class="MsoNormal"><span style=""><font face="Lucida Console"><span style=""><font color="#000000"><font style="font-size:9pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font></font></span><span style=""><font style="font-size:9pt;" color="#006400"># If specified, query for the top element only. If not specified, show all controls registered for the control ID.</font></span></font></span></p>  <p style="padding-bottom:0px;line-height:normal;margin:0in 0in 0pt;padding-left:0px;padding-right:0px;background:white;padding-top:0px;" class="MsoNormal"><span style=""><font face="Lucida Console"><span style=""><font color="#000000"><font style="font-size:9pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font></font></span><font style="font-size:9pt;"><span style=""><font color="#a9a9a9">[</font></span><span style=""><font color="#00bfff">Parameter</font></span><font color="#000000">(Mandatory </font><span style=""><font color="#a9a9a9">=</font></span><font color="#000000"> </font><span style=""><font color="#ff4500">$false</font></span></font><span style=""><font style="font-size:9pt;" color="#a9a9a9">,</font></span></font></span></p>  <p style="padding-bottom:0px;line-height:normal;margin:0in 0in 0pt;padding-left:0px;padding-right:0px;background:white;padding-top:0px;" class="MsoNormal"><span style=""><font face="Lucida Console"><font color="#000000"><span style=""><font style="font-size:9pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font></span><font style="font-size:9pt;">Position </font></font><font style="font-size:9pt;"><span style=""><font color="#a9a9a9">=</font></span><font color="#000000"> </font><span style=""><font color="#800080">2</font></span><font color="#000000">)</font></font><span style=""><font style="font-size:9pt;" color="#a9a9a9">]</font></span></font></span></p>  <p style="padding-bottom:0px;line-height:normal;margin:0in 0in 0pt;padding-left:0px;padding-right:0px;background:white;padding-top:0px;" class="MsoNormal"><span style=""><font face="Lucida Console"><span style=""><font color="#000000"><font style="font-size:9pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font></font></span><font style="font-size:9pt;"><span style=""><font color="#a9a9a9">[</font></span><span style=""><font color="#008080">Switch</font></span></font><span style=""><font style="font-size:9pt;" color="#a9a9a9">]</font></span></font></span></p>  <p style="padding-bottom:0px;line-height:normal;margin:0in 0in 0pt;padding-left:0px;padding-right:0px;background:white;padding-top:0px;" class="MsoNormal"><span style=""><font face="Lucida Console"><span style=""><font color="#000000"><font style="font-size:9pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font></font></span><font style="font-size:9pt;"><span style=""><font color="#ff4500">$TopOnly</font></span></font><span style=""><font style="font-size:9pt;" color="#a9a9a9">,</font></span></font></span></p>  <p style="padding-bottom:0px;line-height:normal;margin:0in 0in 0pt;padding-left:0px;padding-right:0px;background:white;padding-top:0px;" class="MsoNormal"><span style=""><font face="Lucida Console"><font style="font-size:9pt;" color="#000000">&#160;</font></font></span></p>  <p style="padding-bottom:0px;line-height:normal;margin:0in 0in 0pt;padding-left:0px;padding-right:0px;background:white;padding-top:0px;" class="MsoNormal"><span style=""><font face="Lucida Console"><span style=""><font color="#000000"><font style="font-size:9pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font></font></span><span style=""><font style="font-size:9pt;" color="#006400"># The scope to search for. Valid values are &quot;Farm&quot;, &quot;WebApplication&quot;, &quot;Site&quot;, and &quot;Web&quot;. To show controls registered at all scopes omit the parameter or pass in a $null value.</font></span></font></span></p>  <p style="padding-bottom:0px;line-height:normal;margin:0in 0in 0pt;padding-left:0px;padding-right:0px;background:white;padding-top:0px;" class="MsoNormal"><span style=""><font face="Lucida Console"><span style=""><font color="#000000"><font style="font-size:9pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font></font></span><font style="font-size:9pt;"><span style=""><font color="#a9a9a9">[</font></span><span style=""><font color="#00bfff">Parameter</font></span><font color="#000000">(Mandatory </font><span style=""><font color="#a9a9a9">=</font></span><font color="#000000"> </font><span style=""><font color="#ff4500">$false</font></span></font><span style=""><font style="font-size:9pt;" color="#a9a9a9">,</font></span></font></span></p>  <p style="padding-bottom:0px;line-height:normal;margin:0in 0in 0pt;padding-left:0px;padding-right:0px;background:white;padding-top:0px;" class="MsoNormal"><span style=""><font face="Lucida Console"><font color="#000000"><span style=""><font style="font-size:9pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font></span><font style="font-size:9pt;">Position </font></font><font style="font-size:9pt;"><span style=""><font color="#a9a9a9">=</font></span><font color="#000000"> </font><span style=""><font color="#800080">3</font></span><font color="#000000">)</font></font><span style=""><font style="font-size:9pt;" color="#a9a9a9">]</font></span></font></span></p>  <p style="padding-bottom:0px;line-height:normal;margin:0in 0in 0pt;padding-left:0px;padding-right:0px;background:white;padding-top:0px;" class="MsoNormal"><span style=""><font face="Lucida Console"><span style=""><font color="#000000"><font style="font-size:9pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font></font></span><font style="font-size:9pt;"><span style=""><font color="#a9a9a9">[</font></span><span style=""><font color="#008080">string</font></span></font><span style=""><font style="font-size:9pt;" color="#a9a9a9">]</font></span></font></span></p>  <p style="padding-bottom:0px;line-height:normal;margin:0in 0in 0pt;padding-left:0px;padding-right:0px;background:white;padding-top:0px;" class="MsoNormal"><span style=""><font face="Lucida Console"><font color="#000000"><span style=""><font style="font-size:9pt;">&#160;</font></span><font style="font-size:9pt;"><span style="">&#160;&#160;&#160;&#160;&#160;&#160; </span></font></font><span style=""><font style="font-size:9pt;" color="#ff4500">$Scope</font></span></font></span></p>  <p style="padding-bottom:0px;line-height:normal;margin:0in 0in 0pt;padding-left:0px;padding-right:0px;background:white;padding-top:0px;" class="MsoNormal"><span style=""><font face="Lucida Console"><font color="#000000"><span style=""><font style="font-size:9pt;">&#160;&#160;&#160; </font></span><font style="font-size:9pt;">)</font></font></font></span></p>  <p style="padding-bottom:0px;line-height:normal;margin:0in 0in 0pt;padding-left:0px;padding-right:0px;background:white;padding-top:0px;" class="MsoNormal"><span style=""><font face="Lucida Console"><font style="font-size:9pt;" color="#000000">&#160;</font></font></span></p>  <p style="padding-bottom:0px;line-height:normal;margin:0in 0in 0pt;padding-left:0px;padding-right:0px;background:white;padding-top:0px;" class="MsoNormal"><span style=""><font face="Lucida Console"><span style=""><font color="#000000"><font style="font-size:9pt;">&#160;&#160;&#160; </font></font></span><font style="font-size:9pt;"><span style=""><font color="#00008b">Begin</font></span><font color="#000000"> {</font></font></font></span></p>  <p style="padding-bottom:0px;line-height:normal;margin:0in 0in 0pt;padding-left:0px;padding-right:0px;background:white;padding-top:0px;" class="MsoNormal"><span style=""><font face="Lucida Console"><span style=""><font color="#000000"><font style="font-size:9pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font></font></span><font style="font-size:9pt;"><span style=""><font color="#ff4500">$bindings</font></span><font color="#000000"> </font><span style=""><font color="#a9a9a9">=</font></span><font color="#000000"> @(</font><span style=""><font color="#8b0000">&quot;InvokeMethod&quot;</font></span><span style=""><font color="#a9a9a9">,</font></span><font color="#000000"> </font><span style=""><font color="#8b0000">&quot;NonPublic&quot;</font></span><span style=""><font color="#a9a9a9">,</font></span><font color="#000000"> </font><span style=""><font color="#8b0000">&quot;Instance&quot;</font></span><span style=""><font color="#a9a9a9">,</font></span><font color="#000000"> </font><span style=""><font color="#8b0000">&quot;CreateInstance&quot;</font></span><span style=""><font color="#a9a9a9">,</font></span><font color="#000000"> </font><span style=""><font color="#8b0000">&quot;Public&quot;</font></span><font color="#000000">)</font></font></font></span></p>  <p style="padding-bottom:0px;line-height:normal;margin:0in 0in 0pt;padding-left:0px;padding-right:0px;background:white;padding-top:0px;" class="MsoNormal"><span style=""><font face="Lucida Console"><span style=""><font face="Lucida Console"><span style=""><font color="#000000"><font style="font-size:9pt;"></font></font></span></font></span><font style="font-size:9pt;"><span style=""><font color="#ff4500">&#160;&#160;&#160;&#160;&#160;&#160;&#160; $asm</font></span><font color="#000000"> </font><span style=""><font color="#a9a9a9">=</font></span><font color="#000000"> </font><span style=""><font color="#a9a9a9">[</font></span><span style=""><font color="#008080">System.Reflection.Assembly</font></span><span style=""><font color="#a9a9a9">]::</font></span><font color="#000000">LoadWithPartialName(</font><span style=""><font color="#8b0000">&quot;Microsoft.SharePoint&quot;</font></span><font color="#000000">)</font></font></font></span></p>  <p style="padding-bottom:0px;line-height:normal;margin:0in 0in 0pt;padding-left:0px;padding-right:0px;background:white;padding-top:0px;" class="MsoNormal"><span style=""><font face="Lucida Console"><font style="font-size:9pt;"><span style=""><font color="#ff4500">&#160;&#160;&#160;&#160;&#160;&#160;&#160; $type</font></span><font color="#000000"> </font><span style=""><font color="#a9a9a9">=</font></span><font color="#000000"> </font><span style=""><font color="#ff4500">$asm</font></span><span style=""><font color="#a9a9a9">.</font></span><font color="#000000">GetType(</font><span style=""><font color="#8b0000">&quot;Microsoft.SharePoint.SPElementProvider&quot;</font></span><font color="#000000">)</font></font></font></span></p>  <p style="padding-bottom:0px;line-height:normal;margin:0in 0in 0pt;padding-left:0px;padding-right:0px;background:white;padding-top:0px;" class="MsoNormal"><span style=""><font face="Lucida Console"><font style="font-size:9pt;"><span style=""><font color="#ff4500">&#160;&#160;&#160;&#160;&#160;&#160;&#160; $constructor</font></span><font color="#000000"> </font><span style=""><font color="#a9a9a9">=</font></span><font color="#000000"> </font><span style=""><font color="#ff4500">$type</font></span><span style=""><font color="#a9a9a9">.</font></span><font color="#000000">GetConstructor(</font><span style=""><font color="#ff4500">$bindings</font></span><span style=""><font color="#a9a9a9">,</font></span><font color="#000000"> </font><span style=""><font color="#ff4500">$null</font></span><span style=""><font color="#a9a9a9">,</font></span><font color="#000000"> @()</font><span style=""><font color="#a9a9a9">,</font></span><font color="#000000"> </font><span style=""><font color="#ff4500">$null</font></span><font color="#000000">)</font></font></font></span></p>  <p style="padding-bottom:0px;line-height:normal;margin:0in 0in 0pt;padding-left:0px;padding-right:0px;background:white;padding-top:0px;" class="MsoNormal"><span style=""><font face="Lucida Console"><font style="font-size:9pt;"><span style=""><font color="#ff4500">&#160;&#160;&#160;&#160;&#160;&#160;&#160; $provider</font></span><font color="#000000"> </font><span style=""><font color="#a9a9a9">=</font></span><font color="#000000"> </font><span style=""><font color="#ff4500">$constructor</font></span><span style=""><font color="#a9a9a9">.</font></span><font color="#000000">Invoke(@())</font></font></font></span></p>  <p style="padding-bottom:0px;line-height:normal;margin:0in 0in 0pt;padding-left:0px;padding-right:0px;background:white;padding-top:0px;" class="MsoNormal"><span style=""><font face="Lucida Console"><font color="#000000"><span style=""><font style="font-size:9pt;">&#160;&#160;&#160; </font></span><font style="font-size:9pt;">}</font></font></font></span></p>  <p style="padding-bottom:0px;line-height:normal;margin:0in 0in 0pt;padding-left:0px;padding-right:0px;background:white;padding-top:0px;" class="MsoNormal"><span style=""><font face="Lucida Console"><span style=""><font color="#000000"><font style="font-size:9pt;">&#160;&#160;&#160; </font></font></span><font style="font-size:9pt;"><span style=""><font color="#00008b">Process</font></span><font color="#000000"> {</font></font></font></span></p>  <p style="padding-bottom:0px;line-height:normal;margin:0in 0in 0pt;padding-left:0px;padding-right:0px;background:white;padding-top:0px;" class="MsoNormal"><span style=""><font face="Lucida Console"><span style=""><font color="#000000"><font style="font-size:9pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font></font></span><font style="font-size:9pt;"><span style=""><font color="#ff4500">$spWeb</font></span><font color="#000000"> </font><span style=""><font color="#a9a9a9">=</font></span><font color="#000000"> </font><span style=""><font color="#ff4500">$Web</font></span><span style=""><font color="#a9a9a9">.</font></span><font color="#000000">Read()</font></font></font></span></p>  <p style="padding-bottom:0px;line-height:normal;margin:0in 0in 0pt;padding-left:0px;padding-right:0px;background:white;padding-top:0px;" class="MsoNormal"><span style=""><font face="Lucida Console"><span style=""><font color="#000000"><font style="font-size:9pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font></font></span><font style="font-size:9pt;"><span style=""><font color="#00008b">if</font></span><font color="#000000"> (</font><span style=""><font color="#ff4500">$TopOnly</font></span><font color="#000000">) {</font></font></font></span></p>  <p style="padding-bottom:0px;line-height:normal;margin:0in 0in 0pt;padding-left:0px;padding-right:0px;background:white;padding-top:0px;" class="MsoNormal"><span style=""><font face="Lucida Console"><font color="#000000"><span style=""><font style="font-size:9pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font></span></font><font style="font-size:9pt;"><span style=""><font color="#ff4500">$method</font></span><font color="#000000"> </font><span style=""><font color="#a9a9a9">=</font></span><font color="#000000"> </font><span style=""><font color="#ff4500">$type</font></span><span style=""><font color="#a9a9a9">.</font></span><font color="#000000">GetMethod(</font><span style=""><font color="#8b0000">&quot;QueryForTopControlElement&quot;</font></span><span style=""><font color="#a9a9a9">,</font></span><font color="#000000"> </font><span style=""><font color="#ff4500">$bindings</font></span><font color="#000000">)</font></font></font></span></p>  <p style="padding-bottom:0px;line-height:normal;margin:0in 0in 0pt;padding-left:0px;padding-right:0px;background:white;padding-top:0px;" class="MsoNormal"><span style=""><font face="Lucida Console"><font color="#000000"><font style="font-size:9pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160; } </font></font><font style="font-size:9pt;"><span style=""><font color="#00008b">else</font></span><font color="#000000"> {</font></font></font></span></p>  <p style="padding-bottom:0px;line-height:normal;margin:0in 0in 0pt;padding-left:0px;padding-right:0px;background:white;padding-top:0px;" class="MsoNormal"><span style=""><font face="Lucida Console"><font color="#000000"><span style=""><font style="font-size:9pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font></span></font><font style="font-size:9pt;"><span style=""><font color="#ff4500">$method</font></span><font color="#000000"> </font><span style=""><font color="#a9a9a9">=</font></span><font color="#000000"> </font><span style=""><font color="#ff4500">$type</font></span><span style=""><font color="#a9a9a9">.</font></span><font color="#000000">GetMethod(</font><span style=""><font color="#8b0000">&quot;QueryForControlElements&quot;</font></span><span style=""><font color="#a9a9a9">,</font></span><font color="#000000"> </font><span style=""><font color="#ff4500">$bindings</font></span><font color="#000000">)</font></font></font></span></p>  <p style="padding-bottom:0px;line-height:normal;margin:0in 0in 0pt;padding-left:0px;padding-right:0px;background:white;padding-top:0px;" class="MsoNormal"><span style=""><font face="Lucida Console"><font color="#000000"><span style=""><font style="font-size:9pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font></span><font style="font-size:9pt;">}</font></font></font></span></p>  <p style="padding-bottom:0px;line-height:normal;margin:0in 0in 0pt;padding-left:0px;padding-right:0px;background:white;padding-top:0px;" class="MsoNormal"><span style=""><font face="Lucida Console"><font style="font-size:9pt;"><span style=""><font color="#ff4500">&#160;&#160;&#160;&#160;&#160;&#160;&#160; $method</font></span><span style=""><font color="#a9a9a9">.</font></span><font color="#000000">Invoke(</font><span style=""><font color="#ff4500">$provider</font></span><span style=""><font color="#a9a9a9">,</font></span><font color="#000000"> @(</font><span style=""><font color="#a9a9a9">[</font></span><span style=""><font color="#008080">Microsoft.SharePoint.SPWeb</font></span><span style=""><font color="#a9a9a9">]</font></span><span style=""><font color="#ff4500">$spWeb</font></span><span style=""><font color="#a9a9a9">,</font></span><font color="#000000"> </font><span style=""><font color="#ff4500">$Scope</font></span><span style=""><font color="#a9a9a9">,</font></span><font color="#000000"> </font><span style=""><font color="#ff4500">$ControlId</font></span><font color="#000000">))</font></font></font></span></p>  <p style="padding-bottom:0px;line-height:normal;margin:0in 0in 0pt;padding-left:0px;padding-right:0px;background:white;padding-top:0px;" class="MsoNormal"><span style=""><font face="Lucida Console"><span style=""><font color="#000000"><font style="font-size:9pt;">&#160;&#160;&#160;&#160;&#160;&#160;&#160; </font></font></span><font style="font-size:9pt;"><span style=""><font color="#ff4500">$spWeb</font></span><span style=""><font color="#a9a9a9">.</font></span><font color="#000000">Dispose()</font></font></font></span></p>  <p style="padding-bottom:0px;line-height:normal;margin:0in 0in 0pt;padding-left:0px;padding-right:0px;background:white;padding-top:0px;" class="MsoNormal"><span style=""><font face="Lucida Console"><font color="#000000"><span style=""><font style="font-size:9pt;">&#160;&#160;&#160; </font></span><font style="font-size:9pt;">}</font></font></font></span></p>  <p style="padding-bottom:0px;line-height:normal;margin:0in 0in 0pt;padding-left:0px;padding-right:0px;background:white;padding-top:0px;" class="MsoNormal"><span style=""><font face="Lucida Console"><span style=""><font color="#000000"><font style="font-size:9pt;">&#160;&#160;&#160; </font></font></span><font style="font-size:9pt;"><span style=""><font color="#00008b">End</font></span><font color="#000000"> {</font></font></font></span></p>  <p style="padding-bottom:0px;line-height:normal;margin:0in 0in 0pt;padding-left:0px;padding-right:0px;background:white;padding-top:0px;" class="MsoNormal"><span style=""><font face="Lucida Console"><font color="#000000"><span style=""><font style="font-size:9pt;">&#160;&#160;&#160; </font></span><font style="font-size:9pt;">}</font></font></font></span></p>  <p style="padding-bottom:0px;line-height:normal;margin:0in 0in 0pt;padding-left:0px;padding-right:0px;background:white;padding-top:0px;" class="MsoNormal"><span style=""><font face="Lucida Console"><font style="font-size:9pt;" color="#000000">}</font></font></span></p>  <p style="padding-bottom:0px;line-height:normal;margin:0in 0in 0pt;padding-left:0px;padding-right:0px;background:white;padding-top:0px;" class="MsoNormal">&#160;</p>  <p style="padding-bottom:0px;line-height:normal;margin:0in 0in 0pt;padding-left:0px;padding-right:0px;background:white;padding-top:0px;" class="MsoNormal"><span style=""><span style=""><font face="Lucida Console"><font style="font-size:9pt;" color="#000000">&#160;</font></font></span></span></p>  <p style="padding-bottom:0px;line-height:12pt;margin:0in 0in 8pt;padding-left:0px;padding-right:0px;padding-top:0px;" class="MsoNormal"><font face="Calibri"><font style="font-size:11pt;" color="#000000">And here’s a simple example demonstrating how to call the function (note that I put the code in a file named <em>Get-SPControlElement.ps1</em> and then I dot source the file to load the function into memory – you could scope the function globally to avoid the need to dot source if you want):</font></font></p>  <p style="padding-bottom:0px;line-height:12pt;margin:0in 0in 8pt;padding-left:0px;padding-right:0px;padding-top:0px;" class="MsoNormal"><img style="background-image:none;border-right-width:0px;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://blog.falchionconsulting.com/wp-content/uploads/2014/07/image.png" width="992" height="206"/></p>  <p>This should work on both SharePoint 2010 and 2013 and I believe with some minor modifications you could make it work with 2007.</p>  <p>-Gary</p>]]></content:encoded>
      </item>
      <item>
         <title>The Big Move</title>
         <link>http://www.bluedoglimited.com/SharePointThoughts/Lists/Posts/ViewPost.aspx?ID=347</link>
         <description>&lt;div class=&quot;ExternalClass077929BE049C4E2492D4264FC8932A54&quot;&gt;&lt;p&gt;Time to catch up a little on blogging… :)
&lt;/p&gt;&lt;p&gt;Over the past year+, I've been working with Orchard CMS to help expand our service offerings and somewhat force myself to learn a new technology set... and to also prepare myself for the eventual switch over to a non-SharePoint-based blog.
&lt;/p&gt;&lt;p&gt;That's right, after nearly a decade of hosting this site on SharePoint, I've decided to switch the underlying platform. Why? Simply put, blogging on SharePoint about SharePoint was soooo early 2000's. It was an experiment that I started way back when I was a product team member and simply wanted to an avenue to promote the very cool product that I had spent a lot of time ti help build and test. I wanted to show that SharePoint could be flexible to literally host at home on a coffee stirrer size pipeline. Over the years, this site has been sitting at home either under my desk (which at one time had a total 8 servers under it) or down in the server room (a portion of my basement nowadays). It worked great...
&lt;/p&gt;&lt;p&gt;The other underlying story here is that over time, my self-hosting experience grew substantially as our capacity grew and it really took off once I left Microsoft. We had a variety of servers to handle some of the things what most of us consider &amp;quot;standard&amp;quot; online services nowadays.  We literally ran a small hosting business to support the businesses. The biggest problem with this solution was always our ISP. Take that down and the businesses went down.
&lt;/p&gt;&lt;p&gt;Sound like a classic case of &amp;quot;we organically grew without putting a lot of thought&amp;quot;? Well, it was. A simple little blog site experiment grew into something much larger. From a geek perspective, it was fun to put all these things together and have our own little cloud.
&lt;/p&gt;&lt;p&gt;When we realized that we were traveling down the very same road that I often warn our customers about, we started offloading services to businesses that could handle uptime and maintenance way better than we could.
&lt;/p&gt;&lt;p&gt;Net result, we made the decision to transition over to the &amp;quot;big&amp;quot; cloud long time ago. The blog site was the first and now it's the last element in that story line. 
&lt;/p&gt;&lt;p&gt;So how does that relate to Orchard CMS? Well, that's the new platform for the blog site.
&lt;/p&gt;&lt;p&gt;As I mentioned back in an &lt;a rel=&quot;nofollow&quot;&gt;Oct 2013 post&lt;/a&gt;, I'm in no particular rush but I am drawing a line in the sand for my own scheduling purposes. The good thing is that I have some interesting performance testing stories with Orchard. Free software is nice but just keep in mind that someone has to eventually pay the online bill. In my next post, I'll show how I nearly doubled my hosting costs by innocently upgrading to the &amp;quot;latest and greatest&amp;quot;. As geeks, we love to install patches and hit the Go button to put us up on the latest version. My next post will be a great reminder what we must always establish benchmarks… without them, you could literally be wasting your money.
&lt;/p&gt;&lt;p&gt;-Maurice
&lt;/p&gt;&lt;/div&gt;&lt;hr/&gt;&lt;div style=&quot;text-align:center;color:silver;font-size:65%;&quot;&gt;Copyright © 2004-2011 BluedogLimited.com. Licensed under a &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.5/&quot;&gt;Creative Commons License&lt;/a&gt;.&lt;/div&gt;</description>
         <guid isPermaLink="false">http://www.bluedoglimited.com/SharePointThoughts/Lists/Posts/ViewPost.aspx?ID=347</guid>
         <pubDate>Mon, 07 Apr 2014 21:19:14 +0000</pubDate>
         <category>Posts</category>
      </item>
      <item>
         <title>SP2013 installation fails at FC73469E</title>
         <link>http://www.bluedoglimited.com/SharePointThoughts/Lists/Posts/ViewPost.aspx?ID=346</link>
         <description>&lt;div class=&quot;ExternalClass910B5F4C663D4309BD0A5CE1FDFF7CBE&quot;&gt;&lt;p&gt;Earlier today I ran across a strange installation problem and I wanted to share my findings...&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;The core scenario was about as generic as they come for a single-server farm.&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;Base line scenario:&lt;/strong&gt;&lt;/p&gt;    &lt;p&gt;Windows 8 with Hyper-V&lt;/p&gt;    &lt;p&gt;Windows 2012 Standard guest&lt;/p&gt;    &lt;p&gt;SQL 2012 Standard&lt;/p&gt;    &lt;p&gt; &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;The deployment plan was straightforward. Use Windows deployment services to provision out a new server, then install SQL, then install the SharePoint prerequisites, then roll out SP and provision. It should have been super fast and easy.&lt;/p&gt;  &lt;p&gt;Well, as we all know, SharePoint always tries to makes life interesting. :)&lt;/p&gt;  &lt;p&gt;Installation failed with a super descriptive error: &lt;/p&gt;  &lt;p align=&quot;center&quot;&gt;&amp;quot;&lt;em&gt;&lt;strong&gt;SharePoint Server 2013 encountered an error during setup&lt;/strong&gt;&lt;/em&gt;&amp;quot; &lt;/p&gt;  &lt;p align=&quot;center&quot;&gt; &lt;/p&gt;  &lt;p&gt;Time to dive into the logs... They pretty much told me nothing at first. The logs reported &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&amp;quot;Error: Failed to install product:  C:&amp;#92;&amp;lt;installFolder&amp;gt;&amp;#92;global&amp;#92;oserver.MSI ErrorCode: 1603(0x643)&amp;quot;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;Definitely a better message, but it didn't quite help either.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;Time to rollback to the snapshot taken after the prereq's were installed. Try again. Fail.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;The piece the really helped was the Windows error reporting information that was available after dismissing the SharePoint installation dialog.&lt;/p&gt;  &lt;p&gt;&lt;a rel=&quot;nofollow&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;border-top:0px;border-right:0px;background-image:none;border-bottom:0px;float:none;padding-top:0px;padding-left:0px;margin-left:auto;border-left:0px;display:block;padding-right:0px;margin-right:auto;&quot; border=&quot;0&quot; alt=&quot;image&quot; width=&quot;244&quot; height=&quot;201&quot;/&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;Error code FC73469E lead me to an insightful &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.helpfuladm.in/sp2013-preview-install-error-microsoft-sharepoint-server-2013-preview-encountered-an-error-during-setup/&quot;&gt;post&lt;/a&gt;. Sure enough, the VM preparation steps omitted the proper CPU count.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;Roll back to the prereq snapshot, up the CPU count, take another snapshot. Install. #FailAgain&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;Same error. Same log entries. No progress... &lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;Further research showed that others had also documented this problem and some were pointing at a MSI hack left as a comment on a msdn blog &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.msdn.com/b/odabasi/archive/2012/12/28/failed-to-install-the-product-drive-name-global-oserver-msi-error-code-1603-0x643-error-when-istalling-sharepoint-2013.aspx&quot;&gt;post&lt;/a&gt;. Maybe I'm old fashioned but msi hacks ain't right.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;Looked over the logs, checked permissions, checked the sql installation, changed install accounts, move the install media to a new location, checked the software &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://technet.microsoft.com/en-us/library/cc262485.aspx#section4&quot;&gt;prereqs&lt;/a&gt;  ... reviewed the prereq logs... lots of installs failed.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;Then it dawned on me that all my attempts to resolve the problem started from the same base configuration - I used the prerequisiteinstaller on the image that had the wrong CPU count. I had &amp;quot;corrected&amp;quot; the CPU problem by changing the VM with the prereqs, then using that snapshot as the base.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;The next and last test was rolling back to a clean server, updating the CPU count and &lt;strong&gt;*then*&lt;/strong&gt; installing the prerequisites.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;Bingo.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Net net&lt;/strong&gt;: The prerequisiteinstaller recorded information about the wrong CPU state, which then forced the installer to choke. No msi hacks were necessary (yeah!), only a clean *proper* vm state.&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;I should have reverted to a clean state once I determined the core state had been compromised. Instead, I &amp;quot;cheated&amp;quot; by going back to a snapshot that incorporated the &amp;quot;faulty&amp;quot; prereq's ... and that in the long run cost me a lot of time.&lt;/p&gt;&lt;/div&gt;&lt;hr/&gt;&lt;div style=&quot;text-align:center;color:silver;font-size:65%;&quot;&gt;Copyright © 2004-2011 BluedogLimited.com. Licensed under a &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.5/&quot;&gt;Creative Commons License&lt;/a&gt;.&lt;/div&gt;</description>
         <guid isPermaLink="false">http://www.bluedoglimited.com/SharePointThoughts/Lists/Posts/ViewPost.aspx?ID=346</guid>
         <pubDate>Thu, 22 Aug 2013 17:59:02 +0000</pubDate>
         <category>Posts</category>
      </item>
      <item>
         <title>The Boat – Moon and Stars – and some tech talk</title>
         <link>http://www.bluedoglimited.com/SharePointThoughts/Lists/Posts/ViewPost.aspx?ID=345</link>
         <description>&lt;div class=&quot;ExternalClass22C325F8C2824FA8B5AA6BFD3C638EDB&quot;&gt;&lt;p&gt;Remember my earlier &lt;a rel=&quot;nofollow&quot;&gt;post&lt;/a&gt; mentioning the boat we purchased last year? Here's a little update on Moon and Stars… (and I promise there's an inkling of tech talk in this post) &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.okeanvoyaging.com/&quot;&gt;&lt;img width=&quot;512&quot; height=&quot;340&quot; align=&quot;right&quot; alt=&quot;Moon and Stars at anchor in Oak Harbor&quot; src=&quot;http://www.okeanvoyaging.com/Media/Default/ImageGalleries/about/1-OkeanVoyaging_02400.jpg&quot; style=&quot;border-top:0px;border-right:0px;border-bottom:0px;margin:14px;border-left:0px;&quot;/&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;After a long spell in the shipyard this spring, we finally had a chance to take some photos of her with the new &amp;quot;branding&amp;quot;. This is a key event because until my wife and I are ready to move aboard and gear up for the big trip, Moon and Stars will serve in our bareboat chartering company &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.okeanvoyaging.com/&quot;&gt;Okean Voyaging&lt;/a&gt;. That's the third company I also mentioned in the previous post. Hard to believe I have my hand in 3 businesses now – &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.okeansolutions.com/&quot;&gt;Okean Solutions&lt;/a&gt; (the official owner of this site), &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.aptillon.com/&quot;&gt;Aptillon&lt;/a&gt;, and now &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.okeanvoyaging.com/&quot;&gt;Okean Voyaging&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;Let me first dive into the tech talk of this post… then I'll come back to the boat. &lt;/p&gt;
&lt;p style=&quot;margin-left:36pt;&quot;&gt;Since 2 of my companies are very clearly tech-oriented, we had an awesome opportunity to play around with several different web site platforms when creating Voyaging's site. After reviewing a bunch of different things, I ended up with using Orchard with Azure as the host. This has been a good learning and knowledge gathering exercise. In our daily SPLivelihood, your view on technology can become myoptic and I definitely needed something outside of &amp;quot;normal&amp;quot; work to kick start the learning process. &lt;/p&gt;
&lt;p style=&quot;margin-left:36pt;&quot;&gt;I wish I could say that I was vastly impressed by Orchard. The Aptillon team had previously examined using it for our web site (probably last summer) and I believe &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blog.mannsoftware.com/&quot;&gt;David&lt;/a&gt; enjoyed working with various prototypes he put together. &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.andrewconnell.com/Tags/Orchard&quot;&gt;Andrew&lt;/a&gt; and &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.wictorwilen.se/Tags/Orchard&quot;&gt;Wictor&lt;/a&gt; both have raved about the platform and how well it works for their blog sites. At the end of the day, we (Voyaging) have a site running on Orchard and it works ok. My frustration with the platform comes from a few different angles: &lt;/p&gt;
&lt;ul style=&quot;margin-left:54pt;&quot;&gt;&lt;li&gt;Orchard's documentation is good but it assumes you're a geek. More to the point, it assumes you're a dev geek. I'm probably a little spoiled by SharePoint documentation (and before anyone yells, I have lived through 12+ years of SPDocumentation) but I don't expect documentation to painfully walk me through the technology tree in order to explain how to do something. As a complete newbie, I wanted to know how to change various &amp;quot;simple&amp;quot; things. The documentation would inevitably start out with &amp;quot;Orchard is built on XXX, which uses YYYY and ZZZZ.&amp;quot; Even as a dev geek, I was left struggling sometimes because I had to go look up definitions and understand entire technologies to just make a simple change. Dev documentation is not good &lt;em&gt;user&lt;/em&gt; documentation. &lt;/li&gt;
&lt;li&gt;The next thing that really left a sour flavor in my mouth was the manner that Orchard bombed in low resource situations. I literally chased a problem for 2 solid weeks where the UI was telling me it saved an item but the system completely lost it. It was as though the app decided something was wrong and it automatically, without warning or indication, rolled back the last commit. No records or transactions could be found. In all fairness, the low resource issue was distinctly related to the host service and how I had the site configured. However, app itself had really bad characteristics under those circumstances. It was probably one of the worst app behaviors I've seen in years. The only &amp;quot;fix&amp;quot; was to boost resources (in Azure parlance, we had to move up to a standard host for various operations). Once all edits were complete, we could move back to the original Shared configuration. &lt;/li&gt;
&lt;li&gt;The last thing that really didn't fit well was the concept of 3&lt;sup&gt;rd&lt;/sup&gt; party Modules. Open source is a dangerous arena for support because sometimes you land on gems and other times you land on mines. I quickly learned to distrust modules not written by the Orchard team. The reason was very simple – as Orchard has matured, it appears a lot of modules didn't pick up the Orchard changes from version to version. The net result is that even though you might find an interesting module in the Orchard Gallery, there is absolutely no way to tell if that module would work with your version. The only workaround to this problem was to setup various test sites to validate modules (I ended up using 1 site per module). This was a painful but necessary process because module removal is not easy or clean. If I wanted a &amp;quot;clean and minimal&amp;quot; site, I can only truly deploy the modules that I want to put into service. &lt;/li&gt;&lt;/ul&gt;
&lt;p style=&quot;margin-left:36pt;&quot;&gt;Where does that leave me with Orchard? Well, it works and it does have some nice features like layers and shapes (the former is easy to grok for users, the latter is not – see comment above). Before I ran into all the problems, I was blindly on the convert-the-blog-to-Orchard bandwagon (initial tests after all were promising). As part of my overall goal to get my IT ducks in a row for the big trip, I eventually want to move this blog over to a new host and even off of SharePoint. After living with Orchard for several months and realizing the limitations and complexities of platform, I probably will continue to move the blog over to Orchard but I'm in no rush. I figure I'll wait a version or two before I attempt to move the blog over. &lt;/p&gt;
&lt;p style=&quot;margin-left:36pt;&quot;&gt;And where does the Netduino come into play? :) Well, if you have seen my tweets over the past few months, I've been busy playing around with &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.netduino.com/&quot;&gt;Netduino&lt;/a&gt; microcontrollers and the &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.netmf.com/&quot;&gt;.NET Micro Framework&lt;/a&gt; too. &lt;/p&gt;
&lt;p style=&quot;margin-left:36pt;&quot;&gt;I decided to use one of our Netduinos to monitor the site and provide health reports. This has worked so well that we've extended the monitoring to include not only &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.okeanvoyaging.com/&quot;&gt;Okean Voyaging&lt;/a&gt; (sitting on Azure) but also the various web properties owned and associated with &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.aptillon.com/&quot;&gt;Aptillon&lt;/a&gt;. We've been able to pull down some interesting uptime stats to help us determine whether or not the host systems are actually working as advertised. It's really nice to make decisions based on empirical evidence you've collected rather than relying on the host service who almost always tells you there are no uptime issues. &lt;/p&gt;
&lt;p&gt;Back to the boat … &lt;/p&gt;
&lt;p&gt;Moon and Stars has been a pleasure to own and sail. We had a chance to take her up to Penn Cove and Oak Harbor just a few weeks ago for a shakedown cruise (which is needed after being in the shop for over 2 months) and annual trip to &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://whidbeyislandraceweek.com/&quot;&gt;Whidbey Island Race Week&lt;/a&gt;. She served as a crew quarters. I will be the first to tell you that I absolutely loved all the years I camped out on the dock during Race Week. Having a super comfortable bed, however, completely changed the game for me. :) We spent the entire week out in the anchoring field. It was a very relaxing experience and definitely was a highlight for our guests as well. &lt;/p&gt;
&lt;p&gt;And when we took her out sailing in &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://binged.it/1351JZy&quot;&gt;Penn Cove and Saratoga Passage&lt;/a&gt; for some checkout tests… oh my, talk about &lt;strong&gt;&lt;em&gt;fun&lt;/em&gt;&lt;/strong&gt;. In just over 12 knots of breeze on the nose, we were pointing and cruising right around 11 knots. For the SPSailors out there, you know those are some good numbers. For the non-sailors reading this, let me put it this way… the &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/RV&quot;&gt;RV&lt;/a&gt; can run like a sports car. Our Catana likes to sail fast. :) &lt;/p&gt;
&lt;p&gt;If you're interested in seeing some more boat pics, swing by the &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.okeanvoyaging.com/about-the-catamaran&quot;&gt;Voyaging&lt;/a&gt; site and check out the photo gallery.&lt;/p&gt;
&lt;p&gt;One of these days, I will get the Netduino-based boat monitoring system hooked up and I will also eventually find a way to integrate SP into that solution somehow (geeky, I know but hey I'm an SPSailor). &lt;/p&gt;
&lt;p&gt;-Maurice &lt;/p&gt;
&lt;p&gt;President – Aptillon&lt;br /&gt;President – Okean Solutions&lt;br /&gt;Mechanic and IT dude – Okean Voyaging :)&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;hr/&gt;&lt;div style=&quot;text-align:center;color:silver;font-size:65%;&quot;&gt;Copyright © 2004-2011 BluedogLimited.com. Licensed under a &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.5/&quot;&gt;Creative Commons License&lt;/a&gt;.&lt;/div&gt;</description>
         <guid isPermaLink="false">http://www.bluedoglimited.com/SharePointThoughts/Lists/Posts/ViewPost.aspx?ID=345</guid>
         <pubDate>Fri, 09 Aug 2013 07:01:22 +0000</pubDate>
         <category>Posts</category>
      </item>
      <item>
         <title>Evolutions Conference: SharePoint &amp; Netduino</title>
         <link>http://www.bluedoglimited.com/SharePointThoughts/Lists/Posts/ViewPost.aspx?ID=344</link>
         <description>&lt;div class=&quot;ExternalClass3DA879095008486D9F6E3D02F51E332B&quot;&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.sharepointevolutionconference.com/&quot;&gt;&lt;img style=&quot;border-top:0px;border-right:0px;border-bottom:0px;float:right;margin:2px 6px 2px 24px;border-left:0px;display:inline;&quot; align=&quot;right&quot; src=&quot;http://okeansolutions.blob.core.windows.net/media/blog/events/evolutions2013/speaker_web_banner.png&quot;/&gt;&lt;/a&gt;&lt;p&gt;Over here in the skunk works division of our company... we've been busy the past few months working on some prototypes that will allow us to integrate physical data with the usefulness of SharePoint.&lt;/p&gt;  &lt;p&gt;We're unveiling a portion of our efforts at the &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.sharepointevolutionconference.com/&quot;&gt;SharePoint Evolutions Conference 2013&lt;/a&gt; in London next week.  You've heard me say this before - this conference rocks. I love this conference for many reasons but the one reason that sticks out in my mind is the simple fact that I spend a lot time creating new content. This year was no different! The fact we got to use soldering irons to put a demo together made this the most exciting presentation build... :)&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;If you are attending the conference next week, swing by my session and check out the evolution of business data collection and management... &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;Title&lt;/strong&gt;: Remote monitoring with SharePoint 2013 and making it smart!&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Session&lt;/strong&gt;: &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.sharepointevolutionconference.com/abstracts.html#com710&quot;&gt;COM710&lt;/a&gt; from 1500-1600 in the Rutherford room&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;This should be a fun session with demos, hardware with blinky lights, and hopefully some good discussion!&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;-Maurice&lt;/p&gt;&lt;/div&gt;&lt;hr/&gt;&lt;div style=&quot;text-align:center;color:silver;font-size:65%;&quot;&gt;Copyright © 2004-2011 BluedogLimited.com. Licensed under a &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.5/&quot;&gt;Creative Commons License&lt;/a&gt;.&lt;/div&gt;</description>
         <guid isPermaLink="false">http://www.bluedoglimited.com/SharePointThoughts/Lists/Posts/ViewPost.aspx?ID=344</guid>
         <pubDate>Sun, 14 Apr 2013 17:35:49 +0000</pubDate>
         <category>Posts</category>
      </item>
      <item>
         <title>How to lose MVP status</title>
         <link>http://www.bluedoglimited.com/SharePointThoughts/Lists/Posts/ViewPost.aspx?ID=343</link>
         <description>&lt;div class=&quot;ExternalClass63DB8889A11E4B1AB50B0F2FFD37DA0E&quot;&gt;&lt;p&gt;First, the title is a tongue in cheek.&lt;/p&gt;  &lt;p&gt;This past fall, I lost the MVP status that I had carried for the past 5 years. As everyone knows, Microsoft’s MVP status is an award bestowed to those that are actively involved in the “community”.  Every year, the team looks at what you’ve done in the past 12 months to figure out if you deserve a marketing award. &lt;/p&gt;  &lt;p&gt;The short answer to the title was that I was busy working. Last year was an absolutely dizzying year. The net result was that I wasn’t an active blogger or speaker. I had a few posts and only 2 speaking engagements. Shame!&lt;/p&gt;  &lt;p&gt;What was I doing? Working on SharePoint and life’s other miscellaneous projects. :)&lt;/p&gt;  &lt;p&gt;Here’s a rough breakdown…&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;SharePoint&lt;/strong&gt; – Aptillon has been moving forward in leaps and bounds. Work was good. Work kept me traveling. By the end of January last year, I had already been in Jersey City, Dallas, Ft. Lauderdale, and Honolulu. 24,000 miles in 1 month. Ok, Ft. Lauderdale was not work related (more on that later). Mileage total for the year? Roughly 160,000 miles here in the US - none of that fancy travel to Europe or Australia or Antarctica.. and that was with me putting the kibosh on travel for nearly 2 months - twice. I reached Delta’s platinum level before most folks even start buckling their seat belts. SharePoint in the cloud? Just pray you don't have a screaming kid next to you. :) &lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Businesses &lt;/strong&gt;– I now own a part of 3 companies. I started out owning 2 and by year’s end, my wife and I started a new venture. Running a single company takes time and effort. Running two takes patience. Running three requires medication! &lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Speaking&lt;/strong&gt; - last year was the quietest year I've had since I first entered the speaking circuit. There were a couple of occasions where I just forgot to send in ideas and applications. Worse yet, I made a huge scheduling mistake when I double booked a conference with a client engagement. We got the project out the door that week, so it was a nice offset to missing the conference in Orlando.&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;The Boat&lt;/strong&gt; – Sailing has been a part of my life for quite some time. My big dream in life has been to buy a boat and go around the world. Luckily, the woman I married also shares that dream. We started looking for a boat in late 2011. We entered 2012 with some serious shopping plans (it’s why I was in Ft. Lauderdale in Jan). Well, long story short. We are now the proud owners of a beautiful Catana 472. We found her in San Diego and after a super long story involving an incompetent captain and a company that literally left us (and others) high and dry in Ensenada, she came home to Tacoma in late October.&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;Tacoma&lt;/strong&gt; – For those not from the Seattle area, Tacoma is roughly 35 miles south of Seattle. I’ve been in Seattle for 17+ years. In that time, I spent all of maybe a half day in Tacoma. It’s never been a destination for me. Either you’re driving through Tacoma on your way to &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.youtube.com/show/portlandia&quot;&gt;Portlandia&lt;/a&gt; or taking the long route to the Olympic Peninsula. With the boat moored in Tacoma, we’ve had to learn a new city. I have to say it’s been a lot of fun learning more about the city. It’s got some hidden gems and you can definitely see where they have been trying to revitalize the city and the waterfront.&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;The Boat (part 2)&lt;/strong&gt; – With the boat moored in Tacoma, we literally took on a new primary job – boat maintenance. First, we’ve had to figure out everything there is about the boat. Have you ever bought a house or rented an apartment? How much time do you spend thinking about &lt;em&gt;how&lt;/em&gt; things work in house? Probably next to nothing. You figure out where the light switches are located and then you move in. Boats, especially the larger they get, are complex machines. You need to know where the switches are… what is connected to them (outlets)... what they are connected to (breakers)... what are the emergency shutoff points...  what parts are needed in case something breaks... etc.. etc... now rinse and repeat for water - all three types, fuel, etc... in a nutshell, understanding what we have and identifying all the things that need to be fixed (especially after a 1300 nm voyage up the West Coast) has been daunting.&lt;/p&gt;    &lt;p&gt;&lt;strong&gt;MCSM&lt;/strong&gt; - even though I lost my MVP status, thankfully I didn't lose my Masters certification! To be honest, I am still having problems typing MCSM (Microsoft Certified Solutions Master) rather than MCM. You might have noticed my earlier post on how the certification &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blog.aptillon.com/2012/12/22/reviewing-the-msft-certification-overhaul/&quot;&gt;program is changing&lt;/a&gt; things around. Not only was I excited to see these improvements make their way into production, but toward the end of year I also had a chance to work with the Masters certification team again.  It was fun getting back into the frame of mind of building detailed courseware. My teammates David and Matt also helped out as we put together four different modules for the Masters program. Then I had to do double duty in late December as a student for the first rotation in the updated format.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;Somewhere in there... we had family come visit twice, we hopped on planes to visit them as few times as well. Oh yeah - I even had my tonsils taken out some time in April. That was a fun drug trip that did not involve planes at all. :P&lt;/p&gt;  &lt;p&gt;Pretty much 2012 was a whirlwind. SharePoint 24/7/365 + a boat ... and a lot of planes. &lt;/p&gt;  &lt;p&gt;My pledge to the long time readers of this blog ... I'll actually reserve some time this year to share more stories about SharePoint and how to make it do more for us. I might even throw a few boat stories... &lt;/p&gt;  &lt;p&gt;Have fun!&lt;/p&gt;  &lt;p&gt;-Maurice&lt;/p&gt;&lt;/div&gt;&lt;hr/&gt;&lt;div style=&quot;text-align:center;color:silver;font-size:65%;&quot;&gt;Copyright © 2004-2011 BluedogLimited.com. Licensed under a &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://creativecommons.org/licenses/by-nc-sa/2.5/&quot;&gt;Creative Commons License&lt;/a&gt;.&lt;/div&gt;</description>
         <guid isPermaLink="false">http://www.bluedoglimited.com/SharePointThoughts/Lists/Posts/ViewPost.aspx?ID=343</guid>
         <pubDate>Wed, 13 Feb 2013 05:35:13 +0000</pubDate>
         <category>Posts</category>
      </item>
   </channel>
</rss>
<!-- fe7.yql.bf1.yahoo.com compressed/chunked Thu Oct  1 23:05:17 UTC 2015 -->
