<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>Rob Windsor's Weblog</title><link>http://msmvps.com/blogs/windsor/default.aspx</link><description>More insane ramblings you can live without</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP2 (Build: 40407.4157)</generator><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/rwindsor" /><feedburner:info uri="rwindsor" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item><title>SharePoint Dev Quick Tip - Quickly and Easily Building SharePoint REST API Query URLs</title><link>http://feedproxy.google.com/~r/rwindsor/~3/yZuVaExdGj0/sharepoint-dev-quick-tip-quickly-and-easily-building-sharepoint-rest-api-query-urls.aspx</link><pubDate>Fri, 01 Feb 2013 03:58:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1823370</guid><dc:creator>windsor</dc:creator><slash:comments>1</slash:comments><wfw:commentRss>http://msmvps.com/blogs/windsor/rsscomments.aspx?PostID=1823370</wfw:commentRss><comments>http://msmvps.com/blogs/windsor/archive/2013/02/01/sharepoint-dev-quick-tip-quickly-and-easily-building-sharepoint-rest-api-query-urls.aspx#comments</comments><description>&lt;p&gt;Have you ever tried to build the URL for a REST API service call and ended up confused and frustrated? The OData query syntax is &lt;a href="http://www.odata.org/documentation/uri-conventions#SystemQueryOptions"&gt;well documented&lt;/a&gt;, it&amp;rsquo;s just not that intuitive. Well, if you want to query list data I have a little trick you can use to have the appropriate URL generated for you. Unfortunately this trick doesn&amp;rsquo;t work with the SharePoint 2013 _api service since it doesn&amp;rsquo;t expose metadata.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Step 1:&lt;/strong&gt;     &lt;br /&gt;Create a Console application and add a Service Reference to the ListData.svc service for your SharePoint site. I set the Namespace to DemoProxy in my example.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windsor.metablogapi/2671.Capture_5F00_3E933D50.png"&gt;&lt;img style="background-image:none;border-right-width:0px;margin:5px 5px 5px 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="Capture" border="0" alt="Capture" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windsor.metablogapi/5488.Capture_5F00_thumb_5F00_4F976B33.png" width="598" height="484" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Step 2:&lt;/strong&gt;     &lt;br /&gt;Inside the Main method, create an instance of the data context and attach the default credentials. &lt;/p&gt;
&lt;pre style="background-color:#f0f0f0;font-family:lucida console;"&gt;var context = new DemoProxy.DemoDataContext(new Uri(&amp;quot;http://win7virtualbox/sites/demo/_vti_bin/ListData.svc/&amp;quot;));
context.Credentials = System.Net.CredentialCache.DefaultCredentials;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;Step 3:&lt;/strong&gt; 
  &lt;br /&gt;Write a LINQ query that retrieves the data you want. My site has some data I brought over from Northwind so I&amp;rsquo;ll use that. &lt;/p&gt;
&lt;pre style="background-color:#f0f0f0;font-family:lucida console;"&gt;var products = from product in context.Products
                where product.UnitsInStock &amp;gt; 0 &amp;amp;&amp;amp;
                product.Category.Title == &amp;quot;Condiments&amp;quot;
                orderby product.UnitPrice
                select product;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;Step 4:&lt;/strong&gt; 
  &lt;br /&gt;Run your program in debug mode and use the data tip or the locals windows to get the generated query. You could also use Fiddler for this.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windsor.metablogapi/1882.Capture_5F00_28E8DEE6.jpg"&gt;&lt;img style="background-image:none;border-right-width:0px;margin:5px 5px 5px 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="Capture" border="0" alt="Capture" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windsor.metablogapi/5460.Capture_5F00_thumb_5F00_45A253FB.jpg" width="644" height="454" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;And viola, in a minute or two you have the query you want. For me it looked like this:&lt;/p&gt;
&lt;pre style="background-color:#f0f0f0;font-family:lucida console;"&gt;/_vti_bin/ListData.svc/Products()?$filter=(UnitsInStock gt 0) and (Category/Title eq &amp;#39;Condiments&amp;#39;)&amp;amp;$orderby=UnitPrice&lt;/pre&gt;
&lt;p&gt;This tip and much more can be found in my &lt;a href="http://www.pluralsight.com/training/Courses/TableOfContents/sharepoint-2010-lists-and-libraries"&gt;SharePoint 2010 Lists and Libraries for Developers&lt;/a&gt; course on Pluralsight.&lt;/p&gt;
&lt;p&gt;(Please visit the site to view this media)&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1823370" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=yZuVaExdGj0:9q9-zps7Cgo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=yZuVaExdGj0:9q9-zps7Cgo:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=yZuVaExdGj0:9q9-zps7Cgo:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?i=yZuVaExdGj0:9q9-zps7Cgo:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=yZuVaExdGj0:9q9-zps7Cgo:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?i=yZuVaExdGj0:9q9-zps7Cgo:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rwindsor/~4/yZuVaExdGj0" height="1" width="1"/&gt;</description><category domain="http://msmvps.com/blogs/windsor/archive/tags/Development/default.aspx">Development</category><category domain="http://msmvps.com/blogs/windsor/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://msmvps.com/blogs/windsor/archive/tags/Quick+Tip/default.aspx">Quick Tip</category><category domain="http://msmvps.com/blogs/windsor/archive/tags/OData/default.aspx">OData</category><feedburner:origLink>http://msmvps.com/blogs/windsor/archive/2013/02/01/sharepoint-dev-quick-tip-quickly-and-easily-building-sharepoint-rest-api-query-urls.aspx</feedburner:origLink></item><item><title>My Thoughts on the Developer Content at the SharePoint Conference 2012 (The Appy Hour)</title><link>http://feedproxy.google.com/~r/rwindsor/~3/rr1X0gI6zdQ/my-thoughts-on-the-developer-content-at-the-sharepoint-conference-2012-the-appy-hour.aspx</link><pubDate>Sun, 18 Nov 2012 06:52:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1819407</guid><dc:creator>windsor</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://msmvps.com/blogs/windsor/rsscomments.aspx?PostID=1819407</wfw:commentRss><comments>http://msmvps.com/blogs/windsor/archive/2012/11/18/my-thoughts-on-the-developer-content-at-the-sharepoint-conference-2012-the-appy-hour.aspx#comments</comments><description>&lt;p&gt;Another SharePoint Conference has come and gone and it&amp;rsquo;s time for the obligatory wrap-up post (at least what I can remember). This was a very busy conference for me, almost to the point of being overwhelming. I caught some sessions live and got to spend time with my colleagues from Portal and Pluralsight, but I didn&amp;rsquo;t get nearly enough time to spend with the seemingly endless number of other people I knew at the conference. &lt;/p&gt;
&lt;p&gt;Being an MVP, I had early access to the beta/preview bits and to training so I came into the conference with a solid understanding of the App model. What I wanted to see was if the messaging from Microsoft had changed since I wrote &lt;a href="http://msmvps.com/blogs/windsor/archive/2012/07/18/sharepoint-2013-development-microsoft-s-heads-are-in-the-clouds.aspx"&gt;SharePoint 2013 Development&amp;ndash;Microsoft has their Heads in the Clouds&lt;/a&gt;. It was very clear from the start that it had not &amp;ndash; the developer sessions were all Apps and all Office 365. Aside from a brief comment here and there and one demo in one session, you wouldn&amp;rsquo;t have known that the Solutions model (farm and sandbox solutions) even existed. Also, all of the demos I saw were done on Office 365 and the presenters made claims and comments only applicable to Office 365 without qualifying that was the case. They seemed to assume that everyone had or will be moving to Office 365.&lt;/p&gt;
&lt;p&gt;While the conference was going on I saw several Tweets and participated in or overheard conversations from attendees confused by what they had seen. Hopefully the following will help address some of the misconceptions and misunderstandings:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Farm and sandboxed solutions are still viable options in SharePoint 2013. Apps are an alternative to solutions, not their replacement.&lt;/li&gt;
&lt;li&gt;Visual Studio 2012 has almost the exact same tooling for building solutions for SharePoint 2013 as Visual Studio 2010 did for SharePoint 2010.&lt;/li&gt;
&lt;li&gt;You can still build and use web parts in SharePoint 2013. App parts are an alternative, not their replacement.&amp;nbsp; &lt;/li&gt;
&lt;li&gt;Unless you only plan on building Apps for Office 365, you will need to install SharePoint on your development machine.&lt;/li&gt;
&lt;li&gt;Apps cannot do everything farm solutions can do. While there have been significant extensions to CSOM and REST APIs, the Server Object Model is still more powerful and extensive.&lt;/li&gt;
&lt;li&gt;Napa is a tool for learning and prototyping. It is not meant to be used to build production Apps.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I want to make it clear that I am not anti-App. I think the App model makes a lot of sense in several situations, I just don&amp;rsquo;t think it make sense in all situations. &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1819407" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=rr1X0gI6zdQ:BBi7jaAZ3Ks:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=rr1X0gI6zdQ:BBi7jaAZ3Ks:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=rr1X0gI6zdQ:BBi7jaAZ3Ks:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?i=rr1X0gI6zdQ:BBi7jaAZ3Ks:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=rr1X0gI6zdQ:BBi7jaAZ3Ks:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?i=rr1X0gI6zdQ:BBi7jaAZ3Ks:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rwindsor/~4/rr1X0gI6zdQ" height="1" width="1"/&gt;</description><category domain="http://msmvps.com/blogs/windsor/archive/tags/Development/default.aspx">Development</category><category domain="http://msmvps.com/blogs/windsor/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://msmvps.com/blogs/windsor/archive/tags/SharePoint2013/default.aspx">SharePoint2013</category><category domain="http://msmvps.com/blogs/windsor/archive/tags/Conference/default.aspx">Conference</category><feedburner:origLink>http://msmvps.com/blogs/windsor/archive/2012/11/18/my-thoughts-on-the-developer-content-at-the-sharepoint-conference-2012-the-appy-hour.aspx</feedburner:origLink></item><item><title>SharePoint Dev Quick Tip–Finding the Internal Name of a Field</title><link>http://feedproxy.google.com/~r/rwindsor/~3/dUpVYlyHToE/sharepoint-dev-quick-tip-finding-the-internal-name-of-a-field.aspx</link><pubDate>Tue, 04 Sep 2012 15:43:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1815839</guid><dc:creator>windsor</dc:creator><slash:comments>1</slash:comments><wfw:commentRss>http://msmvps.com/blogs/windsor/rsscomments.aspx?PostID=1815839</wfw:commentRss><comments>http://msmvps.com/blogs/windsor/archive/2012/09/04/sharepoint-dev-quick-tip-finding-the-internal-name-of-a-field.aspx#comments</comments><description>&lt;p&gt;&lt;em&gt;Note: For the purposes of this post I&amp;rsquo;m going to assume you know the difference between the display name and the internal name of a field and why you should use the internal name when referring to fields in code and queries.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;There are several tools/tricks you can use to get the internal name of a field. In this quick tip I&amp;rsquo;ll show you two tools I like to use: Visual Studio and SharePoint Manager.&lt;/p&gt;
&lt;p&gt;Let&amp;rsquo;s say we have a site named Demo that contains a list named Demo that contains a field named Application Type and that I want to get the internal name of this field. I can open Server Explorer in Visual Studio 2010, expand SharePoint Connections, expand the appropriate site collection (you&amp;rsquo;ll need to attach to it if there is no node), expand the Demo site, expand Lists and Libraries, expand Lists, expand Demo, expand Fields, and finally select Application Type. With this node selected I can look at the properties of the field in the Properties Window, one of these will be the internal name.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windsor.metablogapi/5468.Capture2_5F00_52DD4F7E.jpg"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;margin:5px 5px 5px 0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="Capture2" border="0" alt="Capture2" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windsor.metablogapi/0131.Capture2_5F00_thumb_5F00_1E5C7D36.jpg" width="644" height="372" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windsor.metablogapi/8372.Capture_5F00_03AFE11D.jpg"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;margin:5px 5px 5px 0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="Capture" border="0" alt="Capture" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windsor.metablogapi/8814.Capture_5F00_thumb_5F00_6B5CC701.jpg" width="644" height="373" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Now, let&amp;rsquo;s say we want to get the internal name of the % Complete site column in the Demo site. The Server Explorer does not contain a node for site columns so we&amp;rsquo;ll use SharePoint Manager 2010 instead. SharePoint Manager is a free tool you can download from &lt;a title="http://spm.codeplex.com/" href="http://spm.codeplex.com/"&gt;http://spm.codeplex.com/&lt;/a&gt;. Once you&amp;rsquo;ve downloaded the 2010 version and unzipped (there&amp;rsquo;s no install necessary), run the program as administrator. Just like we did in the Server Explorer, navigate down the tree view until you can select the node representing the % Complete field. The window on the right will show its properties, including the internal name.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windsor.metablogapi/4834.Capture3_5F00_3E676426.jpg"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;margin:5px 5px 5px 0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="Capture3" border="0" alt="Capture3" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windsor.metablogapi/0027.Capture3_5F00_thumb_5F00_35F36902.jpg" width="644" height="389" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1815839" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=dUpVYlyHToE:F-wJrPZ3QFA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=dUpVYlyHToE:F-wJrPZ3QFA:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=dUpVYlyHToE:F-wJrPZ3QFA:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?i=dUpVYlyHToE:F-wJrPZ3QFA:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=dUpVYlyHToE:F-wJrPZ3QFA:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?i=dUpVYlyHToE:F-wJrPZ3QFA:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rwindsor/~4/dUpVYlyHToE" height="1" width="1"/&gt;</description><category domain="http://msmvps.com/blogs/windsor/archive/tags/Development/default.aspx">Development</category><category domain="http://msmvps.com/blogs/windsor/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://msmvps.com/blogs/windsor/archive/tags/Quick+Tip/default.aspx">Quick Tip</category><feedburner:origLink>http://msmvps.com/blogs/windsor/archive/2012/09/04/sharepoint-dev-quick-tip-finding-the-internal-name-of-a-field.aspx</feedburner:origLink></item><item><title>SharePoint 2013 Sandboxed Solutions Deprecated?</title><link>http://feedproxy.google.com/~r/rwindsor/~3/aPL8zwSuP8o/sharepoint-2013-sandboxed-solutions-deprecated.aspx</link><pubDate>Fri, 20 Jul 2012 23:54:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1813193</guid><dc:creator>windsor</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://msmvps.com/blogs/windsor/rsscomments.aspx?PostID=1813193</wfw:commentRss><comments>http://msmvps.com/blogs/windsor/archive/2012/07/21/sharepoint-2013-sandboxed-solutions-deprecated.aspx#comments</comments><description>&lt;p&gt;If sandboxed solutions could talk, I&amp;rsquo;m sure they would be uttering the famous Mark Twain line, &amp;ldquo;The reports of my death are greatly exaggerated&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Twitter and other social media sites were a buzz early this week after the release of the SharePoint 2013 Preview. Amid the posts were some like these:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windsor.metablogapi/2313.image_5F00_63949E56.png"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;margin:5px 5px 5px 0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="image" border="0" alt="image" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windsor.metablogapi/8765.image_5F00_thumb_5F00_5C092EE9.png" width="324" height="143" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windsor.metablogapi/8304.image_5F00_696F41EF.png"&gt;&lt;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="image" border="0" alt="image" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windsor.metablogapi/5076.image_5F00_thumb_5F00_76D554F5.png" width="324" height="135" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windsor.metablogapi/0724.image_5F00_6F49E588.png"&gt;&lt;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="image" border="0" alt="image" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windsor.metablogapi/7585.image_5F00_thumb_5F00_39D12363.png" width="324" height="156" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Needless to say there were many questions about what this meant. The issue was brought to the product team and they said that the text in some of the documentation did not clearly represent their position on sandboxed solutions. The documentation has since been changed to state: &lt;strong&gt;SharePoint sandboxed solutions are deprecated in SharePoint 2013 Preview in favor of developing apps for SharePoint. &lt;/strong&gt;My interpretation of this is: we (Microsoft) feel that Apps can do what sandboxed solutions can do and we feel that the future of development on the SharePoint platform are Apps so we suggest you stop using sandboxed solutions.&lt;/p&gt;
&lt;p&gt;So, are sandboxed solutions still supported in SharePoint 2013? Yes they are. What about the next version of SharePoint? Maybe, it depends on whether the App model is all it&amp;rsquo;s cracked up to be. It&amp;rsquo;s still too early to call.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1813193" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=aPL8zwSuP8o:CWaDLKxs678:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=aPL8zwSuP8o:CWaDLKxs678:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=aPL8zwSuP8o:CWaDLKxs678:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?i=aPL8zwSuP8o:CWaDLKxs678:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=aPL8zwSuP8o:CWaDLKxs678:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?i=aPL8zwSuP8o:CWaDLKxs678:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rwindsor/~4/aPL8zwSuP8o" height="1" width="1"/&gt;</description><category domain="http://msmvps.com/blogs/windsor/archive/tags/Development/default.aspx">Development</category><category domain="http://msmvps.com/blogs/windsor/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://msmvps.com/blogs/windsor/archive/tags/SharePoint2013/default.aspx">SharePoint2013</category><feedburner:origLink>http://msmvps.com/blogs/windsor/archive/2012/07/21/sharepoint-2013-sandboxed-solutions-deprecated.aspx</feedburner:origLink></item><item><title>SharePoint Dev Quick Tip - SharePoint 2013 Web Part Page</title><link>http://feedproxy.google.com/~r/rwindsor/~3/O8GAIYg5nZ0/sharepoint-2013-web-part-page.aspx</link><pubDate>Thu, 19 Jul 2012 15:45:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1813115</guid><dc:creator>windsor</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://msmvps.com/blogs/windsor/rsscomments.aspx?PostID=1813115</wfw:commentRss><comments>http://msmvps.com/blogs/windsor/archive/2012/07/19/sharepoint-2013-web-part-page.aspx#comments</comments><description>&lt;p&gt;Took me a while to find how to create a Web Part Page in SharePoint 2013. You can create one using the New Document dropdown in the Site Pages library.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windsor.metablogapi/0882.SP2013WebPartPage_5F00_5CEF7A1E.jpg"&gt;&lt;img style="background-image:none;border-bottom:0px;border-left:0px;margin:5px 5px 5px 0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px;" title="SP2013WebPartPage" border="0" alt="SP2013WebPartPage" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windsor.metablogapi/8863.SP2013WebPartPage_5F00_thumb_5F00_60AD1EEE.jpg" width="644" height="260" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1813115" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=O8GAIYg5nZ0:pY3qj5fkdTM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=O8GAIYg5nZ0:pY3qj5fkdTM:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=O8GAIYg5nZ0:pY3qj5fkdTM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?i=O8GAIYg5nZ0:pY3qj5fkdTM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=O8GAIYg5nZ0:pY3qj5fkdTM:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?i=O8GAIYg5nZ0:pY3qj5fkdTM:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rwindsor/~4/O8GAIYg5nZ0" height="1" width="1"/&gt;</description><category domain="http://msmvps.com/blogs/windsor/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://msmvps.com/blogs/windsor/archive/tags/SharePoint2013/default.aspx">SharePoint2013</category><category domain="http://msmvps.com/blogs/windsor/archive/tags/Quick+Tip/default.aspx">Quick Tip</category><feedburner:origLink>http://msmvps.com/blogs/windsor/archive/2012/07/19/sharepoint-2013-web-part-page.aspx</feedburner:origLink></item><item><title>SharePoint 2013 Developer Resource Links</title><link>http://feedproxy.google.com/~r/rwindsor/~3/9TyvTF_DksM/sharepoint-2013-developer-resource-links.aspx</link><pubDate>Thu, 19 Jul 2012 15:26:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1813113</guid><dc:creator>windsor</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://msmvps.com/blogs/windsor/rsscomments.aspx?PostID=1813113</wfw:commentRss><comments>http://msmvps.com/blogs/windsor/archive/2012/07/19/sharepoint-2013-developer-resource-links.aspx#comments</comments><description>&lt;p&gt;I&amp;rsquo;m posting these mostly so I can find them again later&lt;/p&gt;
&lt;h3&gt;Setting up a developer environment&lt;/h3&gt;
&lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/office/apps/fp179923(v=office.15)"&gt;How to: Set up an on-premises development environment for apps for SharePoint&lt;/a&gt;    &lt;br /&gt;&lt;a href="http://www.elumenotion.com/Blog/Lists/Posts/Post.aspx?ID=155"&gt;Configuring Visual Studio 2012 RC for SharePoint 2013 Preview Development&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;SharePoint App Development&lt;/h3&gt;
&lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/office/apps/fp179930(v=office.15)"&gt;Apps for SharePoint overview&lt;/a&gt;    &lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-US/office/apps/fp123626"&gt;Developer training&lt;/a&gt;    &lt;br /&gt;&lt;a href="http://social.msdn.microsoft.com/Forums/en-US/sharepointdevpreview/threads"&gt;SharePoint 2013 Preview for Developers (Forums)&lt;/a&gt;    &lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/jj163114"&gt;Apps for SharePoint compared with SharePoint solutions&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1813113" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=9TyvTF_DksM:A6E3Bmx1qZI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=9TyvTF_DksM:A6E3Bmx1qZI:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=9TyvTF_DksM:A6E3Bmx1qZI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?i=9TyvTF_DksM:A6E3Bmx1qZI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=9TyvTF_DksM:A6E3Bmx1qZI:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?i=9TyvTF_DksM:A6E3Bmx1qZI:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rwindsor/~4/9TyvTF_DksM" height="1" width="1"/&gt;</description><category domain="http://msmvps.com/blogs/windsor/archive/tags/Development/default.aspx">Development</category><category domain="http://msmvps.com/blogs/windsor/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://msmvps.com/blogs/windsor/archive/tags/SharePoint2013/default.aspx">SharePoint2013</category><feedburner:origLink>http://msmvps.com/blogs/windsor/archive/2012/07/19/sharepoint-2013-developer-resource-links.aspx</feedburner:origLink></item><item><title>SharePoint 2013 Development–Microsoft has their Heads in the Clouds</title><link>http://feedproxy.google.com/~r/rwindsor/~3/zx1gp7BB7Hk/sharepoint-2013-development-microsoft-s-heads-are-in-the-clouds.aspx</link><pubDate>Wed, 18 Jul 2012 19:21:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1813060</guid><dc:creator>windsor</dc:creator><slash:comments>3</slash:comments><wfw:commentRss>http://msmvps.com/blogs/windsor/rsscomments.aspx?PostID=1813060</wfw:commentRss><comments>http://msmvps.com/blogs/windsor/archive/2012/07/18/sharepoint-2013-development-microsoft-s-heads-are-in-the-clouds.aspx#comments</comments><description>&lt;p&gt;The SharePoint 2013 Preview has been out for a couple days and I have it all figured out – not! But I have seen enough to get the general feel of the release, at least from a developers perspective.&lt;/p&gt;  &lt;h3&gt;The App and Solution Models&lt;/h3&gt;  &lt;p&gt;The vast majority of the material that has been released over the last couple days is on the new App model. For the purposes of this post I’m going to assume you have a general idea of what the App model is and how it will be used. If you don’t and you want an overview go to &lt;a href="http://msdn.microsoft.com/en-us/library/office/apps/fp179930(v=office.15)"&gt;Apps for SharePoint overview&lt;/a&gt;, if you want details go to &lt;a href="http://msdn.microsoft.com/en-US/office/apps/fp123626"&gt;(SharePoint 2013) Developer Training&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;I get why there’s a need for the App model. We need a development model for clients who are multi-tenant hosted (read Office 365) or who have very locked down systems that doesn’t involve pushing files into the file systems of the SharePoint servers. From what I’ve seen of the App model it is a very well thought out way to solve that problem. However, these clients make up a pretty small percentage of the total number of clients using SharePoint. I’m pretty certain it’s under 25% and I might be willing to wager a penny or two that it’s under 15%. For the rest of the clients we still have the existing Solution model to use when building SharePoint applications – or do we?&lt;/p&gt;  &lt;p&gt;As I’ve been going through the material on MSDN and TechNet (and kudos to everyone involved for getting so much material out so quickly) I’ve seen things that me go hmmmmmmm. Here are some examples:&lt;/p&gt;  &lt;p&gt;From &lt;a href="http://msdn.microsoft.com/en-us/library/fp179899(v=office.15).aspx"&gt;What you can do in an app for SharePoint (2013)&lt;/a&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;With previous versions of SharePoint, farm administrators sometimes refused to install any custom SharePoint extensions because of the danger of errant code. In SharePoint 2013 Preview, that problem is essentially eliminated because the client object models have been greatly expanded. &lt;strong&gt;This means that you as a developer do not have to use the server object model anymore.&lt;/strong&gt; &lt;strong&gt;All your custom business logic moves &amp;quot;up&amp;quot; to the cloud or &amp;quot;down&amp;quot; to a client machine&lt;/strong&gt;, and it uses one of the client APIs discussed in an earlier section. Because the app does not (actually cannot) contain custom code that executes on the SharePoint servers, administrators are assured of its safety. &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;From &lt;a href="http://msdn.microsoft.com/en-us/library/jj163114"&gt;Apps for SharePoint compared with SharePoint solutions&lt;/a&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;The most important guidance we can give you is to develop an app for SharePoint rather than a classic solution whenever you can&lt;/strong&gt;. Apps for SharePoint have the following advantages over classic solutions&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;From &lt;a href="http://msdn.microsoft.com/en-us/library/jj163114"&gt;Apps for SharePoint compared with SharePoint solutions&lt;/a&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;SharePoint sandboxed solutions are deprecated in SharePoint 2013 Preview in favor of developing apps for SharePoint&lt;/strong&gt;, but sandboxed solutions can still be installed to site collections on SharePoint 2013 Preview. This topic compares apps for SharePoint with farm solutions. &lt;/p&gt;    &lt;p&gt;[RW: This text was changed after the original release of the document. The original text read: SharePoint sandboxed solutions are deprecated in SharePoint 2013 Preview. This topic compares apps for SharePoint with farm solutions.]&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;From &lt;a href="http://msdn.microsoft.com/en-us/library/jj164060(v=office.15).aspx"&gt;Choose the right API set in SharePoint 2013&lt;/a&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;strong&gt;Developing new sandboxed solutions against SharePoint 2013 Preview is deprecated in favor of developing apps for SharePoint&lt;/strong&gt;, but sandboxed solutions can still be installed to site collections on SharePoint 2013 Preview. &lt;/p&gt;    &lt;p&gt;[RW: This text was changed after the original release of the document. The original text read: Developing new sandboxed solutions against SharePoint 2013 Preview is not supported, but sandboxed solutions developed against earlier versions of SharePoint can be installed to site collections on SharePoint 2013 Preview]&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;From &lt;a href="http://technet.microsoft.com/en-us/sharepoint/fp123606"&gt;SharePoint 2013 customization options and management&lt;/a&gt; (Module 10 - Video 4)&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Client OS installations are not anymore supported [sic] &lt;/p&gt;    &lt;p&gt;[RW: This means that Solutions development for SharePoint 2013 will need to be done on Windows Server]&lt;/p&gt; &lt;/blockquote&gt;  &lt;h3&gt;It’s ALL about the Cloud&lt;/h3&gt;  &lt;p&gt;These resources and some others I’ve seen have led me to believe that Microsoft doesn’t consider the App model as a companion to the Solution model, they see it as a replacement for the Solution model. If that’s true then the vision moving forward is that the vast majority of SharePoint applications will be implemented using the JavaScript Client Object Model or by JavaScript that calls out to custom web services hosted outside of SharePoint that communicate back to SharePoint using the .NET Managed Client Object Model.&lt;/p&gt;  &lt;p&gt;I think this would be fine if most clients were on Office 365, but they aren’t. As I said earlier, my experience tells me that more than 75% of companies out there don’t have an issue allowing Solutions to be deployed to their servers. If this is a case, why would they choose to use the App model over the Solution model? Client Object Model code is not as easy to write; even though Microsoft has made great strides to expand the Client Object Model APIs, they are still not as robust as the Server Object Model APIs; and, oh ya, there are all those service calls being made when you use the Client Object Model. IMHO, it doesn’t make sense.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;What Me Worry?&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;I think that a majority, maybe even a vast majority, of development during the SharePoint 2013 timeframe will use the Solutions model. What concerns me is that Microsoft is so committed to the idea that everyone is going to the cloud that they are going to spend all their resources on developing and evolving the App model when most of the developers in the community (including me) would benefit by some of that time being spent to improve the Solutions model.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1813060" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=zx1gp7BB7Hk:q0K5AS5wqKI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=zx1gp7BB7Hk:q0K5AS5wqKI:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=zx1gp7BB7Hk:q0K5AS5wqKI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?i=zx1gp7BB7Hk:q0K5AS5wqKI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=zx1gp7BB7Hk:q0K5AS5wqKI:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?i=zx1gp7BB7Hk:q0K5AS5wqKI:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rwindsor/~4/zx1gp7BB7Hk" height="1" width="1"/&gt;</description><category domain="http://msmvps.com/blogs/windsor/archive/tags/Development/default.aspx">Development</category><category domain="http://msmvps.com/blogs/windsor/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://msmvps.com/blogs/windsor/archive/tags/SharePoint2013/default.aspx">SharePoint2013</category><feedburner:origLink>http://msmvps.com/blogs/windsor/archive/2012/07/18/sharepoint-2013-development-microsoft-s-heads-are-in-the-clouds.aspx</feedburner:origLink></item><item><title>Walkthrough: Creating a Custom ASP.NET (ASMX) Web Service in SharePoint 2010</title><link>http://feedproxy.google.com/~r/rwindsor/~3/oKWqphWZyzA/walkthrough-creating-a-custom-asp-net-asmx-web-service-in-sharepoint-2010.aspx</link><pubDate>Fri, 04 Nov 2011 20:40:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1802093</guid><dc:creator>windsor</dc:creator><slash:comments>1</slash:comments><wfw:commentRss>http://msmvps.com/blogs/windsor/rsscomments.aspx?PostID=1802093</wfw:commentRss><comments>http://msmvps.com/blogs/windsor/archive/2011/11/04/walkthrough-creating-a-custom-asp-net-asmx-web-service-in-sharepoint-2010.aspx#comments</comments><description>&lt;p&gt;
&lt;p&gt;There is a&amp;nbsp;&lt;a href="http://msdn.microsoft.com/en-us/library/ms464040.aspx"&gt;walkthrough on this subject on MSDN&lt;/a&gt;. I&amp;rsquo;ve seen a few people comment that they have had issues trying to follow the walkthrough so I thought I&amp;rsquo;d create an alternate version.&lt;/p&gt;
&lt;ul&gt;
&lt;/ul&gt;
&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update&lt;/strong&gt;: A couple of people have asked for information on how to consume the service so I&amp;rsquo;ve added an extra section at the bottom.&lt;/p&gt;
&lt;h4&gt;Creating the ASP.NET Web Service&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;In Visual Studio, click File | New | Project&amp;hellip; &lt;/li&gt;
&lt;li&gt;In the New Project dialog, select the Visual C# &amp;gt; SharePoint &amp;gt; 2010 node under Installed Templates. &lt;/li&gt;
&lt;li&gt;Select the Empty SharePoint Project template, set the Name to WebServiceDemo and click OK. &lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;&lt;/ol&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windsor.metablogapi/1854.image_5F00_41B931DE.png"&gt;&lt;img height="459" width="644" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windsor.metablogapi/1541.image_5F00_thumb_5F00_0D74E2CB.png" alt="image" border="0" title="image" style="background-image:none;border-right-width:0px;margin:5px 5px 5px 0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;In the SharePoint Customization Wizard, enter the site you want to use for debugging, select Deploy as a farm solution, and click Finish. We are creating a farm solution because we need to deploy files to the SharePoint system folders (14 hive). &lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;&lt;/ol&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windsor.metablogapi/0523.image_5F00_0EA955DD.png"&gt;&lt;img height="459" width="644" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windsor.metablogapi/8875.image_5F00_thumb_5F00_335A6D54.png" alt="image" border="0" title="image" style="background-image:none;border-right-width:0px;margin:5px 5px 5px 0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;In the Solution Explorer, right-click on the project and select Add | SharePoint &amp;ldquo;Layouts&amp;rdquo; Mapped Folder. You should see two new folders added to your project. &lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;&lt;/ol&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windsor.metablogapi/6175.image_5F00_01331D0A.png"&gt;&lt;img height="244" width="238" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windsor.metablogapi/0160.image_5F00_thumb_5F00_46D7A728.png" alt="image" border="0" title="image" style="background-image:none;border-right-width:0px;margin:5px 5px 5px 0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Note: Normally web services go into the ISAPI folder. However, if we do that we will need go through all of the &lt;span style="text-decoration:line-through;"&gt;pain&lt;/span&gt; steps in the Generating and Modifying Static Discovery and WSDL Files section of the original walkthrough. Instead we are going to put the web service in a folder under the Layouts folder where these steps are not required. I have used this technique in the past have have not found any reason why custom ASP.NET web services should not be deployed under the layouts folder.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Right-click on the newly created WebServiceDemo folder, and select Add | New Item&amp;hellip; &lt;/li&gt;
&lt;li&gt;In the Add New Item dialog select Visual C# &amp;gt; General from Installed Templates, set Name to MyCustomWebService.asmx and click Add. &lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;&lt;/ol&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windsor.metablogapi/5342.image_5F00_12C307D5.png"&gt;&lt;img height="459" width="644" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windsor.metablogapi/6735.image_5F00_thumb_5F00_48E48024.png" alt="image" border="0" title="image" 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;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Inside the MyCustomWebService.asmx file, add the following markup. You&amp;#39;ll have to replace #assembly strong name# with the strong name of your assembly. Sahil Malik has a blog post describing &lt;a href="http://blah.winsmarts.com/2009-12-sharepoint_productivity_tip_of_the_day.aspx"&gt;how to get the strong name of your assembly by adding an External Tool into Visual Studio&lt;/a&gt;. &lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;&lt;/ol&gt;
&lt;pre style="background-color:#f0f0f0;font-family:lucida console;"&gt;&amp;lt;%@ WebService Class=&amp;quot;WebServiceDemo.MyCustomWebService, #assembly strong name# %&amp;gt;&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;In the Solution Explorer, right-click on the project and select Add | Class&amp;hellip; &lt;/li&gt;
&lt;li&gt;In the Add New Item dialog, set Name to MyCustomWebService.cs and click Add. &lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;&lt;/ol&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windsor.metablogapi/0218.image_5F00_2B427F58.png"&gt;&lt;img height="459" width="644" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windsor.metablogapi/2210.image_5F00_thumb_5F00_59D8883A.png" alt="image" border="0" title="image" 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;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Before we add the code to the class, we need to add a reference. In the Solution Explorer, right-click on the project and select Add Reference&amp;hellip; &lt;/li&gt;
&lt;li&gt;In the Add Reference dialog, select the .NET tab, select System.Web.Services, and click OK. &lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;&lt;/ol&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windsor.metablogapi/5153.image_5F00_02474482.png"&gt;&lt;img height="484" width="608" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windsor.metablogapi/4743.image_5F00_thumb_5F00_29BE10EC.png" alt="image" border="0" title="image" 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;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Inside the MyCustomWebService.cs file, replace the code with the following. &lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;&lt;/ol&gt;
&lt;pre style="background-color:#f0f0f0;font-family:lucida console;"&gt;using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web.Services;
using Microsoft.SharePoint;

namespace WebServiceDemo
{
    public class MyCustomWebService : WebService
    {
        [WebMethod]
        public string GetSiteListCount()
        {
            var web = SPContext.Current.Web;

            return (web.Title + &amp;quot; contains &amp;quot; +
                web.Lists.Count.ToString() + &amp;quot; lists.&amp;quot;);
        }
    }
}&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;Open Internet Explorer and navigate to your test SharePoint site. In the address bar add /_layouts/WebServiceDemo/MyCustomWebService.asmx and press Enter. You should see a service test page like the following. &lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;&lt;/ol&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windsor.metablogapi/0312.image_5F00_5A1449C8.png"&gt;&lt;img height="402" width="644" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windsor.metablogapi/1727.image_5F00_thumb_5F00_08AA52AB.png" alt="image" border="0" title="image" 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;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Click the GetSiteListCount link to navigate to a page that will allow you to test your service operation. &lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;&lt;/ol&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windsor.metablogapi/7534.image_5F00_16B91BDB.png"&gt;&lt;img height="402" width="644" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windsor.metablogapi/0160.image_5F00_thumb_5F00_1C278C7F.png" alt="image" border="0" title="image" 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;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Click invoke to test your service operation. A window should open that has XML contents that look something like this. &lt;/li&gt;
&lt;/ul&gt;
&lt;ol&gt;&lt;/ol&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windsor.metablogapi/7360.image_5F00_075593FF.png"&gt;&lt;img height="402" width="644" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windsor.metablogapi/0066.image_5F00_thumb_5F00_1F0CCB65.png" alt="image" border="0" title="image" 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;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h4&gt;Creating a Sample Client Application&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;In Visual Studio, click File | New | Project&amp;hellip; &lt;/li&gt;
&lt;li&gt;In the New Project dialog, select the Visual C# node under Installed Templates. &lt;/li&gt;
&lt;li&gt;Select the Console Application template, set the Name to WebServiceClient and click OK. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windsor.metablogapi/2744.image_5F00_12F44DA8.png"&gt;&lt;img height="459" width="644" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windsor.metablogapi/8468.image_5F00_thumb_5F00_418A568A.png" alt="image" border="0" title="image" 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;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Note: The next thing we need to do is add a reference to the service to create the service proxy class. Since we created an ASP.NET (ASMX) Web Service instead of a WCF Web Service we need to use the Add Web Reference dialog. The steps to do this may not be obvious if you do not know what to look for.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;In the Solution Explorer, right-click on your project and select Add Service Reference&amp;hellip; &lt;/li&gt;
&lt;li&gt;In the Add Service Reference dialog, click the Advanced button. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windsor.metablogapi/7823.image_5F00_23E855BE.png"&gt;&lt;img height="484" width="591" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windsor.metablogapi/6622.image_5F00_thumb_5F00_34EC83A1.png" alt="image" border="0" title="image" 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;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;In the Service Reference Settings dialog, click the Add Web Reference&amp;hellip; button &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windsor.metablogapi/2451.image_5F00_6050A49B.png"&gt;&lt;img height="484" width="521" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windsor.metablogapi/0131.image_5F00_thumb_5F00_45A40882.png" alt="image" border="0" title="image" 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;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;In the Add Web Reference dialog, put the URL of your service (that is, the URL for your SharePoint site plus /_layouts/WebServiceDemo/MyCustomWebService.asmx ) in the URL bar and press Enter. You should see a page similar to the one shown below in the browser area of the form. &lt;/li&gt;
&lt;li&gt;Set the Web reference name to DemoProxy and click the Add Reference button. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windsor.metablogapi/0564.image_5F00_41D63DE5.png"&gt;&lt;img height="449" width="644" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windsor.metablogapi/7380.image_5F00_thumb_5F00_78D01C1E.png" alt="image" border="0" title="image" 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;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;You should see a few changes in the Solution Explorer. The important one is the addition of the Web References and DemoProxy nodes. This indicates your service proxy has been created. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windsor.metablogapi/5148.image_5F00_53A2ABE5.png"&gt;&lt;img height="484" width="347" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windsor.metablogapi/5468.image_5F00_thumb_5F00_12942C81.png" alt="image" border="0" title="image" 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;" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Inside Program.cs, replace the code with the following: &lt;/li&gt;
&lt;/ul&gt;
&lt;pre style="background-color:#f0f0f0;font-family:lucida console;"&gt;using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace WebServiceClient
{
    class Program
    {
        static void Main(string[] args)
        {
            var proxy = new DemoProxy.MyCustomWebService();
            proxy.Url = &amp;quot;http://win7virtualbox/sites/demo/_layouts/WebServiceDemo/MyCustomWebService.asmx&amp;quot;;
            proxy.Credentials = System.Net.CredentialCache.DefaultCredentials;

            var response = proxy.GetSiteListCount();
            Console.WriteLine(response);
        }
    }
}&lt;/pre&gt;
&lt;p&gt;An explanation of the code is needed.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The first line creates an instance of the service proxy class that was generated when we added the web reference. &lt;/li&gt;
&lt;li&gt;The second line sets the SharePoint context. I can call this service from the context of different SharePoint sites so it is this URL which determines the site name and list count that will be returned to me. As an example, the first of the following URLs calls the service from the Demo site while the latter calls it from the Sales site 
    
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;http://win7virtualbox/sites/demo&lt;/strong&gt;/_layouts/WebServiceDemo/MyCustomWebService.asmx &lt;/li&gt;
&lt;li&gt;&lt;strong&gt;http://win7virtualbox/sites/sales&lt;/strong&gt;/_layouts/WebServiceDemo/MyCustomWebService.asmx &lt;/li&gt;
&lt;li&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;The third line sets the credentials of the caller. In this case it uses the credentials of the currently logged in Windows user.&lt;/li&gt;
&lt;li&gt;The fourth line calls the GetSiteListCount method and the last line writes out the response.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The final step is to test the client application.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Press F5 to run the client application. You should see results similar to the following&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windsor.metablogapi/1682.image_5F00_07A7256C.png"&gt;&lt;img height="352" width="644" src="http://msmvps.com/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/windsor.metablogapi/1526.image_5F00_thumb_5F00_7BA53537.png" alt="image" border="0" title="image" 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;" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1802093" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=oKWqphWZyzA:u0HT8pXZYLk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=oKWqphWZyzA:u0HT8pXZYLk:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=oKWqphWZyzA:u0HT8pXZYLk:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?i=oKWqphWZyzA:u0HT8pXZYLk:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=oKWqphWZyzA:u0HT8pXZYLk:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?i=oKWqphWZyzA:u0HT8pXZYLk:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rwindsor/~4/oKWqphWZyzA" height="1" width="1"/&gt;</description><category domain="http://msmvps.com/blogs/windsor/archive/tags/Development/default.aspx">Development</category><category domain="http://msmvps.com/blogs/windsor/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://msmvps.com/blogs/windsor/archive/tags/Walkthrough/default.aspx">Walkthrough</category><feedburner:origLink>http://msmvps.com/blogs/windsor/archive/2011/11/04/walkthrough-creating-a-custom-asp-net-asmx-web-service-in-sharepoint-2010.aspx</feedburner:origLink></item><item><title>How To Programmatically Read Best Bets for SharePoint 2010 Search</title><link>http://feedproxy.google.com/~r/rwindsor/~3/Jtfvnv19kxM/how-to-programmatically-read-best-bets-for-sharepoint-2010-search.aspx</link><pubDate>Thu, 29 Sep 2011 17:51:57 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1800423</guid><dc:creator>windsor</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://msmvps.com/blogs/windsor/rsscomments.aspx?PostID=1800423</wfw:commentRss><comments>http://msmvps.com/blogs/windsor/archive/2011/09/29/how-to-programmatically-read-best-bets-for-sharepoint-2010-search.aspx#comments</comments><description>&lt;p&gt;For one of the projects I’m working on, I needed to be able to iterate search best bets programmatically. I did a quick Google search and came up with a blog post by &lt;a href="http://blogs.technet.com/b/stefan_gossner/archive/2007/03/28/how-to-create-keywords-and-best-bets-for-moss-search-programmatically.aspx"&gt;Stefan Goßner on the subject&lt;/a&gt;. Turns out Stefan’s post was for SharePoint 2007 and the code uses a type that has been obsoleted. A little more Googling and I came up with the code for SharePoint 2010. &lt;/p&gt;  &lt;p&gt;Here’s the code for a simple Console app you can use as a starting point if you need to do something similar.&amp;#160; You’ll need to add a reference to Microsoft.SharePoint.dll and Microsoft.Office.Server.Search.dll (which can be found in the ISAPI folder under the SharePoint system root). You’ll also need to set the build target to Any CPU.&lt;/p&gt;  &lt;pre style="background-color:#f0f0f0;font-family:lucida console;"&gt;using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.SharePoint;
using Microsoft.Office.Server.Search.Administration;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            var site = new SPSite(&amp;quot;&amp;lt;site collection url&amp;gt;&amp;quot;);
            var proxy = (SearchServiceApplicationProxy)SearchServiceApplicationProxy.
                GetProxy(SPServiceContext.GetContext(site));
            var keywords = new Keywords(proxy, new Uri(site.Url));

            foreach (Keyword keyword in keywords.AllKeywords)
            {
                Console.WriteLine(keyword.Term);
                foreach (BestBet bet in keyword.BestBets)
                {
                    Console.WriteLine(&amp;quot;\t{0} ({1})&amp;quot;, bet.Title, bet.Url);
                }
            }
        }
    }
}&lt;/pre&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1800423" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=Jtfvnv19kxM:_Ly5nGAjcGQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=Jtfvnv19kxM:_Ly5nGAjcGQ:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=Jtfvnv19kxM:_Ly5nGAjcGQ:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?i=Jtfvnv19kxM:_Ly5nGAjcGQ:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=Jtfvnv19kxM:_Ly5nGAjcGQ:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?i=Jtfvnv19kxM:_Ly5nGAjcGQ:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rwindsor/~4/Jtfvnv19kxM" height="1" width="1"/&gt;</description><category domain="http://msmvps.com/blogs/windsor/archive/tags/Development/default.aspx">Development</category><category domain="http://msmvps.com/blogs/windsor/archive/tags/SharePoint/default.aspx">SharePoint</category><feedburner:origLink>http://msmvps.com/blogs/windsor/archive/2011/09/29/how-to-programmatically-read-best-bets-for-sharepoint-2010-search.aspx</feedburner:origLink></item><item><title>Creating a SharePoint Site Page With Code-Behind Using Visual Studio 2010</title><link>http://feedproxy.google.com/~r/rwindsor/~3/q5T8c9h6DZo/creating-a-sharepoint-site-page-with-code-behind-using-visual-studio-2010.aspx</link><pubDate>Sat, 24 Sep 2011 15:54:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1800125</guid><dc:creator>windsor</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://msmvps.com/blogs/windsor/rsscomments.aspx?PostID=1800125</wfw:commentRss><comments>http://msmvps.com/blogs/windsor/archive/2011/09/24/creating-a-sharepoint-site-page-with-code-behind-using-visual-studio-2010.aspx#comments</comments><description>&lt;p&gt;A while ago I was reading &lt;a href="http://blogs.msdn.com/b/kaevans/archive/2010/06/28/creating-a-sharepoint-site-page-with-code-behind-using-visual-studio-2010.aspx"&gt;Kirk Evans blog post on the subject of using code-behind in SharePoint 2010 site pages&lt;/a&gt;. I wanted to make sure things still worked the way they did in SharePoint 2007. Everything looked the same until I saw the part about updating the web.config file.&lt;/p&gt;
&lt;p&gt;From Kirk&amp;rsquo;s blog post:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;The problem is that SharePoint has a setting that disallows server-side code with [site] pages.&amp;nbsp; This is a security feature that is good (you really don&amp;rsquo;t want end users to arbitrarily inject server-side code), but there may be cases where you are OK with some of your users having this capability.&amp;nbsp; For instance, you can have a page that is only visible to a small team within your enterprise, and one of the team members is very technical and wants to provide some custom code for SharePoint.&amp;nbsp; Party on, have fun with it, it saves my team from having to write that code.&lt;/p&gt;
&lt;p&gt;To enable this scenario (and enable the Button_Click event handler in our code), we need to add an entry to web.config.&amp;nbsp; Knowing that we can&amp;rsquo;t just go to every front-end web server and make the modifications (any admin worth his salt should slap you silly for even thinking about hand-modifying multiple web.config files in a production farm), we should provide this as part of our solution.&amp;rdquo;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;OK, I remember that in SharePoint 2007 you &lt;strong&gt;could&lt;/strong&gt; add an entry in web.config to indicate the page parser should allow inline code for a page, but you didn&amp;rsquo;t &lt;strong&gt;have to&lt;/strong&gt; do so. As long as the markup didn&amp;rsquo;t have anything indicating that code should run you were good. So I took Kirk&amp;rsquo;s example and modified it a bit so it would work without changes to the web.config.&lt;/p&gt;
&lt;p&gt;In the markup, I removed the namespace imports, the CodeBehind attribute of the Page element, and the OnClick attribute of the Button element.&lt;/p&gt;
&lt;pre style="background-color:#f0f0f0;font-family:lucida console;"&gt;&amp;lt;%@ Assembly Name=&amp;quot;$SharePoint.Project.AssemblyFullName$&amp;quot; %&amp;gt;
&amp;lt;%@ Register 
    Tagprefix=&amp;quot;SharePoint&amp;quot; 
    Namespace=&amp;quot;Microsoft.SharePoint.WebControls&amp;quot; 
    Assembly=&amp;quot;Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c&amp;quot; %&amp;gt;
&amp;lt;%@ Register 
    Tagprefix=&amp;quot;Utilities&amp;quot; 
    Namespace=&amp;quot;Microsoft.SharePoint.Utilities&amp;quot; 
    Assembly=&amp;quot;Microsoft.SharePoint, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c&amp;quot; %&amp;gt;
&amp;lt;%@ Register 
    Tagprefix=&amp;quot;asp&amp;quot; 
    Namespace=&amp;quot;System.Web.UI&amp;quot; 
    Assembly=&amp;quot;System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&amp;quot; %&amp;gt;
&amp;lt;%@ Assembly Name=&amp;quot;Microsoft.Web.CommandUI, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c&amp;quot; %&amp;gt;

&amp;lt;%@ Page Language=&amp;quot;C#&amp;quot; 
    Inherits=&amp;quot;SampleToDeployAPage.MyPageTemplate&amp;quot; 
    Title=&amp;quot;Testing This Page&amp;quot;
    MasterPageFile=&amp;quot;~masterurl/default.master&amp;quot; 
    meta:progid=&amp;quot;SharePoint.WebPartPage.Document&amp;quot; %&amp;gt;

&amp;lt;asp:Content ID=&amp;quot;Main&amp;quot; ContentPlaceHolderID=&amp;quot;PlaceHolderMain&amp;quot; runat=&amp;quot;server&amp;quot;&amp;gt;
  &amp;lt;asp:Button runat=&amp;quot;server&amp;quot; ID=&amp;quot;button1&amp;quot; Text=&amp;quot;Click me&amp;quot; /&amp;gt;
  &amp;lt;asp:Label runat=&amp;quot;server&amp;quot; ID=&amp;quot;label1&amp;quot;/&amp;gt;
&amp;lt;/asp:Content&amp;gt;&lt;/pre&gt;
&lt;p&gt;Of course, I needed to make changes to the code behind file to compensate for what I removed from the markup &amp;ndash; but the changes were minor. All I needed to do was hookup the Button_Click method to the Click event of the Button. In WebForms, attaching event handlers is done in the Page_Init event.&lt;/p&gt;
&lt;pre style="background-color:#f0f0f0;font-family:lucida console;"&gt;using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.SharePoint.WebControls;
using Microsoft.SharePoint.WebPartPages;
using System.Web.UI.WebControls;

namespace SampleToDeployAPage
{
    public class MyPageTemplate : WebPartPage
    {
        protected Button button1;
        protected Label label1;

        protected void Page_Init(object sender, EventArgs e)
        {
            button1.Click += new EventHandler(Button_Click);
        }

        protected void Button_Click(object sender, EventArgs e)
        {
            label1.Text = System.DateTime.Now.ToLongTimeString();
        }
    }
}&lt;/pre&gt;
&lt;p&gt;I kept everything else the same (minus the web.config changes of course), deployed, navigated to the page, clicked the button and SHAZAM! -&amp;nbsp; the date showed. &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1800125" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=q5T8c9h6DZo:OzIjZ3Wefx0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=q5T8c9h6DZo:OzIjZ3Wefx0:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=q5T8c9h6DZo:OzIjZ3Wefx0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?i=q5T8c9h6DZo:OzIjZ3Wefx0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=q5T8c9h6DZo:OzIjZ3Wefx0:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?i=q5T8c9h6DZo:OzIjZ3Wefx0:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rwindsor/~4/q5T8c9h6DZo" height="1" width="1"/&gt;</description><category domain="http://msmvps.com/blogs/windsor/archive/tags/Development/default.aspx">Development</category><category domain="http://msmvps.com/blogs/windsor/archive/tags/SharePoint/default.aspx">SharePoint</category><feedburner:origLink>http://msmvps.com/blogs/windsor/archive/2011/09/24/creating-a-sharepoint-site-page-with-code-behind-using-visual-studio-2010.aspx</feedburner:origLink></item><item><title>Getting Started with SharePoint 2010 Development at DevTeach and Prairie DevCon</title><link>http://feedproxy.google.com/~r/rwindsor/~3/-hzS5VHn-e8/getting-started-with-sharepoint-2010-development-at-devteach-and-prairie-devcon.aspx</link><pubDate>Fri, 23 Sep 2011 14:41:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1800082</guid><dc:creator>windsor</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://msmvps.com/blogs/windsor/rsscomments.aspx?PostID=1800082</wfw:commentRss><comments>http://msmvps.com/blogs/windsor/archive/2011/09/23/getting-started-with-sharepoint-2010-development-at-devteach-and-prairie-devcon.aspx#comments</comments><description>&lt;p&gt;
&lt;div&gt;
&lt;p&gt;I&amp;rsquo;ll be doing a full-day post-conference session on SharePoint 2010 development at both &lt;a href="http://www.devteach.com/PreConference.aspx#PostSP"&gt;DevTeach in Ottawa&lt;/a&gt; and &lt;a href="http://www.prairiedevcon.com/"&gt;Prairie DevCon in Winnipeg&lt;/a&gt;.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;This session is a day-long overview of development on the SharePoint 2010 platform. It is designed for those new to SharePoint, but will prove interesting to seasoned SharePoint developers looking to find out about the new features in 2010. We will begin with a look at foundational topics like Feature and Solutions Packages and then see how we can use the developer tooling in Visual Studio 2010 to quickly and effectively build customizations contained in these artifacts. Over the course of the day we will explore the SharePoint developer APIs, how to build custom web parts, working with SharePoint lists and libraries, and options to access data stored in SharePoint.&lt;/p&gt;
&lt;p&gt;Understanding Features and Modules&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;SharePoint 2010 architecture&lt;/li&gt;
&lt;li&gt;SharePoint terminology&lt;/li&gt;
&lt;li&gt;SharePoint development environment and tools&lt;/li&gt;
&lt;li&gt;Features and elements&lt;/li&gt;
&lt;li&gt;Solutions&lt;/li&gt;
&lt;li&gt;Deployment&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Working with the Object Models&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Server object model&lt;/li&gt;
&lt;li&gt;Event handlers&lt;/li&gt;
&lt;li&gt;Client object model&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Techniques to Access List data&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Object model&lt;/li&gt;
&lt;li&gt;CAML queries&lt;/li&gt;
&lt;li&gt;REST APIs (oData)&lt;/li&gt;
&lt;li&gt;LINQ to SharePoint&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Building SharePoint Web Parts&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Web part infrastructure&lt;/li&gt;
&lt;li&gt;Visual web parts&lt;/li&gt;
&lt;li&gt;Persistent web part properties&lt;/li&gt;
&lt;li&gt;Web part connections&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Introduction to SharePoint Workflows&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;SharePoint workflow concepts&lt;/li&gt;
&lt;li&gt;Windows Workflow (WF) primer&lt;/li&gt;
&lt;li&gt;Building SharePoint workflows with Visual Studio 2010&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1800082" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=-hzS5VHn-e8:7Of-dQHGNks:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=-hzS5VHn-e8:7Of-dQHGNks:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=-hzS5VHn-e8:7Of-dQHGNks:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?i=-hzS5VHn-e8:7Of-dQHGNks:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=-hzS5VHn-e8:7Of-dQHGNks:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?i=-hzS5VHn-e8:7Of-dQHGNks:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rwindsor/~4/-hzS5VHn-e8" height="1" width="1"/&gt;</description><category domain="http://msmvps.com/blogs/windsor/archive/tags/Development/default.aspx">Development</category><category domain="http://msmvps.com/blogs/windsor/archive/tags/Training/default.aspx">Training</category><category domain="http://msmvps.com/blogs/windsor/archive/tags/DevTeach/default.aspx">DevTeach</category><category domain="http://msmvps.com/blogs/windsor/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://msmvps.com/blogs/windsor/archive/tags/PrDc/default.aspx">PrDc</category><feedburner:origLink>http://msmvps.com/blogs/windsor/archive/2011/09/23/getting-started-with-sharepoint-2010-development-at-devteach-and-prairie-devcon.aspx</feedburner:origLink></item><item><title>SharePoint for ASP.NET Developers–Recorded Session from DevLink</title><link>http://feedproxy.google.com/~r/rwindsor/~3/nIoiK3O5uSQ/sharepoint-for-asp-net-developers-recorded-session-from-devlink.aspx</link><pubDate>Mon, 19 Sep 2011 18:53:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1799851</guid><dc:creator>windsor</dc:creator><slash:comments>1</slash:comments><wfw:commentRss>http://msmvps.com/blogs/windsor/rsscomments.aspx?PostID=1799851</wfw:commentRss><comments>http://msmvps.com/blogs/windsor/archive/2011/09/19/sharepoint-for-asp-net-developers-recorded-session-from-devlink.aspx#comments</comments><description>&lt;p&gt;Here&amp;rsquo;s another recorded session from the DevLink conference.&lt;/p&gt;
&lt;p&gt; &lt;iframe width="440" frameborder="0" src="http://player.vimeo.com/video/29271944?title=0&amp;amp;byline=0&amp;amp;portrait=0" height="330"&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;p&gt;SharePoint is an awesome tool. It allows you to build web sites, manage lists of data, collaborate on documents, and so much more &amp;ndash; all done through a simple, easy to use, web interface. When you need to go beyond the built in capabilities of the product, SharePoint also provides a rich set of APIs to code against. This session is designed to introduce you to the foundational topics required to build customizations on the SharePoint platform. Specifically we will cover: Features, the solutions framework, the server object model, and building simple Web parts. This session will be valuable for those working with SharePoint 2007 or 2010.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1799851" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=nIoiK3O5uSQ:lkPAEcCCre4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=nIoiK3O5uSQ:lkPAEcCCre4:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=nIoiK3O5uSQ:lkPAEcCCre4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?i=nIoiK3O5uSQ:lkPAEcCCre4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=nIoiK3O5uSQ:lkPAEcCCre4:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?i=nIoiK3O5uSQ:lkPAEcCCre4:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rwindsor/~4/nIoiK3O5uSQ" height="1" width="1"/&gt;</description><category domain="http://msmvps.com/blogs/windsor/archive/tags/Development/default.aspx">Development</category><category domain="http://msmvps.com/blogs/windsor/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://msmvps.com/blogs/windsor/archive/tags/DevLink/default.aspx">DevLink</category><category domain="http://msmvps.com/blogs/windsor/archive/tags/Videos/default.aspx">Videos</category><feedburner:origLink>http://msmvps.com/blogs/windsor/archive/2011/09/19/sharepoint-for-asp-net-developers-recorded-session-from-devlink.aspx</feedburner:origLink></item><item><title>SharePoint 2010 Client-Side Development with the JavaScript Client Object Model (JSOM) and jQuery – Recorded Session from DevLink</title><link>http://feedproxy.google.com/~r/rwindsor/~3/BKvyX4ShjAQ/sharepoint-2010-client-side-development-with-the-javascript-client-object-model-jsom-and-jquery-recorded-session-from-devlink.aspx</link><pubDate>Fri, 16 Sep 2011 10:20:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1799642</guid><dc:creator>windsor</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://msmvps.com/blogs/windsor/rsscomments.aspx?PostID=1799642</wfw:commentRss><comments>http://msmvps.com/blogs/windsor/archive/2011/09/16/sharepoint-2010-client-side-development-with-the-javascript-client-object-model-jsom-and-jquery-recorded-session-from-devlink.aspx#comments</comments><description>&lt;p&gt;It&amp;rsquo;s been a busy month since DevLink but I finally have time to clear some tasks off my to-do list. One was to post this recording of my SharePoint 2010 Client-Side Development talk. I have a couple other partially edited session recordings. Hopefully it won&amp;#39;t take a month to get those posted.&lt;/p&gt;
&lt;p&gt;  &lt;br /&gt;&lt;iframe height="300" src="http://player.vimeo.com/video/29124752?title=0&amp;amp;byline=0&amp;amp;portrait=0" frameborder="0" width="400"&gt;&lt;/iframe&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1799642" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=BKvyX4ShjAQ:4sO6PD3vOmM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=BKvyX4ShjAQ:4sO6PD3vOmM:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=BKvyX4ShjAQ:4sO6PD3vOmM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?i=BKvyX4ShjAQ:4sO6PD3vOmM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=BKvyX4ShjAQ:4sO6PD3vOmM:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?i=BKvyX4ShjAQ:4sO6PD3vOmM:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rwindsor/~4/BKvyX4ShjAQ" height="1" width="1"/&gt;</description><category domain="http://msmvps.com/blogs/windsor/archive/tags/Development/default.aspx">Development</category><category domain="http://msmvps.com/blogs/windsor/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://msmvps.com/blogs/windsor/archive/tags/DevLink/default.aspx">DevLink</category><category domain="http://msmvps.com/blogs/windsor/archive/tags/Videos/default.aspx">Videos</category><category domain="http://msmvps.com/blogs/windsor/archive/tags/JavaScript/default.aspx">JavaScript</category><category domain="http://msmvps.com/blogs/windsor/archive/tags/jQuery/default.aspx">jQuery</category><feedburner:origLink>http://msmvps.com/blogs/windsor/archive/2011/09/16/sharepoint-2010-client-side-development-with-the-javascript-client-object-model-jsom-and-jquery-recorded-session-from-devlink.aspx</feedburner:origLink></item><item><title>SharePoint Saturday: The Conference–Session Resources</title><link>http://feedproxy.google.com/~r/rwindsor/~3/m7rca0uLoc8/sharepoint-saturday-the-conference-session-resources.aspx</link><pubDate>Mon, 15 Aug 2011 16:07:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1797684</guid><dc:creator>windsor</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://msmvps.com/blogs/windsor/rsscomments.aspx?PostID=1797684</wfw:commentRss><comments>http://msmvps.com/blogs/windsor/archive/2011/08/15/sharepoint-saturday-the-conference-session-resources.aspx#comments</comments><description>&lt;p&gt;Got back yesterday from SharePoint Saturday: The Conference. I met a lot of people I only knew electronically, learned a ton, and had a great time overall. That said, there were some issue that I guess you had to expect from such a large event being run by an all volunteer group.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;ldquo;Even if we had prior experience in organizing 1-day SharePoint Saturday events, we underestimated the exponential amount of effort required to organize a 3-day event like this. As a result, there were some miscommunication issues, logistical inconsistencies and unmet expectations that was experienced by sponsors, speakers and attendees.&amp;rdquo; &amp;ndash; Dux Raymond Sy from &lt;a href="http://sp.meetdux.com/archive/2011/08/14/3-lessons-learned-from-spstcdc.aspx" title="http://sp.meetdux.com/archive/2011/08/14/3-lessons-learned-from-spstcdc.aspx"&gt;http://sp.meetdux.com/archive/2011/08/14/3-lessons-learned-from-spstcdc.aspx&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;It&amp;rsquo;ll be interesting to see if future multi-day SharePoint Saturday events are able to take the lessons learned and work them out.&lt;/p&gt;
&lt;p&gt;Anyway, that&amp;rsquo;s for the future. For now, here are the links to the resources from my sessions:&lt;/p&gt;
&lt;p&gt;&lt;b&gt;SharePoint User Interface Development&lt;/b&gt;   &lt;br /&gt;One hour from the Developer 101 Workshop    &lt;br /&gt;Slides and demos:&amp;nbsp; &lt;a href="http://bit.ly/oKWP66" title="http://bit.ly/oKWP66"&gt;http://bit.ly/oKWP66&lt;/a&gt;    &lt;br /&gt;Video recording:&amp;nbsp; &lt;a href="http://vimeo.com/27724271" title="http://vimeo.com/27724271"&gt;http://vimeo.com/27724271&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;SharePoint for ASP.NET Developers   &lt;/b&gt;&lt;br /&gt;​SharePoint is an awesome tool. It allows you to build web sites, manage lists of data, collaborate on documents, and so much more - all done through a simple, easy to use, web interface. When you need to go beyond the built in capabilities of the product, SharePoint also provides a rich set of APIs to code against. This session is designed to introduce you to the foundational topics required to build customizations on the SharePoint platform. Specifically we will cover: Features, the solutions framework, the server object model, and building simple Web parts. This session will be valuable for those working with SharePoint 2007 or 2010.     &lt;br /&gt;Slides and demos:&amp;nbsp; &lt;a href="http://bit.ly/roZeFn" title="http://bit.ly/roZeFn"&gt;http://bit.ly/roZeFn&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Integrating SharePoint 2010 and Visual Studio LightSwitch   &lt;/b&gt;&lt;br /&gt;Visual Studio LightSwitch is a tool that&amp;#39;s designed to let power users build data-centric business applications for the desktop and cloud. The tooling takes care of code generation, data access and common infrastructure needs, allowing the application builder to focus on business logic. If enhanced functionality is required, developers can extend the application with custom .NET code. In terms of data access, LightSwitch applications can use many data sources including SharePoint 2010 list data. The tooling uses a combination of the client object model and the REST API, so the integration is rich and powerful. In this session, you&amp;#39;ll see how to build LightSwitch applications that use data from SharePoint 2010.    &lt;br /&gt;Slides and demos:&amp;nbsp; &lt;a href="http://bit.ly/rutyHM" title="http://bit.ly/rutyHM"&gt;http://bit.ly/rutyHM&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1797684" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=m7rca0uLoc8:QLqD4jzADIY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=m7rca0uLoc8:QLqD4jzADIY:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=m7rca0uLoc8:QLqD4jzADIY:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?i=m7rca0uLoc8:QLqD4jzADIY:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=m7rca0uLoc8:QLqD4jzADIY:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?i=m7rca0uLoc8:QLqD4jzADIY:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rwindsor/~4/m7rca0uLoc8" height="1" width="1"/&gt;</description><category domain="http://msmvps.com/blogs/windsor/archive/tags/Development/default.aspx">Development</category><category domain="http://msmvps.com/blogs/windsor/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://msmvps.com/blogs/windsor/archive/tags/Videos/default.aspx">Videos</category><feedburner:origLink>http://msmvps.com/blogs/windsor/archive/2011/08/15/sharepoint-saturday-the-conference-session-resources.aspx</feedburner:origLink></item><item><title>Enabling Intellisense for the JSOM and jQuery in SharePoint 2010</title><link>http://feedproxy.google.com/~r/rwindsor/~3/B2ZjR5JmubI/enabling-intellisense-for-the-jsom-and-jquery-in-sharepoint-2010.aspx</link><pubDate>Thu, 04 Aug 2011 17:27:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1797207</guid><dc:creator>windsor</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://msmvps.com/blogs/windsor/rsscomments.aspx?PostID=1797207</wfw:commentRss><comments>http://msmvps.com/blogs/windsor/archive/2011/08/04/enabling-intellisense-for-the-jsom-and-jquery-in-sharepoint-2010.aspx#comments</comments><description>&lt;p&gt;This blog post was requested by Mark Rackley (@mrackley) at his jQuery session at SharePoint Saturday New York. Mark mostly does &lt;a href="http://sympmarc.com/2010/04/14/the-middle-tier-manifesto-an-alternative-approach-to-development-with-microsoft-sharepoint/"&gt;middle-tier SharePoint development&lt;/a&gt; and he wanted to see what life was like inside the wonderful world of an Integrated Development Environment like Visual Studio.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;d put together some content on enabling and using intellisense for the JavaScript client object model and jQuery in my &lt;a href="http://www.pluralsight-training.net/microsoft/courses/tableofcontents?courseName=sp2010-client-object-model"&gt;Pluralsight On-demand course on the SharePoint 2010 Client Object Model&lt;/a&gt; so I took a few clips and put them together to make this video blog post. Big thanks to the people at Pluralsight for letting me use the content in this post.&lt;/p&gt;
&lt;p&gt; &lt;iframe width="400" frameborder="0" src="http://player.vimeo.com/video/27298748?title=0&amp;amp;byline=0&amp;amp;portrait=0" height="300"&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://vimeo.com/27298748"&gt;Enabling Intellisense for the JSOM and jQuery in SharePoint 2010&lt;/a&gt; from &lt;a href="http://vimeo.com/rwindsor"&gt;Rob Windsor&lt;/a&gt; on &lt;a href="http://vimeo.com"&gt;Vimeo&lt;/a&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1797207" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=B2ZjR5JmubI:OyHSNtKsruI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=B2ZjR5JmubI:OyHSNtKsruI:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=B2ZjR5JmubI:OyHSNtKsruI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?i=B2ZjR5JmubI:OyHSNtKsruI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=B2ZjR5JmubI:OyHSNtKsruI:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?i=B2ZjR5JmubI:OyHSNtKsruI:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rwindsor/~4/B2ZjR5JmubI" height="1" width="1"/&gt;</description><category domain="http://msmvps.com/blogs/windsor/archive/tags/Development/default.aspx">Development</category><category domain="http://msmvps.com/blogs/windsor/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://msmvps.com/blogs/windsor/archive/tags/Videos/default.aspx">Videos</category><feedburner:origLink>http://msmvps.com/blogs/windsor/archive/2011/08/04/enabling-intellisense-for-the-jsom-and-jquery-in-sharepoint-2010.aspx</feedburner:origLink></item><item><title>TVBUG Becomes North Toronto .NET User Group (NorthTorontoUG)</title><link>http://feedproxy.google.com/~r/rwindsor/~3/zjiYABoI7wM/tvbug-becomes-north-toronto-net-user-group-northtorontoug.aspx</link><pubDate>Tue, 02 Aug 2011 13:16:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1797068</guid><dc:creator>windsor</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://msmvps.com/blogs/windsor/rsscomments.aspx?PostID=1797068</wfw:commentRss><comments>http://msmvps.com/blogs/windsor/archive/2011/08/02/tvbug-becomes-north-toronto-net-user-group-northtorontoug.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://www.tvbug.com/"&gt;&lt;img height="63" width="271" src="http://northtorontoug.com/images/description.png" style="margin-top:5px;margin-bottom:5px;" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This is one of those good news/bad news posts.&lt;/p&gt;
&lt;p&gt;The bad news (at least for me) is that, after more than 10 years, I&amp;rsquo;m stepping down as leader of the Toronto Visual Basic User Group. My &lt;a href="http://msmvps.com/blogs/windsor/archive/2011/06/09/a-new-chapter.aspx"&gt;work is taking me on the road more and more&lt;/a&gt; and I&amp;rsquo;m not in the city enough to be able to do the job. &lt;/p&gt;
&lt;p&gt;The good news is that the group will continue on as the North Toronto .NET User Group. Big thanks to Luis Duran, Ryan Kajiura, Jack Lee, Obi Oberoi and Tony Cavaliere for stepping up and taking over the management of the group. Also, thanks to Graham Marko for helping out in an advisory role during the transition. Along with the name change will be a new website and a new URL. Jack Lee is working on getting everything up an running at NorthTorontoUG.com. Until the site is complete continue to visit tvbug.com to get information on the group and upcoming events.&lt;/p&gt;
&lt;p&gt;Even though I&amp;rsquo;m no longer running the group I do plan to attend when I can. In fact, as I mentioned in a pervious post, I&amp;rsquo;ll be speaking at the September 8 meeting on Building Business Application with Visual Studio LightSwitch. I hope to see you there.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1797068" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=zjiYABoI7wM:g_AjRTo4XKo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=zjiYABoI7wM:g_AjRTo4XKo:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=zjiYABoI7wM:g_AjRTo4XKo:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?i=zjiYABoI7wM:g_AjRTo4XKo:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=zjiYABoI7wM:g_AjRTo4XKo:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?i=zjiYABoI7wM:g_AjRTo4XKo:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rwindsor/~4/zjiYABoI7wM" height="1" width="1"/&gt;</description><category domain="http://msmvps.com/blogs/windsor/archive/tags/Development/default.aspx">Development</category><category domain="http://msmvps.com/blogs/windsor/archive/tags/User+Group/default.aspx">User Group</category><feedburner:origLink>http://msmvps.com/blogs/windsor/archive/2011/08/02/tvbug-becomes-north-toronto-net-user-group-northtorontoug.aspx</feedburner:origLink></item><item><title>Getting Started with SharePoint 2010 Development–Links and Resources</title><link>http://feedproxy.google.com/~r/rwindsor/~3/87oc22u7bso/getting-started-with-sharepoint-2010-development-links-and-resources.aspx</link><pubDate>Mon, 01 Aug 2011 11:38:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1797025</guid><dc:creator>windsor</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://msmvps.com/blogs/windsor/rsscomments.aspx?PostID=1797025</wfw:commentRss><comments>http://msmvps.com/blogs/windsor/archive/2011/08/01/getting-started-with-sharepoint-2010-development-links-and-resources.aspx#comments</comments><description>&lt;p&gt;A few people have asked for advice on resources to help them get started with SharePoint development. Here are a few I like to suggest, add a comment if you have others.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Videos&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/sharepoint/ee513147.aspx"&gt;Get Started Developing on SharePoint 2010&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/SP2010DevTrainingCourse"&gt;SharePoint 2010 Developer Training Course&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/office/bb496949.aspx"&gt;How Do I Videos for Office Developers&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://vimeo.com/29271944"&gt;SharePoint for ASP.NET Developers&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.pluralsight-training.net/microsoft/"&gt;Pluralsight On-demand Library&lt;/a&gt; (Subscription required)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Books&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb892186(v=office.12).aspx"&gt;Inside Microsoft Windows SharePoint Services 3.0&lt;/a&gt;    &lt;br /&gt;This book is on SharePoint 2007 but I had to list it because it&amp;rsquo;s the book that helped me get started.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff742318.aspx"&gt;Inside Microsoft SharePoint 2010&lt;/a&gt;    &lt;br /&gt;The SharePoint 2010 version of the book above.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.amazon.com/dp/0470584637?tag=g6consulswebs-20"&gt;Beginning SharePoint 2010 Development&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.amazon.com/dp/047050224X?tag=g6consulswebs-20"&gt;Professional Visual Basic 2010 and .NET 4&lt;/a&gt;    &lt;br /&gt;There&amp;rsquo;s only one chapter on SharePoint in this book but it was authored by yours truly so I had to list it.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Blogs&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://sharepoint.microsoft.com/blog/Pages/default.aspx"&gt;Microsoft SharePoint Team Blog&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Other&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ee554869(office.14).aspx"&gt;Setting Up the Development Environment for SharePoint 2010 on Vista, Windows 7, and Windows Server 2008&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://sharepoint.stackexchange.com/"&gt;StackExchange &amp;ndash; SharePoint&lt;/a&gt;    &lt;br /&gt;A great place to ask SharePoint questions.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1797025" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=87oc22u7bso:ppE4D7kj2AY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=87oc22u7bso:ppE4D7kj2AY:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=87oc22u7bso:ppE4D7kj2AY:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?i=87oc22u7bso:ppE4D7kj2AY:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=87oc22u7bso:ppE4D7kj2AY:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?i=87oc22u7bso:ppE4D7kj2AY:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rwindsor/~4/87oc22u7bso" height="1" width="1"/&gt;</description><category domain="http://msmvps.com/blogs/windsor/archive/tags/Development/default.aspx">Development</category><category domain="http://msmvps.com/blogs/windsor/archive/tags/SharePoint/default.aspx">SharePoint</category><feedburner:origLink>http://msmvps.com/blogs/windsor/archive/2011/08/01/getting-started-with-sharepoint-2010-development-links-and-resources.aspx</feedburner:origLink></item><item><title>Advanced SharePoint Web Part Development–Recorded Session from SPSNY</title><link>http://feedproxy.google.com/~r/rwindsor/~3/x4nlGIUizbA/advanced-sharepoint-web-part-development-recorded-session-from-spsny.aspx</link><pubDate>Mon, 01 Aug 2011 10:04:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1797023</guid><dc:creator>windsor</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://msmvps.com/blogs/windsor/rsscomments.aspx?PostID=1797023</wfw:commentRss><comments>http://msmvps.com/blogs/windsor/archive/2011/08/01/advanced-sharepoint-web-part-development-recorded-session-from-spsny.aspx#comments</comments><description>&lt;p&gt;Got back from SharePoint Saturday New York yesterday afternoon. What a great event &amp;ndash; the organizers and volunteers really went all out and everything went like clockwork. &lt;/p&gt;
&lt;p&gt;I recorded my session and spent a good chunk of yesterday editing it so I could publish it today. If you have any questions or comments, please let me know.   &lt;br /&gt;&lt;br /&gt;&lt;iframe width="400" frameborder="0" src="http://player.vimeo.com/video/27133083?title=0&amp;amp;byline=0&amp;amp;portrait=0" height="300"&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://vimeo.com/27133083"&gt;Advanced SharePoint Web Part Development&lt;/a&gt; from &lt;a href="http://vimeo.com/rwindsor"&gt;Rob Windsor&lt;/a&gt; on &lt;a href="http://vimeo.com"&gt;Vimeo&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Web parts are the foundation of user interfaces in SharePoint. As a developer it&amp;#39;s relatively easy (particularly with the visual web part in SharePoint 2010) to build something simple and get it deployed. But what do you do when you need to add editable properties or when you need to connect two web parts together? This fast-paced, demo-heavy session covers the more advanced aspects of building web parts for SharePoint 2007 and 2010. We&amp;rsquo;ll take a look at creating custom editor parts, building visual web parts, constructing connected Web parts, and making web parts asynchronous.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1797023" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=x4nlGIUizbA:EDQLJTrVzN0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=x4nlGIUizbA:EDQLJTrVzN0:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=x4nlGIUizbA:EDQLJTrVzN0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?i=x4nlGIUizbA:EDQLJTrVzN0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=x4nlGIUizbA:EDQLJTrVzN0:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?i=x4nlGIUizbA:EDQLJTrVzN0:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rwindsor/~4/x4nlGIUizbA" height="1" width="1"/&gt;</description><category domain="http://msmvps.com/blogs/windsor/archive/tags/Development/default.aspx">Development</category><category domain="http://msmvps.com/blogs/windsor/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://msmvps.com/blogs/windsor/archive/tags/Videos/default.aspx">Videos</category><feedburner:origLink>http://msmvps.com/blogs/windsor/archive/2011/08/01/advanced-sharepoint-web-part-development-recorded-session-from-spsny.aspx</feedburner:origLink></item><item><title>Upcoming Community Events: Seven Talks in Five Cities</title><link>http://feedproxy.google.com/~r/rwindsor/~3/dSHjYJsBOSM/upcoming-community-events-seven-talks-in-five-cities.aspx</link><pubDate>Tue, 26 Jul 2011 11:58:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1796745</guid><dc:creator>windsor</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://msmvps.com/blogs/windsor/rsscomments.aspx?PostID=1796745</wfw:commentRss><comments>http://msmvps.com/blogs/windsor/archive/2011/07/26/upcoming-community-events-seven-talks-in-five-cities.aspx#comments</comments><description>&lt;p&gt;I spent the last few weeks getting settled in and working on the developer part of my new gig at &lt;a href="http://www.allinconsulting.com/"&gt;Allin Consulting&lt;/a&gt;, now it&amp;rsquo;s time to work on the evangelist part. Over the next two months I&amp;rsquo;ll be speaking at events in five different cities. If you&amp;rsquo;re attending and want to have a chat you can ping me on Twitter (@robwindsor) or send me an email using the Contact link on the left side of the page. I hope to see you there.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.sharepointsaturday.org/ny"&gt;SharePoint Saturday New York&lt;/a&gt;    &lt;br /&gt;July 30 in New York, NY    &lt;br /&gt;- Advanced SharePoint Web Part Development&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.spstc.org"&gt;SharePoint Saturday: The Conference&lt;/a&gt;    &lt;br /&gt;August 11 to 13 in Washington, DC    &lt;br /&gt;- SharePoint for ASP.NET Developers    &lt;br /&gt;- Integrating SharePoint 2010 with Visual Studio LightSwitch&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.devlink.net/"&gt;DevLink&lt;/a&gt;    &lt;br /&gt;August 17 to 19 in Chatanooga, TN    &lt;br /&gt;- What&amp;rsquo;s New for Developers in SharePoint 2010    &lt;br /&gt;- Integrating SharePoint 2010 with Visual Studio LightSwitch&lt;/p&gt;
&lt;p&gt;North Toronto .NET User Group   &lt;br /&gt;September 8 in Toronto, ON    &lt;br /&gt;- Building Business Applications with Visual Studio LightSwitch&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.sharepointsaturday.org/nh"&gt;SharePoint Saturday New Hampshire&lt;/a&gt;    &lt;br /&gt;September 24 in Manchester, NH    &lt;br /&gt;- SharePoint for ASP.NET Developers    &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1796745" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=dSHjYJsBOSM:EWfmNh5VeX0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=dSHjYJsBOSM:EWfmNh5VeX0:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=dSHjYJsBOSM:EWfmNh5VeX0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?i=dSHjYJsBOSM:EWfmNh5VeX0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=dSHjYJsBOSM:EWfmNh5VeX0:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?i=dSHjYJsBOSM:EWfmNh5VeX0:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rwindsor/~4/dSHjYJsBOSM" height="1" width="1"/&gt;</description><category domain="http://msmvps.com/blogs/windsor/archive/tags/Development/default.aspx">Development</category><category domain="http://msmvps.com/blogs/windsor/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://msmvps.com/blogs/windsor/archive/tags/LightSwitch/default.aspx">LightSwitch</category><category domain="http://msmvps.com/blogs/windsor/archive/tags/Community/default.aspx">Community</category><feedburner:origLink>http://msmvps.com/blogs/windsor/archive/2011/07/26/upcoming-community-events-seven-talks-in-five-cities.aspx</feedburner:origLink></item><item><title>A New Chapter</title><link>http://feedproxy.google.com/~r/rwindsor/~3/0MRlFpucXO0/a-new-chapter.aspx</link><pubDate>Thu, 09 Jun 2011 22:38:00 GMT</pubDate><guid isPermaLink="false">d67277c4-116b-43f1-b688-e9ef184ea916:1794498</guid><dc:creator>windsor</dc:creator><slash:comments>4</slash:comments><wfw:commentRss>http://msmvps.com/blogs/windsor/rsscomments.aspx?PostID=1794498</wfw:commentRss><comments>http://msmvps.com/blogs/windsor/archive/2011/06/09/a-new-chapter.aspx#comments</comments><description>&lt;p&gt;I&amp;rsquo;m happy to announce that, starting July 1, I will be joining &lt;a href="http://www.allin.com/SitePages/Consulting.aspx"&gt;Allin Consulting&lt;/a&gt; as a Lead SharePoint Consultant. Allin (pronounced All-in, as in Texas Holdem) is located just North of Boston in Wakefield, MA. &lt;/p&gt;
&lt;p&gt;Yes, this means I&amp;rsquo;m leaving &lt;a href="http://www.objectsharp.com"&gt;ObjectSharp Consulting&lt;/a&gt;, with whom I&amp;rsquo;ve worked for the better part of the last six years. I&amp;rsquo;ve thoroughly enjoyed my time at ObjectSharp. I love that that company is so community focused and that everyone there, past and present, has a commitment to excellence for the customer. &lt;/p&gt;
&lt;p&gt;OK then, why the move? Allin is a company very much like ObjectSharp &amp;ndash; about the same size and with the same commitments to both the community and to their customers. The big difference is that they specialize in SharePoint and that&amp;rsquo;s where I want to specialize as well. I still enjoy doing .NET assignments but I feel I can make more of an impact for both the community and for clients doing SharePoint. SharePoint today feels to me like .NET did in 2002/2003. There are so many opportunities to help the developer community and that, in turn, always means opportunities for me to learn as well.&lt;/p&gt;
&lt;p&gt;Another aspect of this change is that I will be increasing my involvement in community. I&amp;rsquo;ll be blogging more and be spending more time at community events and conferences - particularly &lt;a href="http://www.sharepointsaturday.org"&gt;SharePoint Saturdays&lt;/a&gt;. Speaking of community, a sad component of the change is that I am going to have to step down as the leader of the &lt;a href="http://www.tvbug.com/"&gt;The North of Toronto .NET User Group&lt;/a&gt; (which many of you know as the Toronto Visual Basic User Group). I was happy to run the group for 10.5 years, I hope that I&amp;rsquo;ll be able to find someone to take over the reigns.&lt;/p&gt;
&lt;p&gt;The rest of the details will have to wait for others posts &amp;ndash; mostly because we are still working them out. I know I&amp;rsquo;ll be spending some time in Boston, some time in Toronto, and some time in other places. Wherever I am, if you&amp;rsquo;re close by feel free to &lt;a href="http://twitter.com/robwindsor"&gt;ping me on Twitter&lt;/a&gt; and we can grab a beverage and talk about SharePoint (and maybe other geek stuff as well).&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://msmvps.com/aggbug.aspx?PostID=1794498" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=0MRlFpucXO0:9GljaXmE1AE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=0MRlFpucXO0:9GljaXmE1AE:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=0MRlFpucXO0:9GljaXmE1AE:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?i=0MRlFpucXO0:9GljaXmE1AE:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/rwindsor?a=0MRlFpucXO0:9GljaXmE1AE:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/rwindsor?i=0MRlFpucXO0:9GljaXmE1AE:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/rwindsor/~4/0MRlFpucXO0" height="1" width="1"/&gt;</description><category domain="http://msmvps.com/blogs/windsor/archive/tags/ObjectSharp/default.aspx">ObjectSharp</category><category domain="http://msmvps.com/blogs/windsor/archive/tags/SharePoint/default.aspx">SharePoint</category><category domain="http://msmvps.com/blogs/windsor/archive/tags/Allin/default.aspx">Allin</category><feedburner:origLink>http://msmvps.com/blogs/windsor/archive/2011/06/09/a-new-chapter.aspx</feedburner:origLink></item></channel></rss>
