<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>Mike Morrison - Premier Field Engineer</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/pfemike/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/pfemike/feed.xml</link>
    <description>Sharing things I discover while working with SharePoint</description>
    <lastBuildDate>Tue, 16 Apr 2019 06:15:14 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>Adding Site Collection Admin in CSOM in a SharePoint 2013 App</title>
      <link>https://docs.microsoft.com/archive/blogs/pfemike/adding-site-collection-admin-in-csom-in-a-sharepoint-2013-app</link>
      <pubDate>Wed, 22 Jan 2014 09:21:00 GMT</pubDate>
      <dc:creator><![CDATA[Michael Morrison3]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/pfemike/2014/01/22/adding-site-collection-admin-in-csom-in-a-sharepoint-2013-app/</guid>
      <description><![CDATA[My Microsoft Consulting Services buddy (David Weinstein) and I couldn’t find any documentation on...]]></description>
      <content:encoded><![CDATA[<p>My Microsoft Consulting Services buddy (David Weinstein) and I couldn’t find any documentation on adding a Site Collection Administrator in SharePoint 2013.&#160; I thought I would try to remedy that.</p>  <p>When looking <a href="http://msdn.microsoft.com/EN-US/library/microsoft.sharepoint.client.user.issiteadmin.aspx" target="_blank">at our documentation</a> I noticed a comment stating that this doesn’t work.&#160; At first, I thought maybe the commenter was accurate.&#160; When first trying to execute this code, I was greeted with this:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/29/36/metablogapi/0045.SNAGHTML148d6cc_1705BB19.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-36-metablogapi/0045.SNAGHTML148d6cc_5F00_1705BB19.png"><img title="SNAGHTML148d6cc" style="display:inline;background-image:none;" border="0" alt="SNAGHTML148d6cc" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/29/36/metablogapi/0576.SNAGHTML148d6cc_thumb_66DE7055.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-36-metablogapi/0576.SNAGHTML148d6cc_5F00_thumb_5F00_66DE7055.png" width="716" height="538" /></a></p>  <p>Notice the part I highlighted in red.&#160; You need to be a site collection administrator to set this property.&#160; At this point I was scratching my head thinking “I am a site collection administrator!”.&#160; Then I remembered that I had to request permissions.&#160; So I made my app manifest look like this:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/29/36/metablogapi/8015.SNAGHTML14d6fdd_0B065B96.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-36-metablogapi/8015.SNAGHTML14d6fdd_5F00_0B065B96.png"><img title="SNAGHTML14d6fdd" style="display:inline;background-image:none;" border="0" alt="SNAGHTML14d6fdd" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/29/36/metablogapi/1018.SNAGHTML14d6fdd_thumb_6A7F1BE3.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-36-metablogapi/1018.SNAGHTML14d6fdd_5F00_thumb_5F00_6A7F1BE3.png" width="670" height="179" /></a></p>  <p>I had to request the FullControl permission at the “Site Collection” scope.&#160; After doing this and remembering the Update() method on my SP.User object, the code worked successfully.</p>  <p>Note that you do have to already be a site collection administrator to add one.</p>  <p>Here is the code.</p>  <p><font size="2" face="Consolas"><strong>User spUser = null;</strong></font></p> <font size="2" face="Consolas"><strong></strong></font>  <p><font size="2" face="Consolas"><strong>var spContext = SharePointContextProvider.Current.GetSharePointContext(HttpContext);</strong></font></p> <font size="2" face="Consolas"><strong></strong></font>  <p><font size="2" face="Consolas"><strong>using (var clientContext = spContext.CreateUserClientContextForSPHost())       <br /> {        <br />&#160;&#160;&#160; if (clientContext != null)        <br />&#160;&#160;&#160; {        <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; spUser = clientContext.Web.EnsureUser(&quot;username@domain.com or DOMAIN\LoginName&quot;);        <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; spUser.IsSiteAdmin = true;        <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; spUser.Update();</strong></font></p> <font size="2" face="Consolas"><strong></strong></font>  <p><font size="2" face="Consolas"><strong>&#160;&#160;&#160;&#160;&#160;&#160;&#160; clientContext.Load(spUser);       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; </strong></font><font size="2" face="Consolas"><strong>clientContext.ExecuteQuery();       <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; ViewBag.UserName = spUser.Title;        <br />&#160;&#160;&#160; }        <br /> }</strong></font></p><div style="clear:both;"></div><img src="http://blogs.msdn.com/aggbug.aspx?PostID=10491930" width="1" height="1" alt=" " />]]></content:encoded>
    </item>
    <item>
      <title>Why the SharePoint 2013 App Model is better than sliced bread</title>
      <link>https://docs.microsoft.com/archive/blogs/pfemike/why-the-sharepoint-2013-app-model-is-better-than-sliced-bread</link>
      <pubDate>Sat, 23 Feb 2013 06:13:26 GMT</pubDate>
      <dc:creator><![CDATA[Michael Morrison3]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/pfemike/2013/02/23/why-the-sharepoint-2013-app-model-is-better-than-sliced-bread/</guid>
      <description><![CDATA[+                                &gt;                            I was...]]></description>
      <content:encoded><![CDATA[<table cellspacing="0" cellpadding="5" width="705" border="0"><tbody>     <tr>       <td valign="top" width="178"><img src="http://static.computerworld.nl/thumbnails/cropped/150x150/5/c/5c03e37e0db526fe7f1585e89f874dcf.jpg" width="129" height="129" /></td>        <td width="126" align="center">         <p align="center"><font size="7">+</font></p>       </td>        <td valign="top" width="103"><img src="http://img.clubic.com/05307020-photo-logo-office-2013.jpg" width="111" height="132" /></td>        <td width="118" align="center">         <p align="center"><font size="7">&gt;</font></p>       </td>        <td valign="top" width="178"><img style="margin-right: auto; margin-left: auto; float: none; display: block;" src="http://us.123rf.com/400wm/400/400/jackf/jackf1012/jackf101200296/8383766-sliced-bread-isolated-on-a-white-background.jpg" width="161" height="125" /></td>     </tr>   </tbody></table>  <p>   <br />I was responding to a post on the Apps for SharePoint forum, and it ended up being so long that I decided to make it a blog post.&#160; If you want some additional context you can go <a href="http://social.msdn.microsoft.com/Forums/en-US/appsforsharepoint/thread/7463bfb5-c51c-4e8b-9c83-c3532430ea98">check it out</a>. </p>  <p>From a SharePoint app if you want to read to and write to a custom list that your app didn't create, you can.&#160; If other app developers want to read from and write to the same list they can.&#160; Your app just needs to request a high enough permission level to do it.&#160; In addition the user needs to have rights to do it.&#160; You could also do it using the app only policy in a SharePoint hosted app, but would need to use the REST API for that.&#160; In that case you would be able to write to the list even if the user didn't have permissions to do it.&#160; </p>  <p>Apps are intended to be self-contained where applicable, so if the data only pertains to your app then you should keep the data in the app. Either remote or in the app web.&#160; This way if your app is uninstalled there won't be a bunch of stuff left behind in SharePoint that the user has to delete because it was only relevant to the app.&#160; This is actually a common scenario in 2010. Developers love to use the OnFeatureActivated event, but not so much with the OnFeatureDeactivating event. Meaning they make a lot of changes when the solution is installed, but leave the stuff behind when it’s deactivated.</p>  <p>However, there are plenty of times when it is perfectly legitimate to reach out to the host web, or even other site collections.&#160; </p>  <p>In the forum post, the original poster, mentions a scenario where multiple apps might communicate with the same list. If the list is going to be leveraged by multiple apps, the list should probably live in the host web.&#160; </p>  <p><strong>Here is an example:</strong></p>  <p>I might create an app that hooks up a remote event receiver so I know when an item in the list has been updated.&#160; My app could then read the list and pull back an address.&#160; It could then get the longitude and latitude for the address and write it back to the list.</p>  <p>Your app might be running in an azure worker role and check every 30 minutes to see if there are any potential spelling mistakes contained in the list and if so update a column to flag it for review.&#160; This would happen without a user at the keyboard. </p>  <p>Let's say your spell checking app only notifies the user who added the item and a developer for the company who owns the farm/tenant needs to also notify the site owner in case the person who updated the item never fixes their mistake.&#160; So they write an internal app that checks the list’s column named &quot;SpellingMistakeFound&quot; that this developer knows is used by the spell checking app as the column that gets updated.&#160; The internal app could extend the functionality with a notification system that lets the site owner notify additional people when the app finds a list item with this flag set to yes. </p>  <p>Rickee (<a href="http://social.msdn.microsoft.com/Forums/en-US/appsforsharepoint/thread/7463bfb5-c51c-4e8b-9c83-c3532430ea98">from the forum thread</a>) is right about not reinventing the wheel.&#160; There is already a custom web part to show the list on the SharePoint site.&#160; If the data is going to live in the host web, then just use the out of the box web part.&#160; If the out of the box web part doesn't provide what you need you can extend it using Client-Side Rendering (CSR).    <table cellspacing="0" cellpadding="5" width="713" border="0"><tbody>       <tr>         <td width="711" align="center">           <div id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:6d887a60-22ce-4cd2-9701-8b62a3eea04b" class="wlWriterEditableSmartContent" style="margin: 0px; padding: 0px; float: none; display: inline;"><div><object width="448" height="252"><param name="movie" value="https://www.youtube.com/v/870HqTNuLcs?hl=en&amp;hd=1"></param><embed src="https://www.youtube.com/v/870HqTNuLcs?hl=en&amp;hd=1" type="application/x-shockwave-flash" width="448" height="252"></embed></object></div><div style="width:448px;clear:both;font-size:.8em">A video demonstrating Client-Side Rendering of a list in SharePoint 2013</div></div>         </td>       </tr>     </tbody></table> </p>  <p>The SharePoint Product Group did an amazing job with the new app model.&#160; However, we now have the opposite problem in 2013 that we have in 2010.&#160; In 2010, it is often difficult to make the functionality work within the tight constraints of a sandboxed solution.&#160; In 2013, we have so many options that it's often difficult to figure out the best option to go with.</p>  <p>There is so much flexibility in fact, that you are not limited to only a SharePoint hosted vs. Cloud hosted app.&#160; You could have a hybrid app.&#160; Your app could have some assets in the app web, and some in the cloud.&#160; But that's not all.&#160; Want to throw in a native Windows Phone app that is actually just an extension of your SharePoint app?&#160; Done.&#160; Android and IPhone native apps?&#160; Done.&#160; Surface? Kindle Fire?&#160; Yup.&#160; Can it make a web service call?&#160; If the answer is yes, it can be an app.</p>  <p><font size="4">The possibilities are almost endless.</font></p><div style="clear:both;"></div><img src="http://blogs.msdn.com/aggbug.aspx?PostID=10396444" width="1" height="1">]]></content:encoded>
    </item>
    <item>
      <title>SharePoint JavaScript Object Model Intellisense Issue in App for SharePoint 2013 VS Template</title>
      <link>https://docs.microsoft.com/archive/blogs/pfemike/sharepoint-javascript-object-model-intellisense-issue-in-app-for-sharepoint-2013-vs-template</link>
      <pubDate>Thu, 13 Sep 2012 19:09:11 GMT</pubDate>
      <dc:creator><![CDATA[Michael Morrison3]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/pfemike/2012/09/13/sharepoint-javascript-object-model-intellisense-issue-in-app-for-sharepoint-2013-vs-template/</guid>
      <description><![CDATA[I found that Intellisense was not working properly in Visual Studio 2012 for a SharePoint 2013 app...]]></description>
      <content:encoded><![CDATA[<p>I found that Intellisense was not working properly in <a title="Visual Studio 2012" href="http://www.microsoft.com/visualstudio/eng/products/visual-studio-overview" target="_blank">Visual Studio 2012</a> for a SharePoint 2013 app using the template that gets installed with the <a title="Microsoft Office Developer Tools for Visual Studio 2012" href="http://msdn.microsoft.com/en-us/office/apps/fp123627" target="_blank">Microsoft Office Developer Tools for Visual Studio 2012</a>.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/29/36/metablogapi/2146.image_68E57E3E.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-36-metablogapi/2146.image_5F00_68E57E3E.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/29/36/metablogapi/5282.image_thumb_7A55DF16.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-36-metablogapi/5282.image_5F00_thumb_5F00_7A55DF16.png" width="596" height="192" /></a></p>  <p>These screenshots help illustrate the issue:</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/29/36/metablogapi/0181.image_276ACBE5.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-36-metablogapi/0181.image_5F00_276ACBE5.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/29/36/metablogapi/2234.image_thumb_0677593E.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-36-metablogapi/2234.image_5F00_thumb_5F00_0677593E.png" width="606" height="415" /></a></p>  <p>The above screenshot shows Intellisense working correctly for the web object directly after the web object is assigned via context.get_web().&#160; The code that is hidden by the Intellisense dialog is calling that the JavaScript function onGetUserNameSuccess() via callback when the Asynchronous query returns with the user information.</p>  <p>Also notice the web variable is initialized outside of the function scope, meaning that Intellisense should still work for the web object inside the onGetUserNameSuccess() function.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/29/36/metablogapi/1565.image_1CE9F7C5.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-36-metablogapi/1565.image_5F00_1CE9F7C5.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/29/36/metablogapi/4606.image_thumb_350D6220.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-36-metablogapi/4606.image_5F00_thumb_5F00_350D6220.png" width="628" height="425" /></a></p>  <p>As you can see from the screenshot above, I was not getting the correct Intellisense.&#160; Using Yammer, I reached out to the SharePoint Developer community inside Microsoft to see if this was a known issue.</p>  <p>I received a reply from a SDE (louri) on the Office Tools Dev team with steps on how to workaround this known issue.</p>  <p>First open the Default.aspx page in the Pages module.&#160; Cut the following text:</p> <font face="Consolas">$(document).ready(function () {    <br />SP.SOD.executeFunc('sp.js', 'SP.ClientContext', sharePointReady);     <br />});</font>   <p>Next, paste it into App.js at the bottom of the file.&#160; Be sure to go back and delete the now empty script tags in Default.aspx.</p>  <p>Now add init.js to the _references.js file so it looks like this:</p>  <p><font face="Consolas">/// &lt;reference name=&quot;MicrosoftAjax.js&quot; /&gt;      <br /><font style="background-color: rgb(255, 255, 0);">/// &lt;reference path=&quot;~/_layouts/15/init.js&quot; /&gt;</font>       <br />/// &lt;reference path=&quot;~/_layouts/15/SP.Core.js&quot; /&gt;       <br />/// &lt;reference path=&quot;~/_layouts/15/SP.Runtime.js&quot; /&gt;       <br />/// &lt;reference path=&quot;~/_layouts/15/SP.UI.Dialog.js&quot; /&gt;       <br />/// &lt;reference path=&quot;~/_layouts/15/SP.js&quot; /&gt;       <br />/// &lt;reference path=&quot;jquery-1.6.2.js&quot;/&gt;</font></p>  <p>Your _references.js file should look like the above assuming this is a new project and you haven’t added <a title="Knockout.js" href="http://www.knockoutjs.com" target="_blank">Knockout.js</a> or any other libraries yet.</p>  <p>After making this change, Intellisense should now work properly.</p>  <p>Hopefully this will help someone else and keep them from scratching their head wondering why it is not working properly.&#160; Many thanks to louri for the assistance.&#160; Without his assistance, I would have been doing some crazy code transplantation techniques to work around this.&#160; I am spoiled and need my Intellisense, especially in these early days with SharePoint 2013.</p>  <p>Now it’s time to grab some Mountain Dew, crank up the tunes and play with the SharePoint 2013!</p>  <p>Happy coding!</p>  <p>Mike    </p><div style="clear:both;"></div><img src="http://blogs.msdn.com/aggbug.aspx?PostID=10349299" width="1" height="1">]]></content:encoded>
    </item>
    <item>
      <title>JavaScript Intellisense Issue in App for SharePoint 2013 VS Template</title>
      <link>https://docs.microsoft.com/archive/blogs/pfemike/javascript-intellisense-issue-in-app-for-sharepoint-2013-vs-template</link>
      <pubDate>Thu, 13 Sep 2012 12:09:11 GMT</pubDate>
      <dc:creator><![CDATA[anonymouscommenter]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/pfemike/2012/09/13/javascript-intellisense-issue-in-app-for-sharepoint-2013-vs-template/</guid>
      <description><![CDATA[I found that Intellisense was not working properly in Visual Studio 2012 for a SharePoint 2013 app...]]></description>
      <content:encoded><![CDATA[<p><span style="font-family:Segoe UI;font-size:12pt;">I found that Intellisense was not working properly in <a href="http://www.microsoft.com/visualstudio/eng/products/visual-studio-overview" title="Visual Studio 2012" target="_blank">Visual Studio 2012</a> for a SharePoint 2013 app using the template that gets installed with the <a href="http://msdn.microsoft.com/en-us/office/apps/fp123627" title="Microsoft Office Developer Tools for Visual Studio 2012" target="_blank">Microsoft Office Developer Tools for Visual Studio 2012</a> (Preview 2).<br />
</span></p>
<p><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/29/36/metablogapi/5282.image_thumb_7A55DF16.png" alt=" " /><span style="font-family:Segoe UI;font-size:12pt;"><br />
		</span></p>
<p><span style="font-family:Segoe UI;font-size:12pt;">These screenshots help illustrate the issue:<br />
</span></p>
<p><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/29/36/metablogapi/2234.image_thumb_0677593E.png" alt=" " /><span style="font-family:Segoe UI;font-size:12pt;"><br />
		</span></p>
<p><span style="font-family:Segoe UI;font-size:12pt;">The above screenshot shows Intellisense working correctly for the web object directly after the web object is assigned via context.get_web().  The code that is hidden by the Intellisense dialog is calling that the JavaScript function onGetUserNameSuccess() via callback when the Asynchronous query returns with the user information.<br />
</span></p>
<p><span style="font-family:Segoe UI;font-size:12pt;">Also notice the web variable is initialized outside of the function scope, meaning that Intellisense should still work for the web object inside the onGetUserNameSuccess() function.<br />
</span></p>
<p><img src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/29/36/metablogapi/4606.image_thumb_350D6220.png" alt=" " /><span style="font-family:Segoe UI;font-size:12pt;"><br />
		</span></p>
<p><span style="font-family:Segoe UI;font-size:12pt;">As you can see from the screenshot above, I was not getting the correct Intellisense.  Using Yammer, I reached out to the SharePoint Developer community inside Microsoft to see if this was a known issue.<br />
</span></p>
<p><span style="font-family:Segoe UI;font-size:12pt;">I received a reply from a SDE (louri) on the Office Tools Dev team with steps on how to workaround this known issue.<br />
</span></p>
<p><span style="font-family:Segoe UI;font-size:12pt;">First open the Default.aspx page in the Pages module.  Cut the following text:<br />
</span></p>
<p><span style="font-family:Segoe UI;">$(document).ready(function () { <br />SP.SOD.executeFunc(&#8216;sp.js&#8217;, &#8216;SP.ClientContext&#8217;, sharePointReady); <br />});<br />
</span></p>
<p><span style="font-family:Segoe UI;font-size:12pt;">Next, paste it into App.js at the bottom of the file.  Be sure to go back and delete the now empty script tags in Default.aspx.<br />
</span></p>
<p><span style="font-family:Segoe UI;font-size:12pt;">Now add init.js to the _references.js file so it looks like this:<br />
</span></p>
<p><span style="font-family:Segoe UI;font-size:12pt;">/// &lt;reference name=&#8221;MicrosoftAjax.js&#8221; /&gt; <br /><span style="background-color:yellow;">/// &lt;reference path=&#8221;~/_layouts/15/init.js&#8221; /&gt;</span><br />
			<br />/// &lt;reference path=&#8221;~/_layouts/15/SP.Core.js&#8221; /&gt; <br />/// &lt;reference path=&#8221;~/_layouts/15/SP.Runtime.js&#8221; /&gt; <br />/// &lt;reference path=&#8221;~/_layouts/15/SP.UI.Dialog.js&#8221; /&gt; <br />/// &lt;reference path=&#8221;~/_layouts/15/SP.js&#8221; /&gt; <br />/// &lt;reference path=&#8221;jquery-1.6.2.js&#8221;/&gt;<br />
</span></p>
<p><span style="font-family:Segoe UI;font-size:12pt;">Your _references.js file should look like the above assuming this is a new project and you haven&#8217;t added <a href="http://www.knockoutjs.com" title="Knockout.js" target="_blank">Knockout.js</a> or any other libraries yet.<br />
</span></p>
<p><span style="font-family:Segoe UI;font-size:12pt;">After making this change, Intellisense should now work properly.<br />
</span></p>
<p><span style="font-family:Segoe UI;font-size:12pt;">Hopefully this will help someone else and keep them from scratching their head wondering why it is not working properly.  Many thanks to louri for the assistance.  Without his assistance, I would have been doing some crazy code transplantation techniques to work around this.  I am spoiled and need my Intellisense, especially in these early days with SharePoint 2013.<br />
</span></p>
<p><span style="font-family:Segoe UI;font-size:12pt;">Now it&#8217;s time to grab some Mountain Dew, crank up the tunes and play with the SharePoint 2013!<br />
</span></p>
<p><span style="font-family:Segoe UI;font-size:12pt;">Happy coding!<br />
</span></p>
<p><span style="font-family:Segoe UI;font-size:12pt;">Mike </span></p>
]]></content:encoded>
    </item>
    <item>
      <title>Node.js errors with WebMatrix on IIS 8 (Windows 8 RTM)</title>
      <link>https://docs.microsoft.com/archive/blogs/pfemike/node-js-errors-with-webmatrix-on-iis-8-windows-8-rtm</link>
      <pubDate>Fri, 07 Sep 2012 01:32:56 GMT</pubDate>
      <dc:creator><![CDATA[Michael Morrison3]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/pfemike/2012/09/07/node-js-errors-with-webmatrix-on-iis-8-windows-8-rtm/</guid>
      <description><![CDATA[After installing Node.js to try my hand at some server side JavaScript using WebMatrix, I was...]]></description>
      <content:encoded><![CDATA[<p>After installing Node.js to try my hand at some server side JavaScript using WebMatrix, I was getting a 500 internal server error.</p>  <p>This is what was returned to the browser:</p>  <p><font face="Consolas"><em>iisnode was unable to read the configuration file. Make sure the web.config file syntax is correct. In particular, verify the&#160; &lt;a href=</em></font><a href="https://github.com/tjanczuk/iisnode/blob/master/src/samples/configuration/web.config"><font face="Consolas"><em>https://github.com/tjanczuk/iisnode/blob/master/src/samples/configuration/web.config</em></font></a><font face="Consolas"><em>&gt;iisnode configuration section&lt;/a&gt; matches the expected schema. The schema of the iisnode section that your version of iisnode requires is stored in the %systemroot%\system32\inetsrv\config\schema\iisnode_schema.xml file.</em></font></p>  <p>I had multiple issues.</p>  <p>First, per this page: <a title="http://www.hanselman.com/blog/InstallingAndRunningNodejsApplicationsWithinIISOnWindowsAreYouMad.aspx" href="http://www.hanselman.com/blog/InstallingAndRunningNodejsApplicationsWithinIISOnWindowsAreYouMad.aspx">http://www.hanselman.com/blog/InstallingAndRunningNodejsApplicationsWithinIISOnWindowsAreYouMad.aspx</a></p>  <p>I changed the application pool to run as LocalSystem.</p>  <p>I was still getting the same error message.&#160; I look into the applicationHost.config file and noticed:</p>  <p><strong>&lt;section name=&quot;handlers&quot; overrideModeDefault=&quot;Deny&quot; /&gt;</strong></p>  <p>Since the handler for IISNode was in the web.config this looked like an issue.&#160; I changed it to:</p>  <p><strong>&lt;section name=&quot;handlers&quot; overrideModeDefault=&quot;Allow&quot; /&gt;</strong></p>  <p>After this change the page loaded successfully.&#160; </p>  <p>There was one other change I made that I am not sure had any impact, but I will mention it just in case.&#160; The web.config color coding was messed up in WebMatrix.&#160; Deleting the comments at the top of the file resolved this.</p>  <p>Since searching for the above error message returned no results except for a bug in our internal KB.&#160; I thought I would throw this out there in case it helps someone else.</p>  <p>Wait, what does this have to do with SharePoint?&#160; In the new app model in Office and SharePoint 2013, every web technology is potentially a SharePoint application.&#160; I am looking forward to branching out.&#160; <img class="wlEmoticon wlEmoticon-smile" style="style" alt="Smile" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/29/36/metablogapi/5518.wlEmoticon-smile_2CDA3CC5.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-36-metablogapi/5518.wlEmoticon_2D00_smile_5F00_2CDA3CC5.png" /></p><div style="clear:both;"></div><img src="http://blogs.msdn.com/aggbug.aspx?PostID=10347228" width="1" height="1">]]></content:encoded>
    </item>
    <item>
      <title>Considerations for configuring application pools in SharePoint</title>
      <link>https://docs.microsoft.com/archive/blogs/pfemike/considerations-for-configuring-application-pools-in-sharepoint</link>
      <pubDate>Tue, 28 Aug 2012 13:42:21 GMT</pubDate>
      <dc:creator><![CDATA[Michael Morrison3]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/pfemike/2012/08/28/considerations-for-configuring-application-pools-in-sharepoint/</guid>
      <description><![CDATA[I usually recommend my customers group similar web applications into the same application...]]></description>
      <content:encoded><![CDATA[<p>I usually recommend my customers group similar web applications into the same application pool.&#160; Each application pool brings additional server resources like memory.&#160; In addition, the <a href="http://technet.microsoft.com/en-us/library/cc262787.aspx#WebserverAppServer">supported boundary for Application Pools</a> is 10.&#160; </p>  <p>Let’s say we have the following web applications.</p>  <p><a href="http://collab">http://collab</a></p>  <p><a href="http://intranet">http://intranet</a></p>  <p><a href="http://extranet">http://extranet</a></p>  <p><a href="http://paycheck">http://paycheck</a></p>  <p>I would consider the following configuration:</p>  <table cellspacing="0" cellpadding="8" width="400" border="1"><tbody>     <tr>       <td valign="top" width="200">         <p><strong>App Pool Name:</strong></p>       </td>       <strong></strong>        <td valign="top" width="200">         <p><strong>SharePoint Shared App Pool</strong></p>       </td>     </tr>      <tr>       <td valign="top" width="200">         <p>Service Account:</p>       </td>        <td valign="top" width="200">         <p>Svc.SPShared</p>       </td>     </tr>      <tr>       <td valign="top" width="200">         <p>Apps: </p>       </td>        <td valign="top" width="200">         <p><a href="http://collab/">http://collab</a> </p>          <p><a href="http://intranet/">http://intranet</a></p>       </td>     </tr>   </tbody></table>  <p>&#160;</p>  <table cellspacing="0" cellpadding="8" width="400" border="1"><tbody>     <tr>       <td valign="top" width="200">         <p>App Pool Name:</p>       </td>        <td valign="top" width="200">         <p>SharePoint Extranet App Pool</p>       </td>     </tr>      <tr>       <td valign="top" width="200">         <p>Service Account:</p>       </td>        <td valign="top" width="200">         <p>Svc.SPExtranet</p>       </td>     </tr>      <tr>       <td valign="top" width="200">         <p>Apps: </p>       </td>        <td valign="top" width="200">         <p><a href="http://extranet/">http://extranet</a></p>       </td>     </tr>   </tbody></table>  <p>&#160;</p>  <table cellspacing="0" cellpadding="8" width="400" border="1"><tbody>     <tr>       <td valign="top" width="200">         <p>App Pool Name:</p>       </td>        <td valign="top" width="200">         <p>SharePoint Paycheck</p>       </td>     </tr>      <tr>       <td valign="top" width="200">         <p>Service Account:</p>       </td>        <td valign="top" width="200">         <p>Svc.SPPaycheck</p>       </td>     </tr>      <tr>       <td valign="top" width="200">         <p>Apps: </p>       </td>        <td valign="top" width="200">         <p><a href="http://paycheck/">http://paycheck</a></p>       </td>     </tr>   </tbody></table>  <p>&#160;</p>  <p>If you can group certain applications you should. However, in the case of payroll if someone managed to run some code as or compromise the SPShared account, they would not automatically have permissions to <a href="http://paycheck">http://paycheck</a> or <a href="http://extranet">http://extranet</a>.</p>  <p>However, since <a href="http://collab">http://collab</a> and <a href="http://intranet">http://intranet</a> both have lower impact in this scenario it might make sense for those web applications to share an application pool. </p>  <p>Obviously you would want to take performance into account and the actual content.&#160; However, I would try to share application pools where it makes sense.</p><div style="clear:both;"></div><img src="http://blogs.msdn.com/aggbug.aspx?PostID=10344363" width="1" height="1">]]></content:encoded>
    </item>
    <item>
      <title>Disable SharePoint 2010 list throttling at the list level</title>
      <link>https://docs.microsoft.com/archive/blogs/pfemike/disable-sharepoint-2010-list-throttling-at-the-list-level</link>
      <pubDate>Tue, 28 Aug 2012 12:48:20 GMT</pubDate>
      <dc:creator><![CDATA[Michael Morrison3]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/pfemike/2012/08/28/disable-sharepoint-2010-list-throttling-at-the-list-level/</guid>
      <description><![CDATA[You can disable list throttling at the list level in SharePoint 2010. Note that in order to do this,...]]></description>
      <content:encoded><![CDATA[<p>You can disable list throttling at the list level in SharePoint 2010. Note that in order to do this, <b>you must have Farm Administrator privileges.</b><p>First, this can only be done via PowerShell, <a href="http://spm.codeplex.com/">SharePoint Manager</a>, or <a href="http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.splist.enablethrottling.aspx">Object Model</a>.<p>I will be covering the PowerShell method in this post, but here is a screen shot of where you would make the change in SharePoint Manager after navigating to the list.<h3></h3><h3><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/29/36/metablogapi/5353.SNAGHTML1d462229_3A9FE9CE.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-36-metablogapi/5353.SNAGHTML1d462229_5F00_3A9FE9CE.png"><img width="582" height="438" title="SNAGHTML1d462229" style="display: inline; background-image: none;" alt="SNAGHTML1d462229" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/29/36/metablogapi/1055.SNAGHTML1d462229_thumb_4BA417B1.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-36-metablogapi/1055.SNAGHTML1d462229_5F00_thumb_5F00_4BA417B1.png" border="0"></a><br></h3><h3>Using PowerShell to disable List Throttling</h3><table width="400" border="1" cellspacing="0" cellpadding="10">
<tbody>
<tr>
<td width="398" valign="top"><font face="Consolas">$web = Get-SPWeb </font><a href="http://url/to/web/with/list"><font face="Consolas">http://url/to/web/with/list</font></a><br><font face="Consolas">$list = $web.Lists[“BIG_LIST_NAME”]<br></font><font face="Consolas">$list.EnableThrottling = $false</font></td>
</tr>
</tbody>
</table>
<pre>&nbsp;</pre><p><font color="#ff0000"><strong>Warning:</strong>&nbsp; Throttling is enabled for a good reason.&nbsp; Disabling throttling can cause performance problems.&nbsp; If you need to disable throttling for a specific list, I recommend moving the site collection containing the list to a dedicated content database.&nbsp; This way if SQL table locking performance issues would be contained to the sites in that content database.</font></p><p>For more information about the performance indications see the following article from MSDN:</p><p>Query Throttling and Indexing<br><a title="http://msdn.microsoft.com/en-us/library/ff798465.aspx" href="http://msdn.microsoft.com/en-us/library/ff798465.aspx">http://msdn.microsoft.com/en-us/library/ff798465.aspx</a></p><div style="clear:both;"></div><img src="http://blogs.msdn.com/aggbug.aspx?PostID=10344341" width="1" height="1">]]></content:encoded>
    </item>
    <item>
      <title>Getting all values from a Choice field in SharePoint 2010 using CSOM</title>
      <link>https://docs.microsoft.com/archive/blogs/pfemike/getting-all-values-from-a-choice-field-in-sharepoint-2010-using-csom</link>
      <pubDate>Thu, 12 Jul 2012 09:48:23 GMT</pubDate>
      <dc:creator><![CDATA[Michael Morrison3]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/pfemike/2012/07/12/getting-all-values-from-a-choice-field-in-sharepoint-2010-using-csom/</guid>
      <description><![CDATA[I recently ran into an issue where I needed to get possible values for a SharePoint 2010 choice...]]></description>
      <content:encoded><![CDATA[<p>I recently ran into an issue where I needed to get possible values for a SharePoint 2010 choice column.&#160; Thought I would share the code in case anyone else runs across this need.&#160; This code uses the ECMAScript Client-Side Object Model.&#160; </p> <link rel="stylesheet" type="text/css" href="http://alexgorbatchev.com/pub/sh/2.1.382/styles/shThemeDefault.css" /><script src="http://alexgorbatchev.com/pub/sh/2.1.382/scripts/shCore.js" type="text/javascript"></script><script src="http://alexgorbatchev.com/pub/sh/2.1.382/scripts/shBrushJScript.js" type="text/javascript"></script> <pre class="brush: js;">
//Variable to hold the value once returned from SharePoint client.svc
    var distinctChoices = [],
        // Function to return all of the choices from the Choice column passed in
        getUniqueColumnValuesFromChoice = function (columnName) {
            var ctx = new SP.ClientContext.get_current();
            var web = ctx.get_web();
            var list = web.get_lists().getByTitle('Radio Database');
            var field = list.get_fields().getByInternalNameOrTitle(columnName);
            var choiceField = ctx.castTo(field, SP.FieldChoice);

            ctx.load(field);
            /* Call executeQueryAsync and pass in success and failure 
                anonymous functions */
            ctx.executeQueryAsync(function () {
                // Return array of all of the choices in the choice field
                distinctChoices = choiceField.get_choices();
                /* Since call is asynchronous, call function to interact 
                with the choices */
                onFieldLoaded();
            },
            // This will be called when executeQueryAsync fails
            function (sender, args) {
                console.log(args);
            });
        };

    function onFieldLoaded() {
        // Not called until choices are loaded into distonctChoices array
    };
    
</pre>
<script type="text/javascript">
     SyntaxHighlighter.all()
</script><div style="clear:both;"></div><img src="http://blogs.msdn.com/aggbug.aspx?PostID=10329323" width="1" height="1">]]></content:encoded>
    </item>
    <item>
      <title>Determine the edition of SharePoint Server 2007</title>
      <link>https://docs.microsoft.com/archive/blogs/pfemike/determine-the-edition-of-sharepoint-server-2007</link>
      <pubDate>Fri, 22 Jun 2012 13:17:32 GMT</pubDate>
      <dc:creator><![CDATA[Michael Morrison3]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/pfemike/2012/06/22/determine-the-edition-of-sharepoint-server-2007/</guid>
      <description><![CDATA[To determine which edition of SharePoint Server 2007 is installed for the purposes of inventory, the...]]></description>
      <content:encoded><![CDATA[<p>To determine which edition of SharePoint Server 2007 is installed for the purposes of inventory, the following registry key can be interrogated.&#160; </p>  <p>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office Server\12.0\OfficeServerPremium</p>  <p>If the value is 0 then the edition is Standard.&#160; If the value is 1 the edition is Enterprise.</p>  <p>The screenshot below helps to illustrate this.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/29/36/metablogapi/7230.image_1F31A211.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-36-metablogapi/7230.image_5F00_1F31A211.png"><img title="image" style="display: inline; background-image: none;" border="0" alt="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/29/36/metablogapi/8204.image_thumb_771EF2F1.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-36-metablogapi/8204.image_5F00_thumb_5F00_771EF2F1.png" width="815" height="605">&#160;</img></a></p><div style="clear:both;"></div><img src="http://blogs.msdn.com/aggbug.aspx?PostID=10323098" width="1" height="1">]]></content:encoded>
    </item>
    <item>
      <title>Determine which SharePoint 2010 Products and SKUs are installed</title>
      <link>https://docs.microsoft.com/archive/blogs/pfemike/determine-which-sharepoint-2010-products-and-skus-are-installed</link>
      <pubDate>Fri, 22 Jun 2012 11:48:56 GMT</pubDate>
      <dc:creator><![CDATA[Michael Morrison3]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/pfemike/2012/06/22/determine-which-sharepoint-2010-products-and-skus-are-installed/</guid>
      <description><![CDATA[To determine which SharePoint 2010 Products are installed for the purpose of inventory or...]]></description>
      <content:encoded><![CDATA[<p>To determine which SharePoint 2010 Products are installed for the purpose of inventory or conditional code logic, you can interrogate the registry.</p>  <p>The screenshot below illustrates the keys that need to be evaluated.</p>  <p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/29/36/metablogapi/1212.SNAGHTML2485056c_4AA7A3DE.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-36-metablogapi/1212.SNAGHTML2485056c_5F00_4AA7A3DE.png"><img title="SNAGHTML2485056c" style="display: inline; background-image: none;" border="0" alt="SNAGHTML2485056c" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/01/29/36/metablogapi/5123.SNAGHTML2485056c_thumb_5EC0C067.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-36-metablogapi/5123.SNAGHTML2485056c_5F00_thumb_5F00_5EC0C067.png" width="863" height="584" /></a></p>  <p>The following table shows a GUID to SKU mapping that can be used to determine which products and SKUs are installed.</p>  <table cellspacing="2" cellpadding="2" width="860" border="1"><tbody>     <tr>       <td valign="top" width="340">BEED1F75-C398-4447-AEF1-E66E1F0DF91E</td>        <td valign="top" width="512">SharePoint Foundation 2010</td>     </tr>      <tr>       <td valign="top" width="340">1328E89E-7EC8-4F7E-809E-7E945796E511</td>        <td valign="top" width="512">Search Server Express 2010</td>     </tr>      <tr>       <td valign="top" width="340">B2C0B444-3914-4ACB-A0B8-7CF50A8F7AA0</td>        <td valign="top" width="512">SharePoint Server 2010 Standard Trial</td>     </tr>      <tr>       <td valign="top" width="340">3FDFBCC8-B3E4-4482-91FA-122C6432805C</td>        <td valign="top" width="512">SharePoint Server 2010 Standard</td>     </tr>      <tr>       <td valign="top" width="340">88BED06D-8C6B-4E62-AB01-546D6005FE97</td>        <td valign="top" width="512">SharePoint Server 2010 Enterprise Trial</td>     </tr>      <tr>       <td valign="top" width="340">D5595F62-449B-4061-B0B2-0CBAD410BB51</td>        <td valign="top" width="512">SharePoint Server 2010 Enterprise</td>     </tr>      <tr>       <td valign="top" width="340">BC4C1C97-9013-4033-A0DD-9DC9E6D6C887</td>        <td valign="top" width="512">Search Server 2010 Trial</td>     </tr>      <tr>       <td valign="top" width="340">08460AA2-A176-442C-BDCA-26928704D80B</td>        <td valign="top" width="512">Search Server 2010</td>     </tr>      <tr>       <td valign="top" width="340">84902853-59F6-4B20-BC7C-DE4F419FEFAD</td>        <td valign="top" width="512">Project Server 2010 Trial</td>     </tr>      <tr>       <td valign="top" width="340">ED21638F-97FF-4A65-AD9B-6889B93065E2</td>        <td valign="top" width="512">Project Server 2010</td>     </tr>      <tr>       <td valign="top" width="340">926E4E17-087B-47D1-8BD7-91A394BC6196</td>        <td valign="top" width="512">Office Web Companions 2010</td>     </tr>   </tbody></table>  <p>In the screenshot above you can see that I have SharePoint Foundation 2010 and SharePoint Server 2010 Enterprise installed.&#160; If you have SharePoint Server installed you should always see SharePoint Foundation as well.&#160; SharePoint Foundation is the free version of SharePoint meant for small department implementations or as the foundation for other applications built on top of it.&#160; This means it is possible to see Foundation without server.</p><div style="clear:both;"></div><img src="http://blogs.msdn.com/aggbug.aspx?PostID=10323067" width="1" height="1">]]></content:encoded>
    </item>
  </channel>
</rss>