Congratulations!

[Valid RSS] This is a valid RSS feed.

Recommendations

This feed is valid, but interoperability with the widest range of feed readers could be improved by implementing the following recommendations.

Source: http://weblogs.asp.net/jan/rss.aspx

  1. <?xml version="1.0" encoding="utf-8"?><rss version="2.0"><channel><title>Jan Tielens' Bloggings</title><link>https://weblogs.asp.net:443/jan/</link><description>Joy, frustration, excitement, madness, aha's, headaches, ... codito ergo sum!</description><item><title>Dipping Your Toes in the SharePoint 2013 and Office 2013 Preview Goodness</title><link>https://weblogs.asp.net:443/jan/dipping-your-toes-in-the-sharepoint-2013-and-office-2013-preview-goodness</link><description>&lt;p&gt;If you haven’t been living beneath a rock in the last two days, you probably heard the news we released the SharePoint 2013 Preview and Office 2013 Preview. Since there is already a massive amount of content available on blogs, TechNet&amp;#160; etc. I’m not going to add even more with this blog post. My goal is simply to give you a limited amount of resources to quickly get you up to speed with all the news.&lt;/p&gt;  &lt;p&gt;First of all, there was &lt;strong&gt;the announcement &lt;/strong&gt;two days ago by &lt;strong&gt;Steve Ballmer&lt;/strong&gt;. It was broadcasted live, and you can &lt;a href="http://www.microsoft.com/en-us/news/presskits/office/liveevent.aspx" target="_blank"&gt;watch it on demand&lt;/a&gt; again. It takes 1h, it’s entertaining, shows some high level demos (mainly of Office 2013) and is a good starting point of your exploration. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;a href="https://aspblogs.blob.core.windows.net/media/jan/Media/Office_157F3CC2.png"&gt;&lt;img title="Office" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="Office" src="https://aspblogs.blob.core.windows.net/media/jan/Media/Office_thumb_14A6D6D8.png" width="127" height="40" /&gt;&lt;/a&gt;&lt;/strong&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;(If you are a developer, skip to the next bullet point!) After watching the announcement, you probably want to &lt;strong&gt;install the Office 2013 Preview&lt;/strong&gt;. Just go to &lt;a title="http://www.microsoft.com/office/preview/" href="http://www.microsoft.com/office/preview/"&gt;http://www.microsoft.com/office/preview/&lt;/a&gt; and sign up, it’s super-easy, free and the streamed install takes less than a minute. The nifty thing is that while the installation is finishing (takes like 5 to 10 minutes), you can already start the Office clients! &lt;/li&gt;    &lt;li&gt;If you are a developer and want to &lt;strong&gt;build apps for Office or SharePoint &lt;/strong&gt;, I’d recommend to &lt;a href="http://msdn.microsoft.com/en-us/library/office/apps/fp179924(v=office.15)" target="_blank"&gt;sign up for an Office 365 Developer Site&lt;/a&gt;. It includes a subscription for the Office clients too! An Office 365 Developer Site is a preconfigured SharePoint 2013 Preview site that you can use to create, test, and deploy apps for Office and SharePoint. You can deploy the &amp;quot;Napa&amp;quot; Office 365 Development Tools development tools to this site to get started developing SharePoint-hosted apps, and apps for Office documents and mail items, even if you don't have Visual Studio 2012 and SharePoint development tools in Visual Studio 2012 installed on your developer computer. &lt;/li&gt;    &lt;li&gt;After you have signed up for the Office 365 Developer Site, you can &lt;a href="http://msdn.microsoft.com/en-us/office/apps" target="_blank"&gt;&lt;strong&gt;familiarize yourself with the new apps for Office and SharePoint&lt;/strong&gt;&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;A good &lt;strong&gt;introduction to the “Napa” Development tools &lt;/strong&gt;&lt;a href="http://blogs.msdn.com/b/jasonz/archive/2012/07/17/introducing-napa-office-365-development-tools.aspx" target="_blank"&gt;can be found on Jason Zander’s blog&lt;/a&gt;. Also check out the &lt;a href="http://msdn.microsoft.com/en-us/library/office/apps/jj220060(v=office.15)" target="_blank"&gt;Build apps for Office&lt;/a&gt; article on MSDN. &lt;/li&gt;    &lt;li&gt;When you want &lt;strong&gt;to learn more about the Office 2013 Preview features&lt;/strong&gt;, I’d recommend to check out &lt;a href="http://technet.microsoft.com/en-US/office" target="_blank"&gt;Office for IT pros&lt;/a&gt; and/or &lt;a href="http://www.microsoft.com/office/preview/en/whats-new" target="_blank"&gt;What's new in Office&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;When you want &lt;strong&gt;to learn more about developing for Office 2013 Preview&lt;/strong&gt;, &lt;a href="http://msdn.microsoft.com/en-US/office/apps/fp123626" target="_blank"&gt;check out the Developer training&lt;/a&gt;. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="https://aspblogs.blob.core.windows.net/media/jan/Media/SharePoint_1EF7FB38.png"&gt;&lt;img title="SharePoint" style="border-left-width: 0px; border-right-width: 0px; background-image: none; border-bottom-width: 0px; padding-top: 0px; padding-left: 0px; display: inline; padding-right: 0px; border-top-width: 0px" border="0" alt="SharePoint" src="https://aspblogs.blob.core.windows.net/media/jan/Media/SharePoint_thumb_24D29ED1.png" width="239" height="75" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;To &lt;strong&gt;quickly get a chance to play around with the SharePoint 2013 Preview&lt;/strong&gt;, I’d recommend to &lt;a href="http://msdn.microsoft.com/en-us/library/office/apps/fp179924(v=office.15)" target="_blank"&gt;sign up for an Office 365 Developer Site&lt;/a&gt;. If you already have done this for the Office 2013 Preview, you can skip this step of course. &lt;/li&gt;    &lt;li&gt;A &lt;strong&gt;quick rundown of what’s new&lt;/strong&gt; &lt;a href="http://technet.microsoft.com/en-us/library/cc261970(v=office.15)" target="_blank"&gt;can be found here&lt;/a&gt;. (check the What’s new sections in the navigation) &lt;/li&gt;    &lt;li&gt;If you prefer to &lt;strong&gt;install the SharePoint 2013 Preview on your own machine&lt;/strong&gt;, you can download the bits:       &lt;ul&gt;       &lt;li&gt;&lt;a href="http://technet.microsoft.com/en-US/evalcenter/hh973397.aspx?wt.mc_id=TEC_121_1_4" target="_blank"&gt;SharePoint Server 2013 Preview&lt;/a&gt; (&lt;a href="http://technet.microsoft.com/en-us/library/cc262485(office.15).aspx" target="_blank"&gt;hardware and software requirements&lt;/a&gt;) &lt;/li&gt;        &lt;li&gt;&lt;a href="http://www.microsoft.com/en-us/download/details.aspx?id=30345" target="_blank"&gt;SharePoint Foundation 2013 Preview&lt;/a&gt; &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Before you start the installation&lt;/strong&gt;, it’s probably a good idea to check out the &lt;a href="http://www.microsoft.com/en-us/download/details.aspx?id=30384" target="_blank"&gt;downloadable eBook: Deployment guide for SharePoint 2013 Preview&lt;/a&gt;. Remember, you can always try out the SharePoint 2013 Preview on Office 365 if you don’t want to install it yourself. :-) &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;If you are a developer&lt;/strong&gt;, first read the &lt;a href="http://msdn.microsoft.com/en-us/library/office/apps/fp179930(v=office.15)" target="_blank"&gt;Apps for SharePoint overview&lt;/a&gt;. Then check out the &lt;a href="http://msdn.microsoft.com/en-us/library/sharepoint/jj162979(v=office.15)" target="_blank"&gt;developer content on MSDN&lt;/a&gt; and especially the &lt;a href="http://msdn.microsoft.com/en-us/library/sharepoint/jj163091(v=office.15)" target="_blank"&gt;What's new for developers in SharePoint 2013&lt;/a&gt; article (and also &lt;a href="http://www.microsoft.com/resources/msdn/en-us/office/media/video/video.html?cid=sdc&amp;amp;from=mscomsdc&amp;amp;VideoID=9b5540f2-6e04-4ae8-bb71-fbfdf8634a96" target="_blank"&gt;the videos&lt;/a&gt;). Another good general starting point is the &lt;a href="http://msdn.microsoft.com/en-us/sharepoint" target="_blank"&gt;SharePoint for developers on MSDN&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;When you want &lt;strong&gt;to learn more about developing for SharePoint 2013 Preview&lt;/strong&gt;, &lt;a href="http://msdn.microsoft.com/en-US/office/apps/fp123626" target="_blank"&gt;check out the Developer training&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;If you are an IT-Pro&lt;/strong&gt;, there is a nice &lt;a href="http://technet.microsoft.com/en-us/sharepoint/fp142366" target="_blank"&gt;resource center for the SharePoint 2013 Preview on TechNet&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;More in-depth IT-Pro training &lt;/strong&gt;can be found in the &lt;a href="http://technet.microsoft.com/en-us/sharepoint/fp123606" target="_blank"&gt;SharePoint 2013 training for IT pros&lt;/a&gt; videos. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;So quite a list of links and this is just a tip of the iceberg! If you feel I missed an important link just drop a comment or contact me. Also &lt;a href="http://twitter.com/jantielens" target="_blank"&gt;follow me on Twitter&lt;/a&gt;, when you want to read when I find interesting content.&lt;/p&gt;</description><pubDate>Wed, 18 Jul 2012 09:54:13 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/jan/dipping-your-toes-in-the-sharepoint-2013-and-office-2013-preview-goodness</guid><category>SharePoint</category></item><item><title>SharePoint Saturday Belgium was a Big Success!</title><link>https://weblogs.asp.net:443/jan/sharepoint-saturday-belgium-was-a-big-success</link><description>&lt;p&gt;Yesterday I had the pleasure to attend and present at the &lt;a href="http://www.sharepointsaturday.org/belgium/default.aspx"&gt;SharePoint Saturday Belgium&lt;/a&gt; edition. The Belgium Information Worker Usergroup (&lt;a href="http://biwug.be"&gt;BIWUG&lt;/a&gt;), who organized the event, deserves a big round of applause; they hosted around 200 enthusiastic SharePoint people on a free and fun event. Of course a big thanks also goes to the numerous sponsors: Xylos (for making their great infrastructure available), AvePoint, Beyond-it, Metalogix, K2, Microsoft, Spikes, Ventigrate, Aurelium, Axceler, CTG, Idera, RealDolmen, Webtrends, and Wrox.&lt;/p&gt;  &lt;p&gt;On top of that Karine and Andy released their first public beta version of the brand new CAML Designer tool (think of it as newer, stronger and better successor of the U2U CAML Builder). You can find it on the &lt;a href="http://sharepoint.biwug.be/Pages/Downloads.aspx"&gt;BIWUG site&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;You can get my PowerPoint presentation about the SharePoint Designer below. See you all next time, or on one of the next BIWUG meetings!&lt;/p&gt;  &lt;p&gt;&lt;iframe height="327" src="https://r.office.microsoft.com/r/rlidPowerPointEmbed?p1=1&amp;amp;p2=1&amp;amp;p3=SD438A5E4895CD1752!1852&amp;amp;p4=&amp;amp;ak=!AJcvjavVrV04hHM&amp;amp;kip=1" frameborder="0" width="402" scrolling="no"&gt;&lt;/iframe&gt;&lt;/p&gt;</description><pubDate>Sun, 29 Apr 2012 12:39:24 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/jan/sharepoint-saturday-belgium-was-a-big-success</guid><category>SharePoint</category></item><item><title>URL Shortening For SharePoint 2010</title><link>https://weblogs.asp.net:443/jan/url-shortening-for-sharepoint-2010</link><description>&lt;p&gt;I’m pretty sure everybody who is using SharePoint has sent a link to a document in a Document Library to somebody else (in an email message for example). So you probably know that links to documents (or list items) can become pretty long if the document is located in a Document Library on a site deeply buried in a hierarchy. SharePoint is of course not the only platform having this “issue” and the internet already solved it quite some time ago with URL shortening. From &lt;a href="http://en.wikipedia.org/wiki/URL_shortening"&gt;Wikipedia&lt;/a&gt;: &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;URL shortening is a technique on the World Wide Web in which a Uniform Resource Locator (URL) may be made substantially shorter in length and still direct to the required page. This is achieved by using an HTTP Redirect on a domain name that is short, which links to the web page that has a long URL. For example, the URL &lt;a href="http://en.wikipedia.org/wiki/URL_shortening"&gt;http://en.wikipedia.org/wiki/URL_shortening&lt;/a&gt; can be shortened to &lt;a href="http://bit.ly/urlwiki"&gt;http://bit.ly/urlwiki&lt;/a&gt; or &lt;a href="http://tinyurl.com/urlwiki"&gt;http://tinyurl.com/urlwiki&lt;/a&gt;. This is especially convenient for messaging technologies such as Twitter and Identi.ca, which severely limit the number of characters that may be used in a message. Short URLs allow otherwise long web addresses to be referred to in a tweet. In November 2009, the shortened links on one URL shortening service were accessed 2.1 billion times.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;So to make a long SharePoint URL short, you can copy the URL to the clipboard, got to a URL shortener, past the long link over there and copy the short URL you get in return back to the clipboard. Works perfectly, but there are quite some tedious steps to go through. Already a long time ago, when SharePoint 2007 was still the rage, &lt;a href="http://weblogs.asp.net/jan/archive/2009/09/04/url-shortening-in-sharepoint-with-bit-ly.aspx"&gt;I posted some code&lt;/a&gt; that automates all these steps. Finally I found some time to update the code to SharePoint 2010 and nicely package it in a Sandboxed Solution, so it works both for SharePoint 2010 deployed on premises as in the cloud on Office 365. The result looks as follows, in the &lt;strong&gt;Documents &lt;/strong&gt;tab of every Document Library, a new item is added to the &lt;strong&gt;Share and Track &lt;/strong&gt;group (the button gets enabled when one document is selected):&lt;/p&gt;  &lt;p&gt;&lt;img src="http://i3.codeplex.com/Download?ProjectName=spgetshortlink&amp;amp;DownloadId=313529" /&gt;&lt;/p&gt;  &lt;p&gt;When the &lt;strong&gt;Get Short Link &lt;/strong&gt;button is clicked, a call to the &lt;a href="http://bit.ly"&gt;Bit.ly&lt;/a&gt; URL shortener is made. The short URL is returned, together with a QR code, in a dialog for easy copy/pasting:&lt;/p&gt;  &lt;p&gt;&lt;img src="http://i3.codeplex.com/Download?ProjectName=spgetshortlink&amp;amp;DownloadId=313530" /&gt;&lt;/p&gt;  &lt;p&gt;You can download the solution (.WSP) from the &lt;a href="http://spgetshortlink.codeplex.com/"&gt;Get Short Link for SharePoint CodePlex site&lt;/a&gt; for easy deployment. Over there you can also find the complete source code, so feel free to enhance and improve! If you feel like sharing back, let me know and I’ll try to include your enhancements in the project. A couple of remarks:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;I used the Bit.ly URL shortener because it has a nice API and some cool features (like the QR code generation). You can adjust the source code to use your own Bit.ly account or even another shortener. &lt;/li&gt;    &lt;li&gt;The code uses the &lt;a href="http://jquery.com"&gt;jQuery&lt;/a&gt; Javascript library (because I’m still a lazy developer and I still love jQuery a lot). The latest version of jQuery is included in the solution and automatically deployed. &lt;/li&gt;    &lt;li&gt;The solution and the source code are provided “as is” and without warranty of any kind. So please test before you deploy it to your mega big and important SharePoint site. It works on my machine(s). :-) &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;em&gt;Side note: if you still follow this blog after a long period of blog-silence: thanks for your patience and welcome back. I won’t make any promises but I really would like to pick up blogging and start contributing again to the fantastic SharePoint community. Feel free to send some comments to encourage me. :-) &lt;/em&gt;&lt;/p&gt;</description><pubDate>Mon, 12 Dec 2011 20:13:51 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/jan/url-shortening-for-sharepoint-2010</guid><category>jQuery</category><category>SharePoint</category></item><item><title>TechDays 2011 - Check out the sessions and build your own agenda‏</title><link>https://weblogs.asp.net:443/jan/techdays-2011-check-out-the-sessions-and-build-your-own-agenda</link><description>&lt;p&gt;Check out the &lt;strong&gt;&lt;a href="http://www.microsoft.com/belux/techdays/2011/sessions.html" target="_blank"&gt;live agenda&lt;/a&gt; &lt;/strong&gt;and find out why you should attend &lt;strong&gt;TechDays 2011&lt;/strong&gt;. Review the sessions and speakers and build your own personalized agenda. Today we already have more than 1200 registrations. Don’t lose time and &lt;strong&gt;&lt;a href="http://www.microsoft.com/belux/techdays/2011/register.html" target="_blank"&gt;register now&lt;/a&gt;&lt;/strong&gt; before the event sells out! If you are attending, feel free to drop by and say hi during my SharePoint &amp;amp; jQuery session. :-)&lt;/p&gt;  &lt;p&gt;&lt;a href="https://aspblogs.blob.core.windows.net/media/jan/Media/image_73FBB0B7.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="https://aspblogs.blob.core.windows.net/media/jan/Media/image_thumb_5D596270.png" width="94" height="101" /&gt;&lt;/a&gt;&amp;#160;&lt;a href="http://www.techdays.be" target="_blank"&gt;&lt;img title="image" border="0" alt="image" src="http://blogs.msdn.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-01-39-90-metablogapi/7571.image_5F00_0C6D5E14.png" width="386" height="101" /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;If you haven't decided yet, we give you more than just a few reasons        &lt;br /&gt;why you should not miss this event.&lt;/em&gt;&lt;/strong&gt;     &lt;br /&gt;&lt;img alt="" src="http://www.microsoft.com/belux/techdays/2011/mail/4/img/pxlwhite.jpg" width="20" height="1" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Developer Opening Keynote&lt;/strong&gt;     &lt;br /&gt;We are happy to announce &lt;a href="http://www.hanselman.com/blog/" target="_blank"&gt;Scott Hanselman&lt;/a&gt;&lt;strong&gt;&lt;/strong&gt; will be joining TechDays 2011 for the developer Opening Keynote this year.     &lt;br /&gt;&lt;strong&gt;     &lt;br /&gt;The Main Conference&lt;/strong&gt;     &lt;br /&gt;During the main conference on &lt;strong&gt;April 26th and 27th&lt;/strong&gt;, six Developer and IT-Pro tracks bring you a mix of new technology and in-depth content on current technology with over &lt;strong&gt;60 technical sessions&lt;/strong&gt; planned.     &lt;br /&gt;With the full agenda now published, you can filter sessions and build your &lt;a href="http://www.microsoft.com/belux/techdays/2011/sessions.html" target="_blank"&gt;personalized agenda&lt;/a&gt;&lt;strong&gt;&lt;/strong&gt; for the event.     &lt;br /&gt;&lt;strong&gt;     &lt;br /&gt;Deep Dives (post-conference)&lt;/strong&gt;     &lt;br /&gt;On the third day of TechDays, on &lt;strong&gt;April 28th&lt;/strong&gt;, we host a &lt;a href="http://www.microsoft.com/belux/techdays/2011/sessions.html" target="_blank"&gt;Deep Dive&lt;/a&gt;&lt;strong&gt;&lt;/strong&gt; day with four different tracks for developers and IT-Professionals. As a developer you can choose between two tracks that &lt;strong&gt;go in-depth&lt;/strong&gt; and focus on&lt;strong&gt; Best Practices : Visual Studio Application Lifecycle Management&lt;/strong&gt; and &lt;strong&gt;Cloud&lt;/strong&gt; (Windows Azure). As an IT Professional you have the following two options : &lt;strong&gt;Virtual Desktop Infrastructure&lt;/strong&gt; (by Corey Hynes) or &lt;strong&gt;Direct Access&lt;/strong&gt; (by John Craddock).     &lt;br /&gt;Next to learning there is also the networking aspect of this conference. We give you the opportunity to connect with Product Managers from Redmond, meet your peers, talk to our user groups and much more.     &lt;br /&gt;    &lt;br /&gt;Don't wait to &lt;a href="http://www.microsoft.com/belux/techdays/2011/register.html" target="_blank"&gt;register&lt;/a&gt;&lt;strong&gt;&lt;/strong&gt; before it's too late!     &lt;br /&gt;    &lt;br /&gt;PS. You can also follow the TechDays on &lt;a href="http://www.twitter.com/techdaysbe" target="_blank"&gt;Twitter&lt;/a&gt;&lt;strong&gt;&lt;/strong&gt; and/or &lt;a href="http://www.facebook.com/pages/Microsoft-TechDays-Belgium/175942322416940" target="_blank"&gt;Facebook&lt;/a&gt;&lt;strong&gt;&lt;/strong&gt;.     &lt;/p&gt;</description><pubDate>Mon, 21 Mar 2011 07:42:44 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/jan/techdays-2011-check-out-the-sessions-and-build-your-own-agenda</guid><category>SharePoint</category></item><item><title>Saying Goodbye to U2U, and Hello to Microsoft</title><link>https://weblogs.asp.net:443/jan/saying-goodbye-to-u2u-and-hello-to-microsoft</link><description>&lt;P mce_keep="true"&gt;Last week was a very special week for me: I delivered my last course as a &lt;A href="http://www.u2u.be/" mce_href="http://www.u2u.be"&gt;U2U&lt;/A&gt; trainer. I’ve been a full-time U2U employee for almost 7 years. During that time I had the opportunity to travel the world, meet lots of interesting people and make many new friends, while talking about Microsoft technologies. In the last couple of years my focus was mainly on SharePoint, but in my “early” years I was quite active with BizTalk, ASP.NET … as well. My career at U2U had many, many heights: having a drink while watching the sunset over the Kilimanjaro, strolling over Sunset Boulevard with my colleagues, speaking on large conferences in Belgium, Amsterdam, Barcelona, Milan, seeing the Northern Lights in Iceland …, and many, many more. But probably what I’ll remember most will be my dear coworkers: I count each one of them as a personal friend and every single one of them is an expert is his or her domain. I was incredibly lucky to have the privilege to be one of the U2U gang. Of course my time at U2U also had some lows, especially the time after we &lt;A href="http://weblogs.asp.net/jan/archive/2008/09/05/patrick-tisseghem-passed-away.aspx" mce_href="/jan/archive/2008/09/05/patrick-tisseghem-passed-away.aspx"&gt;had to say goodbye to our colleague and co-founder Patrick Tisseghem who suddenly passed away&lt;/A&gt;. But, while never forgetting Patrick, we continued with our work and I think I may say we did quite well (especially Wim, our Director who managed to lead us through some rough times)! So I’d like to conclude with a big thanks to all the people who attended one of my courses (I never counted them, but you are probably more than 1000!) and who I worked with in the past years. And of course a big thanks as well to the U2U gang: I wish you all the best and keep up the good work.&lt;/P&gt;
  2. &lt;P mce_keep="true"&gt;So, what’s my next big adventure? Well I’m very happy that I’ll join &lt;A href="http://www.microsoft.be/" mce_href="http://www.microsoft.be/"&gt;Microsoft BeLux (Belgium &amp;amp; Luxembourg)&lt;/A&gt; as a Technical Sales Professional, of course for SharePoint and related technologies. So for all the people I’ve met in the past years, including my former colleagues, this is not a final farewell but I’m very sure we’ll all meet again!&lt;/P&gt;</description><pubDate>Tue, 30 Nov 2010 13:08:00 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/jan/saying-goodbye-to-u2u-and-hello-to-microsoft</guid></item><item><title>Getting Started with jQuery Templates and SharePoint 2010</title><link>https://weblogs.asp.net:443/jan/getting-started-with-jquery-templates-and-sharepoint-2010</link><description>&lt;P mce_keep="true"&gt;Yesterday evening &lt;A href="http://weblogs.asp.net/scottgu/archive/2010/10/04/jquery-templates-data-link-and-globalization-accepted-as-official-jquery-plugins.aspx" mce_href="/scottgu/archive/2010/10/04/jquery-templates-data-link-and-globalization-accepted-as-official-jquery-plugins.aspx"&gt;Scott Guthrie announced&lt;/A&gt; that Microsoft’s contributions to the &lt;A href="http://hquery.com/" mce_href="http://hquery.com"&gt;jQuery Javascript library&lt;/A&gt; were accepted as Official jQuery plugins. One of those contributions is the &lt;A href="http://api.jquery.com/category/plugins/templates/" mce_href="http://api.jquery.com/category/plugins/templates/"&gt;jQuery Template plugin&lt;/A&gt; that allows you to do (up to a certain level) something like data binding similar to the approach we know from Silverlight. The idea is to create a template (think HTML snippet with elements bound to data properties) and data bind that template with an array of objects. You can find the &lt;A href="http://api.jquery.com/category/plugins/templates/" mce_href="http://api.jquery.com/category/plugins/templates/"&gt;API documentation over here&lt;/A&gt;, or you can check out &lt;A href="http://www.borismoore.com/2010/09/introducing-jquery-templates-1-first.html" mce_href="http://www.borismoore.com/2010/09/introducing-jquery-templates-1-first.html"&gt;Boris Moore’s excellent Getting Started guide&lt;/A&gt;.&lt;/P&gt;
  3. &lt;P mce_keep="true"&gt;So how can we leverage this in SharePoint 2010? Well jQuery Templates are a great match for either the SharePoint 2010 ECMAScript/Javascript Client Object Model, or the SharePoint 2010 REST API. The following example shows how to quickly display a list of Tasks on a page, by only using jQuery and the REST API in SharePoint 2010. Let’s start with a very basic &lt;STRONG&gt;Site Page &lt;/STRONG&gt;that puts an empty &lt;STRONG&gt;ul &lt;/STRONG&gt;element in the &lt;STRONG&gt;PlaceHolderMain &lt;/STRONG&gt;Content control (notice the &lt;STRONG&gt;ul &lt;/STRONG&gt;element gets a specific &lt;STRONG&gt;id &lt;/STRONG&gt;set):&lt;/P&gt;
  4. &lt;P mce_keep="true"&gt;&lt;FONT face="courier new,courier"&gt;&amp;lt;%@ Page MasterPageFile="~masterurl/default.master" %&amp;gt;&lt;BR&gt;&amp;lt;asp:Content ContentPlaceHolderID="PlaceHolderMain" runat="server"&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;ul id="tasksUL"&amp;gt;&amp;lt;/ul&amp;gt;&lt;BR&gt;&amp;lt;/asp:Content&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
  5. &lt;P mce_keep="true"&gt;Next, we need to put some script references in the &lt;STRONG&gt;PlaceHolderAdditionalPageHead &lt;/STRONG&gt;Content control to load both the jQuery library and the jQuery Templates plugin. For now this plugin is a separate .js file, in the next release of jQuery this plugin becomes a part of jQuery itself. (The demo code assumes that both .js files are deployed to the same location as the Site Page.)&lt;/P&gt;
  6. &lt;P mce_keep="true"&gt;&lt;FONT face="courier new,courier"&gt;&amp;lt;asp:Content ContentPlaceHolderID="PlaceHolderAdditionalPageHead" runat="server"&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;script src="jquery-1.4.2.min.js" type="text/javascript"&amp;gt;&amp;lt;/script&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;script src="jquery.tmpl.js" type="text/javascript"&amp;gt;&amp;lt;/script&amp;gt;&lt;BR&gt;&amp;lt;/asp:Content&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
  7. &lt;P mce_keep="true"&gt;After the script references (&lt;STRONG&gt;also in the PlaceHolderAdditionalPageHead Content control&lt;/STRONG&gt;), we need to define our template, also using a script element that has the type attribute set to &lt;STRONG&gt;text/x-jquery-xml&lt;/STRONG&gt;. This template is just an HTML snippet that gets created for every object of the array that gets “data bound”. In the template it’s possible to use references to those object’s properties by using &lt;A href="http://api.jquery.com/category/plugins/templates/template-tags/" mce_href="http://api.jquery.com/category/plugins/templates/template-tags/"&gt;template tags&lt;/A&gt;. For example &lt;STRONG&gt;${Title} &lt;/STRONG&gt;will get the value of the &lt;STRONG&gt;Title &lt;/STRONG&gt;property of the object that gets “data bound”. In the sample below, I’m defining a template that’s basically an &lt;STRONG&gt;li &lt;/STRONG&gt;element which displays some properties of a SharePoint Task item. Notice that to display the Description of the Task, I’m using the &lt;A href="http://api.jquery.com/template-tag-html/" mce_href="http://api.jquery.com/template-tag-html/"&gt;{{html}} Template Tag&lt;/A&gt;, because Description is a Rich Text Field thus it contains HTML itself.&lt;/P&gt;
  8. &lt;P mce_keep="true"&gt;&amp;lt;script id="tasktemplate" type="text/x-jquery-tmpl"&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;li&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;b class="ms-rteFontSize-4"&amp;gt;${Title}&amp;lt;/b&amp;gt; - ${StatusValue}&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;div&amp;gt;{{html Description}}&amp;lt;/div&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/li&amp;gt; &lt;BR&gt;&amp;lt;/script&amp;gt;&lt;/P&gt;
  9. &lt;P mce_keep="true"&gt;Finally, in a new normal script element (&lt;STRONG&gt;once again in the PlaceHolderAdditionalPageHead Content control&lt;/STRONG&gt;), we can use &lt;A href="http://api.jquery.com/jQuery.getJSON/" mce_href="http://api.jquery.com/jQuery.getJSON/"&gt;jQuery’s getJSON function&lt;/A&gt; to make an async call to the REST API. The getJSON function takes as a parameter a URL to call, which will be the URL of the &lt;STRONG&gt;listdata.svc &lt;/STRONG&gt;(= REST API end point) that fetches all Tasks that are not yet completed. The last parameter of the getJSON function is a callback function that will use the jQuery Templates mechanism to build a new &lt;STRONG&gt;li &lt;/STRONG&gt;element for every retrieved Task item, based on the template we defined above. This is accomplished by using the new &lt;A href="http://api.jquery.com/tmpl/" mce_href="http://api.jquery.com/tmpl/"&gt;tmpl function&lt;/A&gt;, called on the template. The return value is an array of DOM elements, which are added to the empty &lt;STRONG&gt;ul &lt;/STRONG&gt;element, defined above.&lt;/P&gt;
  10. &lt;P mce_keep="true"&gt;&lt;FONT face="courier new,courier"&gt;&amp;lt;script type="text/javascript"&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $(document).ready(function () {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $.getJSON(&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "../_vti_bin/listdata.svc/Tasks?$filter=StatusValue ne 'Completed'", null,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; function (data) {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $("#tasktemplate").tmpl(data.d.results).appendTo("#tasksUL");&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; });&lt;BR&gt;&amp;lt;/script&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
  11. &lt;P mce_keep="true"&gt;Once the Site Page is deployed, the result will look as follows:&lt;/P&gt;
  12. &lt;P mce_keep="true"&gt;&lt;IMG src="http://storage.tielens.name/jQueryTemplateDemo1.png" mce_src="http://storage.tielens.name/jQueryTemplateDemo1.png"&gt;&amp;nbsp;&lt;/P&gt;
  13. &lt;P mce_keep="true"&gt;If you’re interested, I’ve created a (slightly enhanced) sample Visual Studio project that’s a Sandboxed Solution (&lt;A href="http://storage.tielens.name/JanTielens.jQuery.TemplatesDemo.zip" mce_href="http://storage.tielens.name/JanTielens.jQuery.TemplatesDemo.zip"&gt;download here, including source code&lt;/A&gt;). This project provisions the required .js files, and the Site Page. On the demo Site Page I’ve used the following template:&lt;/P&gt;
  14. &lt;P mce_keep="true"&gt;&lt;FONT face="courier new,courier"&gt;&amp;lt;script id="tasktemplate" type="text/x-jquery-tmpl"&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;li&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;b class="ms-rteFontSize-4" style="cursor:pointer;"&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ${Title}&amp;lt;/b&amp;gt; - ${StatusValue}&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;div style="display:none"&amp;gt;{{html Description}}&amp;lt;/div&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/li&amp;gt; &lt;BR&gt;&amp;lt;/script&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
  15. &lt;P mce_keep="true"&gt;Notice that the &lt;STRONG&gt;div&lt;/STRONG&gt; element that shows the Description value, is using the style &lt;STRONG&gt;display:none&lt;/STRONG&gt;; so initially the Description value is not being displayed. In the callback function, after the &lt;STRONG&gt;li &lt;/STRONG&gt;items are built, I’m using &lt;A href="http://api.jquery.com/toggle/" mce_href="http://api.jquery.com/toggle/"&gt;jQuery’s toggle function&lt;/A&gt; to show and hide the Description &lt;STRONG&gt;div &lt;/STRONG&gt;when the corresponding Title is clicked.&lt;/P&gt;
  16. &lt;P mce_keep="true"&gt;&lt;FONT face="courier new,courier"&gt;$("#tasktemplate").tmpl(data.d.results).appendTo("#tasksUL");&lt;BR&gt;$("#tasksUL li").toggle(&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; function () {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $("&amp;gt;div", $(this)).show("fast");&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; },&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; function () {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; $("&amp;gt;div", $(this)).hide("fast");&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;);&lt;/FONT&gt;&lt;/P&gt;
  17. &lt;P mce_keep="true"&gt;When the Sandboxed Solution is deployed and activated, just navigate to the demo page using the URL &lt;A href="http://yoursite/TemplateDemoAssets/demopage.aspx"&gt;http://&lt;EM&gt;yoursite&lt;/EM&gt;/TemplateDemoAssets/demopage.aspx&lt;/A&gt;. You’ll see a nicely animated list of Tasks that are not yet completed!&lt;/P&gt;</description><pubDate>Tue, 05 Oct 2010 16:30:00 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/jan/getting-started-with-jquery-templates-and-sharepoint-2010</guid><category>SharePoint</category></item><item><title>Deploying and Using jQuery with a SharePoint 2010 Sandboxed Solution</title><link>https://weblogs.asp.net:443/jan/deploying-and-using-jquery-with-a-sharepoint-2010-sandboxed-solution</link><description>&lt;P&gt;If you’re an avid reader of this blog, you probably now that I’m quite a big fan of the &lt;A href="http://jquery.com/" mce_href="http://jquery.com"&gt;jQuery Javascript library&lt;/A&gt;, especially in combination with SharePoint sites. For a while I’ve been trying to find a mechanism to deploy jQuery and add a reference to it on all SharePoint pages of a site, by just using a Sandboxed Solution. The first part, deploying the jQuery file, is really easy; this can be done in a &lt;STRONG&gt;Module&lt;/STRONG&gt; in a SharePoint project. The second part was more of a challenge; making sure the jQuery file got referenced in all pages of a SharePoint site. My initial thought was to do this by using the AdditionalPageHead Delegate control, but it’s not possible in a Sandboxed Solution (you need to deploy the .ASCX to the SharePoint root). My second thought was to use the new ScriptSrc attribute you can use in a CustomAction (&lt;A href="http://weblogs.asp.net/jan/archive/2010/03/01/scriptsrc-referencing-javascript-files-with-sharepoint-2010-custom-actions.aspx" mce_href="/jan/archive/2010/03/01/scriptsrc-referencing-javascript-files-with-sharepoint-2010-custom-actions.aspx"&gt;I wrote about this attribute some time ago&lt;/A&gt;). But initially I was under the impression that the ScriptSrc attribute could only target Javascript files loaded from the SharePoint Root (the \LAYOUTS) folder, resulting in a no-go for a Sandboxed Solution as well. Daniel McPherson stumbled upon this issue as well, but &lt;A href="http://community.zevenseas.com/Blogs/Daniel/archive/2010/07/06/how-to-bootstrap-jquery-on-every-sharepoint-page-even-in-the-sandbox.aspx" mce_href="http://community.zevenseas.com/Blogs/Daniel/archive/2010/07/06/how-to-bootstrap-jquery-on-every-sharepoint-page-even-in-the-sandbox.aspx"&gt;neatly solved it using Javascript to add the reference dynamically&lt;/A&gt;.&lt;/P&gt;
  18. &lt;P&gt;But apparently you can make use of the ScriptSrc attribute to reference files from the Virtual File System (e.g. a Document Library in a site) as well! (thank you &lt;A href="http://twitter.com/fdobon" mce_href="http://twitter.com/fdobon"&gt;Frederic Dobon&lt;/A&gt; for mentioning this!). The trick is to use the &lt;STRONG&gt;~SiteCollection&lt;/STRONG&gt; prefix in the ScriptSrc attribute, for example:&lt;/P&gt;
  19. &lt;P&gt;&lt;FONT face="courier new,courier"&gt;&amp;lt;Elements xmlns="http://schemas.microsoft.com/sharepoint/"&amp;gt;&lt;BR&gt;&amp;nbsp; &amp;lt;CustomAction&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ScriptSrc="&lt;STRONG&gt;&lt;FONT color=#ff0000&gt;~SiteCollection&lt;/FONT&gt;&lt;/STRONG&gt;/SiteAssets/jquery-1.4.2.min.js"&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Location="ScriptLink"&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Sequence="10"&amp;gt;&lt;BR&gt;&amp;nbsp; &amp;lt;/CustomAction&amp;gt;&lt;BR&gt;&amp;lt;/Elements&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
  20. &lt;P&gt;It’s that easy! For your convenience I’ve uploaded &lt;A href="http://smarttools2010.codeplex.com/releases/view/51710" mce_href="http://smarttools2010.codeplex.com/releases/view/51710"&gt;the source code and the resulting SharePoint Solution (WSP file)&lt;/A&gt; to CodePlex.&lt;/P&gt;</description><pubDate>Thu, 02 Sep 2010 14:20:00 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/jan/deploying-and-using-jquery-with-a-sharepoint-2010-sandboxed-solution</guid><category>SharePoint</category></item><item><title>"Object reference not set to an instance of an object" when using SharePoint's ClientContext.Current in Silverlight</title><link>https://weblogs.asp.net:443/jan/quot-object-reference-not-set-to-an-instance-of-an-object-quot-when-using-sharepoint-s-clientcontext-current-in-silverlight</link><description>&lt;P mce_keep="true"&gt;SharePoint 2010 and Silverlight is a fantastic combination, especially when you use the Client Object Model for Silverlight to access SharePoint data. But maybe you’ve encountered the following situation: your Silverlight application works great when it’s hosted in the out-of-the-box Silverlight Web Part, but when you build your own custom Web Part to show the Silverlight Application it just doesn’t work anymore: the browser tells you there is an &lt;STRONG&gt;Error on page&lt;/STRONG&gt;. The details of the error are: &lt;STRONG&gt;Unhandled Error in Silverlight Application Object reference not set to an instance of an object&lt;/STRONG&gt;.&lt;/P&gt;
  21. &lt;P mce_keep="true"&gt;&lt;IMG src="http://storage.tielens.name/slObjectreferencenotsettoaninstanceofanobject.jpg" mce_src="http://storage.tielens.name/slObjectreferencenotsettoaninstanceofanobject.jpg"&gt;&lt;/P&gt;
  22. &lt;P mce_keep="true"&gt;When you debug your Silverlight code, you’ll notice that the issue is that the &lt;STRONG&gt;ClientContext.Current &lt;/STRONG&gt;is a &lt;STRONG&gt;Null Reference&lt;/STRONG&gt;. To solution for this problem is that fact that if you want to use the Current ClientContext you need to add the &lt;STRONG&gt;MS.SP.url&lt;/STRONG&gt; parameter to the initParams in the HTML object that loads the XAP. This &lt;STRONG&gt;MS.SP.url&lt;/STRONG&gt; parameter needs to contain the URL of the site in which the Silverlight Application is currently being displayed. The code of your Silverlight Web Part could look as follows:&lt;/P&gt;
  23. &lt;P mce_keep="true"&gt;&lt;FONT face="courier new,courier"&gt;public class SLWebPartDemo : WebPart&lt;BR&gt;{&lt;BR&gt;&amp;nbsp; protected override void RenderContents(HtmlTextWriter writer)&lt;BR&gt;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; writer.Write(string.Format(&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; @"&amp;lt;object data='data:application/x-silverlight-2,' type='application/x-silverlight-2' width='100%' height='100%'&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;param name='source' value='{1}XAPs/SLWebPartDemoControl.xap'/&amp;gt;&lt;BR&gt;&lt;FONT color=#cc0000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;param name='initParams' value='MS.SP.url={0}/{1}'/&amp;gt;&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;param name='onError' value='onSilverlightError' /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;param name='background' value='white' /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;param name='minRuntimeVersion' value='3.0.40818.0' /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;param name='autoUpgrade' value='true' /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;a href='http://go.microsoft.com/fwlink/?LinkID=149156&amp;amp;v=3.0.40818.0' style='text-decoration:none'&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;img src='http://go.microsoft.com/fwlink/?LinkId=161376' alt='Get Microsoft Silverlight' style='border-style:none'/&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/a&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/object&amp;gt;", &lt;FONT color=#cc0000&gt;SPContext.Current.Site.Url, &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SPContext.Current.Web.ServerRelativeUrl));&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp; }&lt;BR&gt;}&lt;/FONT&gt;&lt;BR&gt;&lt;/P&gt;&lt;A class=twitter-share-button href="http://twitter.com/share" data-via="jantielens" data-count="horizontal"&gt;Tweet&lt;/A&gt;
  24. &lt;SCRIPT type=text/javascript src="http://platform.twitter.com/widgets.js"&gt;&lt;/SCRIPT&gt;
  25. </description><pubDate>Thu, 12 Aug 2010 14:35:00 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/jan/quot-object-reference-not-set-to-an-instance-of-an-object-quot-when-using-sharepoint-s-clientcontext-current-in-silverlight</guid><category>SharePoint</category></item><item><title>Upgrading Features in SharePoint 2010</title><link>https://weblogs.asp.net:443/jan/upgrading-features-in-sharepoint-2010</link><description>&lt;P mce_keep="true"&gt;If you have developed Features for SharePoint 2007, you’re probably aware of a very serious limitation of Feature Development: upgradability. Deploying version 1 of your customization is no problem, but If you want to deploy a bug fix or additional functionality in version 2, you’re basically on your own. The good news is that in SharePoint 2010, this problem is solved: as a developer you can now build features that are upgradable. The basic concept goes as follows, you built your feature as usual, and optionally you’ve got the opportunity to specify what should happen when the feature gets upgraded from a previous version.&lt;/P&gt;
  26. &lt;P mce_keep="true"&gt;&lt;A href="http://www.sharepointnutsandbolts.com/" mce_href="http://www.sharepointnutsandbolts.com/"&gt;Chris O’Brian&lt;/A&gt; has written an excellent series of articles about this topic, so go to his blog to read the details:&lt;/P&gt;
  27. &lt;UL&gt;
  28. &lt;LI&gt;
  29. &lt;DIV mce_keep="true"&gt;&lt;A href="http://www.sharepointnutsandbolts.com/2010/06/feature-upgrade-part-1-fundamentals.html" mce_href="http://www.sharepointnutsandbolts.com/2010/06/feature-upgrade-part-1-fundamentals.html"&gt;Feature upgrade (part 1) – fundamentals&lt;/A&gt;&lt;/DIV&gt;&lt;/LI&gt;
  30. &lt;LI&gt;
  31. &lt;DIV mce_keep="true"&gt;&lt;A href="http://www.sharepointnutsandbolts.com/2010/07/feature-upgrade-part-2-sample-to-play.html" mce_href="http://www.sharepointnutsandbolts.com/2010/07/feature-upgrade-part-2-sample-to-play.html"&gt;Feature upgrade (part 2) – a sample to play with &lt;/A&gt;&lt;/DIV&gt;&lt;/LI&gt;
  32. &lt;LI&gt;
  33. &lt;DIV mce_keep="true"&gt;&lt;A href="http://www.sharepointnutsandbolts.com/2010/07/feature-upgrade-part-3-introducing.html" mce_href="http://www.sharepointnutsandbolts.com/2010/07/feature-upgrade-part-3-introducing.html"&gt;Feature upgrade (part 3) – introducing SPFeatureUpgrade kit &lt;/A&gt;&lt;/DIV&gt;&lt;/LI&gt;
  34. &lt;LI&gt;
  35. &lt;DIV mce_keep="true"&gt;&lt;A href="http://www.sharepointnutsandbolts.com/2010/08/feature-upgrade-part-4-advanced.html" mce_href="http://www.sharepointnutsandbolts.com/2010/08/feature-upgrade-part-4-advanced.html"&gt;Feature upgrade (part 4) – advanced scenarios&lt;/A&gt;&lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;</description><pubDate>Sun, 08 Aug 2010 17:14:00 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/jan/upgrading-features-in-sharepoint-2010</guid><category>SharePoint</category></item><item><title>Easily Adding SafeControls in SharePoint 2010 with Visual Studio 2010</title><link>https://weblogs.asp.net:443/jan/easily-adding-safecontrols-in-sharepoint-2010-with-visual-studio-2010</link><description>&lt;P mce_keep="true"&gt;Many SharePoint developers know that deploying your SharePoint customization to a SharePoint server often requires you to tinker the web.config of the sites where you’d like to see the customization in action. You can do these web.config modifications manually (not advisable), or automate them with the help of the SPWebConfigModification class from the Object Model. But quite often it’s not even necessary to use that class; when you deploy your customizations with the help of a Solution (.WSP file), like you should, the Solution deployment mechanism can modify the Web.Config to apply the most commonly used changes. This is defined in the Solution Manifest of the Solution file. The following Solution Manifest will add for example a SafeControl element for the current Assembly, which is required to display controls like Web Parts, User Controls etc. in the SharePoint sites.&lt;/P&gt;
  36. &lt;P mce_keep="true"&gt;&lt;FONT face="courier new,courier"&gt;&amp;lt;Solution xmlns="&lt;/FONT&gt;&lt;A href="http://schemas.microsoft.com/sharepoint/"&gt;&lt;FONT face="courier new,courier"&gt;http://schemas.microsoft.com/sharepoint/&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face="courier new,courier"&gt;" SolutionId="684047e7-a990-4917-8a84-5d2ae5c8b1f3" SharePointProductVersion="14.0"&amp;gt;&lt;BR&gt;&amp;nbsp; &amp;lt;Assemblies&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Assembly Location="SafeControlsDemo.dll" DeploymentTarget="GlobalAssemblyCache"&amp;gt;&lt;BR&gt;&lt;STRONG&gt;&lt;FONT color=#ff0000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;SafeControls&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;SafeControl Assembly="$SharePoint.Project.AssemblyFullName$" Namespace="SafeControlsDemo.EmptyElement1" TypeName="*" /&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/SafeControls&amp;gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Assembly&amp;gt;&lt;BR&gt;&amp;nbsp; &amp;lt;/Assemblies&amp;gt;&lt;BR&gt;&amp;nbsp; &amp;lt;FeatureManifests&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;FeatureManifest Location="SafeControlsDemo_Feature1\Feature.xml" /&amp;gt;&lt;BR&gt;&amp;nbsp; &amp;lt;/FeatureManifests&amp;gt;&lt;BR&gt;&amp;lt;/Solution&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
  37. &lt;P mce_keep="true"&gt;Visual Studio 2010 will automatically add the necessary SafeControl element to the Solution manifest when you add for example a Web Part item to the Visual Studio SharePoint project. But sometimes Visual Studio is not smart enough, or doesn’t have enough information to automatically do this for you. A pretty common scenario is when you build a CustomAction using the ControlClass and ControlAssembly attributes, pointing to a User Control that should be rendering the UI element defined in the CustomAction. In this case you explicitly have to add the required SafeControl element (for the User Control) to the Solution Manifest. As you probably know you can modify the Package.Template.xml to add the required SafeControl elemen, but you have to write that XML manually. A better idea is to use the power of the Visual Studio 2010 SharePoint developer tools, available out-of-the-box! The little trick is to select the item in your SharePoint 2010 project in the Visual Studio Solution Explorer window. The Properties window will show, for the selected project item, a property called Safe Control Entries.&lt;/P&gt;
  38. &lt;P mce_keep="true"&gt;&lt;IMG src="http://storage.tielens.name/easysafecontrols1.jpg" mce_src="http://storage.tielens.name/easysafecontrols1.jpg"&gt;&lt;/P&gt;
  39. &lt;P mce_keep="true"&gt;When you click the ellipsis (the three dots), Visual Studio will show a dialog in which you can easily add the required SafeControl entries. Visual Studio will even fill out default values for you, referencing the assembly of the current project. As a result, the Solution Manifest will be updated with the corresponding XML (you can verify that by opening the Package item and selecting the Manifest view at the bottom). Easy isn’t it?&lt;/P&gt;
  40. &lt;P mce_keep="true"&gt;&lt;IMG src="http://storage.tielens.name/easysafecontrols2.jpg" mce_src="http://storage.tielens.name/easysafecontrols2.jpg"&gt;&lt;/P&gt;</description><pubDate>Fri, 06 Aug 2010 08:14:00 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/jan/easily-adding-safecontrols-in-sharepoint-2010-with-visual-studio-2010</guid><category>SharePoint</category></item><item><title>Where did ULSTraceLog go to in the SharePoint 2010 Logging Database?</title><link>https://weblogs.asp.net:443/jan/where-did-ulstracelog-go-to-in-the-sharepoint-2010-logging-database</link><description>&lt;P&gt;The Logging Database is one of the many new concepts that will make the life of many SharePoint administrators quite a bit more enjoyable. In SharePoint 2007 the Unified Logging System (ULS) logged all of its data to text files, typically found on your SharePoint server in 12\LOGS. We still have that in SharePoint 2010, but besides those text files, ULS can also write the data to a database! The advantages are obvious: easy to query, one central location for all servers in the farm, easy to build reports etc. You can find this ULS data in the SharePoint 2010 logging database (typically called WSS_Logging), in the view &lt;STRONG&gt;ULSTraceLog&lt;/STRONG&gt;. &lt;/P&gt;
  41. &lt;P&gt;Quite recently on one of my demo machines (standalone installation on Windows 7) I noticed the ULSTraceLog view was not available in the logging database. It turned out that there is a Timer Job that’s responsible for writing the data to the database, when the Timer Job hasn’t executed, the view is not there (the first time it executes, the view is created). Even more, the timer job was disabled, so the view would never be created, nor any data would be written to the database. If you encounter this situation as well, it’s quite easy to solve:&lt;/P&gt;
  42. &lt;OL&gt;
  43. &lt;LI&gt;Open the &lt;STRONG&gt;SharePoint Central Administration &lt;/STRONG&gt;site&lt;/LI&gt;
  44. &lt;LI&gt;Navigate to the &lt;STRONG&gt;Monitoring &lt;/STRONG&gt;section&lt;/LI&gt;
  45. &lt;LI&gt;Select &lt;STRONG&gt;Review Job Definitions&lt;/STRONG&gt;&lt;/LI&gt;
  46. &lt;LI&gt;Click on the job with the name &lt;STRONG&gt;Diagnostic Data Provider: Trace Log&lt;/STRONG&gt;&lt;/LI&gt;
  47. &lt;LI&gt;Click on the &lt;STRONG&gt;Enable &lt;/STRONG&gt;button to enable it&lt;/LI&gt;
  48. &lt;LI&gt;&lt;STRONG&gt;Optionally &lt;/STRONG&gt;click on &lt;STRONG&gt;Run Now &lt;/STRONG&gt;afterwards, to start it immediately&lt;/LI&gt;&lt;/OL&gt;
  49. &lt;P&gt;There you go, the ULSTraceLog will be created and the ULS messages will appear in the database!&lt;/P&gt;</description><pubDate>Wed, 16 Jun 2010 14:09:00 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/jan/where-did-ulstracelog-go-to-in-the-sharepoint-2010-logging-database</guid><category>SharePoint</category></item><item><title>Highly recommended: "5 Things SQL Server does different from what many developers expect" by Nico Jacobs</title><link>https://weblogs.asp.net:443/jan/highly-recommended-quot-5-things-sql-server-does-different-from-what-many-developers-expect-quot-by-nico-jacobs</link><description>&lt;P mce_keep="true"&gt;A couple of weeks ago, the &lt;A href="http://www.microsoft.com/belux/techdays/2010/" mce_href="http://www.microsoft.com/belux/techdays/2010/"&gt;Belgian Techdays&lt;/A&gt; were held in Antwerp. Together with &lt;A href="http://shillier.com/" mce_href="http://shillier.com/"&gt;Scott Hillier&lt;/A&gt; I presented the SharePoint pre-conference sessions (watch them online &lt;A href="http://www.microsoft.com/belux/techdays/2010/videos.aspx" mce_href="http://www.microsoft.com/belux/techdays/2010/videos.aspx"&gt;over here&lt;/A&gt;, search for pre-conference or SharePoint). Even though Belgium is not a very big country, the Microsoft team managed to get some high profile speakers like Anders Hejlsberg and Scott Hanselman. But if you have like 60 minutes to spare there is one session that I'd really recommend to check out, not related to SharePoint, but very interesting and entertaining nonetheless: &lt;A href="http://channel9.msdn.com/posts/kreekman/TechDays-2010-5-Things-SQL-Server-does-different-from-what-many-developers-expect/" mce_href="http://channel9.msdn.com/posts/kreekman/TechDays-2010-5-Things-SQL-Server-does-different-from-what-many-developers-expect/"&gt;5 Things SQL Server does different from what many developers expect&lt;/A&gt; by my U2U colleague Nico Jacobs. Nico did a fantastic job, so sit back and enjoy! :-)&lt;/P&gt;
  50. &lt;P mce_keep="true"&gt;&lt;A href="http://ecn.channel9.msdn.com/o9/ch9/3/6/3/3/4/5/TD2010DEV314_2MB_ch9.wmv" mce_href="http://ecn.channel9.msdn.com/o9/ch9/3/6/3/3/4/5/TD2010DEV314_2MB_ch9.wmv"&gt;&lt;IMG src="http://ecn.channel9.msdn.com/o9/ch9/3/6/3/3/4/5/TD2010DEV314_512_ch9.png" mce_src="http://ecn.channel9.msdn.com/o9/ch9/3/6/3/3/4/5/TD2010DEV314_512_ch9.png"&gt;&lt;/A&gt;&lt;/P&gt;</description><pubDate>Wed, 26 May 2010 20:01:00 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/jan/highly-recommended-quot-5-things-sql-server-does-different-from-what-many-developers-expect-quot-by-nico-jacobs</guid></item><item><title>SharePoint 2010 BDC Model Deployment Issue: “The default web application could not be determined.”</title><link>https://weblogs.asp.net:443/jan/sharepoint-2010-bdc-model-deployment-issue-the-default-web-application-could-not-be-determined</link><description>&lt;P&gt;Yesterday I tried to deploy a Business Data Connectivity Model project created in Visual Studio 2010 to my SharePoint 2010 test server (all RTM versions), but during the deployment of the solution, SharePoint threw my following error:&lt;/P&gt;
  51. &lt;P&gt;&lt;FONT face="courier new,courier"&gt;Add Solution:&lt;BR&gt;&amp;nbsp; Adding solution 'BCSDemo2.wsp'...&lt;BR&gt;&amp;nbsp; Deploying solution 'BCSDemo2.wsp'...&lt;BR&gt;Error occurred in deployment step 'Add Solution': The default web application could not be determined. Set the SiteUrl property in feature BCSDemo2_Feature1 to the URL of the desired site and retry activation.&lt;BR&gt;Parameter name: properties&lt;/FONT&gt;&lt;/P&gt;
  52. &lt;P&gt;A little bit of searching on the internet taught me that I was not the only one having this issue, actually &lt;A href="http://blogs.msdn.com/pandrew" mce_href="http://blogs.msdn.com/pandrew"&gt;Paul Andrew&lt;/A&gt; describes how to solve it in &lt;A href="http://blogs.msdn.com/pandrew/archive/2010/04/08/deploying-an-external-content-type-error-the-default-web-application-could-not-be-determined.aspx" mce_href="http://blogs.msdn.com/pandrew/archive/2010/04/08/deploying-an-external-content-type-error-the-default-web-application-could-not-be-determined.aspx"&gt;this post&lt;/A&gt;. Although Paul describes what to do, his explanation is not, let’s say, very elaborate. :-) So let’s describe the steps a little bit more in detail:&lt;/P&gt;
  53. &lt;OL&gt;
  54. &lt;LI&gt;Create a new Business Data Connectivity Model project in Visual Studio 2010 and (optionally) implement all your code, change the model etc. When you try to deploy you get the error mentioned above.&lt;/LI&gt;
  55. &lt;LI&gt;To fix it, in the &lt;STRONG&gt;Solution Explorer&lt;/STRONG&gt;, navigate to and open the &lt;STRONG&gt;Feature1.Template.xml &lt;/STRONG&gt;file (the name could be different if you decided to give your feature a different name of course).&lt;BR&gt;&lt;IMG src="http://storage.tielens.name/BDCModelIssue.png" mce_src="http://storage.tielens.name/BDCModelIssue.png"&gt;&lt;/LI&gt;
  56. &lt;LI&gt;Add the following XML in the Feature element that’s already there (replace the Value with the URL of your site of course):&lt;BR&gt;&lt;FONT face="courier new,courier"&gt;&amp;nbsp; &amp;lt;Properties&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Property Key='SiteUrl' Value='http://spf.u2ucourse.com'/&amp;gt;&lt;BR&gt;&amp;nbsp; &amp;lt;/Properties&amp;gt;&lt;BR&gt;&lt;/FONT&gt;&lt;BR&gt;The resulting XML should look like:&lt;BR&gt;&lt;BR&gt;&lt;FONT face="courier new,courier"&gt;&amp;lt;?xml version="1.0" encoding="utf-8" ?&amp;gt;&lt;BR&gt;&amp;lt;Feature xmlns="&lt;/FONT&gt;&lt;FONT face="courier new,courier"&gt;http://schemas.microsoft.com/sharepoint/&lt;/FONT&gt;&lt;FONT face="courier new,courier"&gt;"&amp;gt;&lt;BR&gt;&amp;nbsp; &amp;lt;Properties&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Property Key='SiteUrl' Value='http://spf.u2ucourse.com'/&amp;gt;&lt;BR&gt;&amp;nbsp; &amp;lt;/Properties&amp;gt;&lt;BR&gt;&amp;lt;/Feature&amp;gt;&lt;/FONT&gt;&lt;/LI&gt;
  57. &lt;LI&gt;Deploy the solution, now without any issues. :-)&lt;/LI&gt;&lt;/OL&gt;
  58. &lt;P&gt;What happens now, is that when Visual Studio creates the SharePoint Solution (the WSP file), it will use the Feature template XML to generate the Feature manifest, which will now include the missing property.&lt;/P&gt;</description><pubDate>Fri, 07 May 2010 09:41:00 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/jan/sharepoint-2010-bdc-model-deployment-issue-the-default-web-application-could-not-be-determined</guid><category>SharePoint</category></item><item><title>Accessing SharePoint 2010 Data with REST/OData on Windows Phone 7</title><link>https://weblogs.asp.net:443/jan/accessing-sharepoint-2010-data-with-rest-odata-on-windows-phone-7</link><description>&lt;P mce_keep="true"&gt;Consuming SharePoint 2010 data in Windows Phone 7 applications using the &lt;A href="http://developer.windowsphone.com/" mce_href="http://developer.windowsphone.com/"&gt;CTP version of the developer tools&lt;/A&gt; is quite a challenge. The issue is that the SharePoint 2010 data is not anonymously available; users need to authenticate to be able to access the data. When I first tried to access SharePoint 2010 data from my first Hello-World-type Windows Phone 7 application I thought “Hey, this should be easy!” because Windows Phone 7 development based on Silverlight and SharePoint 2010 has a Client Object Model for Silverlight. Unfortunately you can’t use the Client Object Model of SharePoint 2010 on the Windows Phone platform; there’s a reference to an assembly that’s not available (System.Windows.Browser).&lt;/P&gt;
  59. &lt;P mce_keep="true"&gt;My second thought was “OK, no problem!” because SharePoint 2010 also exposes a REST/OData API to access SharePoint data. Using the REST API in SharePoint 2010 is as easy as making a web request for a URL (in which you specify the data you’d like to retrieve), e.g. &lt;A href="http://yoursiteurl/_vti_bin/listdata.svc/Announcements"&gt;http://yoursiteurl/_vti_bin/listdata.svc/Announcements&lt;/A&gt;. This is very easy to accomplish in a Silverlight application that’s running in the context of a page in a SharePoint site, because the credentials of the currently logged on user are automatically picked up and passed to the WCF service. But a Windows Phone application is of course running outside of the SharePoint site’s page, so the application should build credentials that have to be passed to SharePoint’s WCF service. This turns out to be a small challenge in Silverlight 3, &lt;A href="http://mark.mymonster.nl/2009/03/22/silverlight-3-webclient-webrequest-and-wcf-calls-using-credentials/" mce_href="http://mark.mymonster.nl/2009/03/22/silverlight-3-webclient-webrequest-and-wcf-calls-using-credentials/"&gt;the WebClient doesn’t support authentication&lt;/A&gt;; there is a Credentials property but when you set it and make the request you get a NotImplementedException exception.&lt;/P&gt;
  60. &lt;P mce_keep="true"&gt;Probably this issued will be solved in the very near future, since Silverlight 4 does support authentication, and there’s already a &lt;A href="http://blogs.msdn.com/astoriateam/archive/2010/04/20/wcf-data-services-for-silverlight-4-now-available-for-download.aspx" mce_href="http://blogs.msdn.com/astoriateam/archive/2010/04/20/wcf-data-services-for-silverlight-4-now-available-for-download.aspx"&gt;WCF Data Services download&lt;/A&gt; that uses this new platform feature of Silverlight 4. So when Windows Phone platform switches to Silverlight 4, you can just use the WebClient to get the data. Even more, if the &lt;A href="http://www.odata.org/developers/odata-sdk" mce_href="http://www.odata.org/developers/odata-sdk"&gt;OData Client Library for Windows Phone 7&lt;/A&gt; gets updated after that, things should get even easier! &lt;EM&gt;By the way: the things I’m writing in this paragraph are just assumptions that I make which make a lot of sense IMHO, I don’t have any info all of this will happen, but I really hope so.&lt;/EM&gt;&lt;/P&gt;
  61. &lt;P mce_keep="true"&gt;So are SharePoint developers out of the Windows Phone development game until they get this fixed? Well luckily not, when the HttpWebRequest class is being used instead, you can pass credentials! Using the HttpWebRequest class is slightly more complex than using the WebClient class, but the end result is that you have access to your precious SharePoint 2010 data. The following code snippet is getting all the announcements of an Annoucements list in a SharePoint site:&lt;/P&gt;
  62. &lt;P mce_keep="true"&gt;&lt;FONT face="courier new,courier"&gt;HttpWebRequest webReq = &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (HttpWebRequest)HttpWebRequest.Create("&lt;/FONT&gt;&lt;FONT face="courier new,courier"&gt;http://yoursite/_vti_bin/listdata.svc/Announcements&lt;/FONT&gt;&lt;FONT face="courier new,courier"&gt;");&lt;BR&gt;webReq.Credentials = new NetworkCredential("username", "password");&lt;/FONT&gt;&lt;/P&gt;
  63. &lt;P mce_keep="true"&gt;&lt;FONT face="courier new,courier"&gt;webReq.BeginGetResponse(&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (result) =&amp;gt; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HttpWebRequest asyncReq = (HttpWebRequest)result.AsyncState;&lt;/FONT&gt;&lt;/P&gt;
  64. &lt;P mce_keep="true"&gt;&lt;FONT face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; XDocument xdoc = XDocument.Load(&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ((HttpWebResponse)asyncReq.EndGetResponse(result)).GetResponseStream());&lt;/FONT&gt;&lt;/P&gt;
  65. &lt;P mce_keep="true"&gt;&lt;FONT face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; XNamespace ns = "&lt;/FONT&gt;&lt;FONT face="courier new,courier"&gt;http://www.w3.org/2005/Atom&lt;/FONT&gt;&lt;FONT face="courier new,courier"&gt;";&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var items = from item in xdoc.Root.Elements(ns + "entry")&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; select new { Title = item.Element(ns + "title").Value };&lt;/FONT&gt;&lt;/P&gt;
  66. &lt;P mce_keep="true"&gt;&lt;FONT face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.Dispatcher.BeginInvoke(() =&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach (var item in items)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MessageBox.Show(item.Title);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }, webReq);&lt;/FONT&gt;&lt;/P&gt;
  67. &lt;P mce_keep="true"&gt;When you try this in a Windows Phone 7 application, make sure you add a reference to the System.Xml.Linq assembly, because the code uses Linq to XML to parse the resulting Atom feed, so the Title of every announcement is being displayed in a MessageBox. Check out my previous post if you’d like to see a more polished sample Windows Phone 7 application that displays SharePoint 2010 data.&lt;BR&gt;When you plan to use this technique, it’s of course a good idea to encapsulate the code doing the request, so it becomes really easy to get the data that you need. In the following code snippet you can find the GetAtomFeed method that gets the contents of any Atom feed, even if you need to authenticate to get access to the feed.&lt;/P&gt;
  68. &lt;P mce_keep="true"&gt;delegate void GetAtomFeedCallback(Stream responseStream);&lt;/P&gt;
  69. &lt;P mce_keep="true"&gt;&lt;FONT face="courier new,courier"&gt;public MainPage()&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; InitializeComponent();&lt;/FONT&gt;&lt;/P&gt;
  70. &lt;P mce_keep="true"&gt;&lt;FONT face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SupportedOrientations = SupportedPageOrientation.Portrait | &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SupportedPageOrientation.Landscape;&lt;/FONT&gt;&lt;/P&gt;
  71. &lt;P mce_keep="true"&gt;&lt;FONT face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; string url = "&lt;/FONT&gt;&lt;FONT face="courier new,courier"&gt;http://yoursite/_vti_bin/listdata.svc/Announcements&lt;/FONT&gt;&lt;FONT face="courier new,courier"&gt;";&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; string username = "username";&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; string password = "password";&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; string domain = "";&lt;/FONT&gt;&lt;/P&gt;
  72. &lt;P mce_keep="true"&gt;&lt;FONT face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; GetAtomFeed(url, username, password, domain, (s) =&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; XNamespace ns = "&lt;/FONT&gt;&lt;FONT face="courier new,courier"&gt;http://www.w3.org/2005/Atom&lt;/FONT&gt;&lt;FONT face="courier new,courier"&gt;";&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; XDocument xdoc = XDocument.Load(s);&lt;/FONT&gt;&lt;/P&gt;
  73. &lt;P mce_keep="true"&gt;&lt;FONT face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var items = from item in xdoc.Root.Elements(ns + "entry")&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; select new { Title = item.Element(ns + "title").Value };&lt;/FONT&gt;&lt;/P&gt;
  74. &lt;P mce_keep="true"&gt;&lt;FONT face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.Dispatcher.BeginInvoke(() =&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach (var item in items)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MessageBox.Show(item.Title);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; });&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; });&lt;BR&gt;}&lt;/FONT&gt;&lt;/P&gt;
  75. &lt;P mce_keep="true"&gt;&lt;FONT face="courier new,courier"&gt;private static void GetAtomFeed(string url, string username, &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; string password, string domain, GetAtomFeedCallback cb)&lt;BR&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HttpWebRequest webReq = (HttpWebRequest)HttpWebRequest.Create(url);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; webReq.Credentials = new NetworkCredential(username, password, domain);&lt;/FONT&gt;&lt;/P&gt;
  76. &lt;P mce_keep="true"&gt;&lt;FONT face="courier new,courier"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; webReq.BeginGetResponse(&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (result) =&amp;gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HttpWebRequest asyncReq = (HttpWebRequest)result.AsyncState;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HttpWebResponse resp = (HttpWebResponse)asyncReq.EndGetResponse(result);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cb(resp.GetResponseStream());&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }, webReq);&lt;BR&gt;}&lt;/FONT&gt;&lt;/P&gt;</description><pubDate>Thu, 22 Apr 2010 06:48:00 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/jan/accessing-sharepoint-2010-data-with-rest-odata-on-windows-phone-7</guid><category>SharePoint</category><category>silverlight</category><category>WindowsPhone</category></item><item><title>My first Windows Phone 7 App: Getting SharePoint Content</title><link>https://weblogs.asp.net:443/jan/my-first-windows-phone-7-app-getting-sharepoint-content</link><description>&lt;P&gt;Earlier this week at the &lt;A href="http://live.visitmix.com/" mce_href="http://live.visitmix.com"&gt;Mix10 conference&lt;/A&gt;, Microsoft announced the developer story of the Windows Phone 7 Series. As expected, it’s all about Silverlight! For all the details I highly recommend to watch the recorded keynotes (&lt;A href="http://live.visitmix.com/MIX10/Sessions/KEY01" mce_href="http://live.visitmix.com/MIX10/Sessions/KEY01"&gt;day 1&lt;/A&gt;, &lt;A href="http://live.visitmix.com/MIX10/Sessions/KEY02" mce_href="http://live.visitmix.com/MIX10/Sessions/KEY02"&gt;day 2&lt;/A&gt;).&lt;/P&gt;
  77. &lt;P&gt;Tonight I could resist trying to build my very first Windows Phone 7 application; the traditional Hello World thingy. Because the developer tools (Visual Studio 2010 and the free Visual Studio 2010 Express) have pretty nice templates, that wasn’t much of a challenge. So I tried to build something real: an application that can display SharePoint 2010 content, for example items from an announcements list. I head to work my way around some limitations because both SharePoint 2010 and the developer tools are still in beta and CTP, but finally I got it working! Because of the many workarounds, the code is not yet ready for publication, but I’ve created a small screencast so you can see the result. To be continued! :-)&lt;/P&gt;
  78. &lt;P&gt;
  79. &lt;OBJECT width=640 height=480&gt;&lt;PARAM NAME="allowfullscreen" VALUE="true"&gt;&lt;PARAM NAME="allowscriptaccess" VALUE="always"&gt;&lt;PARAM NAME="movie" VALUE="http://vimeo.com/moogaloop.swf?clip_id=10244318&amp;amp;server=vimeo.com&amp;amp;show_title=0&amp;amp;show_byline=0&amp;amp;show_portrait=0&amp;amp;color=00ADEF&amp;amp;fullscreen=1"&gt;
  80. &lt;embed src="http://vimeo.com/moogaloop.swf?clip_id=10244318&amp;amp;server=vimeo.com&amp;amp;show_title=0&amp;amp;show_byline=0&amp;amp;show_portrait=0&amp;amp;color=00ADEF&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="640" height="480"&gt;&lt;/embed&gt;&lt;/OBJECT&gt;
  81. &lt;P&gt;&lt;A href="http://vimeo.com/10244318"&gt;Windows Phone 7 POC: Getting SharePoint Data&lt;/A&gt; from &lt;A href="http://vimeo.com/user996044"&gt;Jan Tielens&lt;/A&gt; on &lt;A href="http://vimeo.com/"&gt;Vimeo&lt;/A&gt;.&lt;/P&gt;</description><pubDate>Wed, 17 Mar 2010 21:41:00 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/jan/my-first-windows-phone-7-app-getting-sharepoint-content</guid><category>SharePoint</category></item><item><title>When SharePoint Matters: OneResponse</title><link>https://weblogs.asp.net:443/jan/when-sharepoint-matters-oneresponse</link><description>&lt;P mce_keep="true"&gt;Two weeks ago I was in Iceland, talking about SharePoint 2010 at &lt;A href="http://www.tmsoftware.is/english/" mce_href="http://www.tmsoftware.is/english/"&gt;TM Software&lt;/A&gt;&amp;nbsp;(&lt;A href="http://jantielens.wordpress.com/" mce_href="http://jantielens.wordpress.com/"&gt;some photos here :-)&lt;/A&gt; ). During the course, some students showed me a pretty cool public SharePoint 2007 site that they have been working on: OneResponse (&lt;A href="http://oneresponse.info/"&gt;http://oneresponse.info&lt;/A&gt;). OneResponse is the site the United Nations uses to collaborate and share information during catastrophes such as the recent earthquake in Haiti. Besides of the fact that the site is implemented really well, it must be pretty cool to know that your work will have such a big impact. Well done guys, it was a pleasure to be your guest!&lt;/P&gt;</description><pubDate>Mon, 08 Mar 2010 20:52:00 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/jan/when-sharepoint-matters-oneresponse</guid><category>SharePoint</category></item><item><title>Speaking at the Italian SharePoint Conference Next Week</title><link>https://weblogs.asp.net:443/jan/speaking-at-the-italian-sharepoint-conference-next-week</link><description>&lt;P&gt;Next week on Wednesday and Thursday I’ll be in Milano, Italy during the &lt;A href="http://www.sharepointconference.it/" mce_href="http://www.sharepointconference.it"&gt;SharePoint &amp;amp; Office Conference 2010&lt;/A&gt;. They have a nice lineup of both Italian and international speakers to deliver 60 sessions during three days. I’ll be &lt;A href="http://www.sharepointconference.it/speakers.aspx#Jan_Tielens" mce_href="http://www.sharepointconference.it/speakers.aspx#Jan_Tielens"&gt;presenting four of them&lt;/A&gt;:&lt;/P&gt;
  82. &lt;UL&gt;
  83. &lt;LI&gt;Client Side Technologies in SharePoint 2010&lt;/LI&gt;
  84. &lt;LI&gt;Building, Deploying and Managing Sandboxed Solutions&lt;/LI&gt;
  85. &lt;LI&gt;Advanced Web Part Development in SharePoint 2010&lt;/LI&gt;
  86. &lt;LI&gt;Silverlight and SharePoint 2010: Better Together&lt;/LI&gt;&lt;/UL&gt;
  87. &lt;P&gt;So, please come and say hi if you’re on the SharePoint Conference in Italy next week!&lt;/P&gt;</description><pubDate>Fri, 05 Mar 2010 11:15:00 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/jan/speaking-at-the-italian-sharepoint-conference-next-week</guid><category>SharePoint</category></item><item><title>Referencing Javascript Files with SharePoint 2010 Custom Actions using SciptSrc</title><link>https://weblogs.asp.net:443/jan/scriptsrc-referencing-javascript-files-with-sharepoint-2010-custom-actions</link><description>&lt;P mce_keep="true"&gt;If you’re an avid reader of this blog, you are probably aware of the fact that using Javascript plus SharePoint is a very powerful combination. In SharePoint 2007 there were a couple of techniques you could use to make sure your Javascript files would be referenced by SharePoint pages:&lt;/P&gt;
  88. &lt;OL&gt;
  89. &lt;LI&gt;
  90. &lt;DIV mce_keep="true"&gt;Add the Script reference to the Master Page&lt;/DIV&gt;&lt;/LI&gt;
  91. &lt;LI&gt;
  92. &lt;DIV mce_keep="true"&gt;Use a Delegate Control (e.g. the AdditionalPageHead)&lt;/DIV&gt;&lt;/LI&gt;
  93. &lt;LI&gt;
  94. &lt;DIV mce_keep="true"&gt;Dynamically through code, e.g. in a Web Part&lt;/DIV&gt;&lt;/LI&gt;&lt;/OL&gt;
  95. &lt;P mce_keep="true"&gt;Although all those techniques work, and will still work in SharePoint 2010, they all have some limitations. The first technique requires you to build a custom Master Page, which may be a little overkill just to get a Javascript file referenced. Additionally, your custom Master Page is not used on Application Pages (unless you use the &lt;A href="http://www.codeplex.com/SuperBranding" mce_href="http://www.codeplex.com/SuperBranding"&gt;Superbranding trick&lt;/A&gt;). The second is my favorite one in SharePoint 2007, but the requirement is that the Master Page you’re using has the corresponding Delegate Control, and you need to have either a Server Control or Web User Control that generates HTML to reference the script. The third technique is nice if you only want to use the script when the Web Part is on the page, otherwise you’ll have to put the Web Part on every page where you’d like to reference the script.&lt;/P&gt;
  96. &lt;P mce_keep="true"&gt;SharePoint 2010 is adding another very interesting technique to this list; using the &lt;STRONG&gt;ScriptSrc &lt;/STRONG&gt;attribute of the &lt;STRONG&gt;CustomAction &lt;/STRONG&gt;element in a Feature. Check the following Feature Elements file:&lt;/P&gt;
  97. &lt;P mce_keep="true"&gt;&lt;FONT face="courier new,courier"&gt;&amp;lt;Elements xmlns="&lt;/FONT&gt;&lt;FONT face="courier new,courier"&gt;http://schemas.microsoft.com/sharepoint/&lt;/FONT&gt;&lt;FONT face="courier new,courier"&gt;"&amp;gt;&lt;BR&gt;&amp;nbsp; &amp;lt;CustomAction&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ScriptSrc="&lt;/FONT&gt;&lt;FONT face="courier new,courier"&gt;JSDemo/jquery-1.4.2.js&lt;/FONT&gt;&lt;FONT face="courier new,courier"&gt;"&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Location="ScriptLink"&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Sequence="100"&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;gt;&lt;BR&gt;&amp;nbsp; &amp;lt;/CustomAction&amp;gt;&lt;BR&gt;&amp;lt;/Elements&amp;gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
  98. &lt;P mce_keep="true"&gt;The first important thing to notice is that the CustomAction element contains the ScrptSrc attribute that points in this example to the jQuery Javascript library. The jQuery library is added to the &lt;STRONG&gt;/_layouts&lt;/STRONG&gt; folder in the SharePoint Root, in a folder called &lt;STRONG&gt;JSDemo &lt;/STRONG&gt;(the /_layouts/ prefix is added automatically). By the way, adding files to the /_layouts folder is very easy in a SharePoint project in Visual Studio 2010, using a &lt;STRONG&gt;Mapped Folder&lt;/STRONG&gt;.&amp;nbsp; The second important attribute is the Location; it must be set to ScriptLink so the Javascript file is referenced in the head element of the page. Optionally you can specify a Sequence attribute to determine the in which order the script references will be added (if you have multiple). When Feature is activated, it results in the following HTML:&lt;/P&gt;
  99. &lt;P mce_keep="true"&gt;&lt;FONT face="courier new,courier"&gt;document.write('&amp;lt;script type="text/javascript" src="/_layouts/jsdemo/jquery-1.4.2.min.js?rev=EAku7lY97C3Kgrd9LPWhrg%3D%3D"&amp;gt;&amp;lt;/' + 'script&amp;gt;');&lt;/FONT&gt;&lt;/P&gt;
  100. &lt;P mce_keep="true"&gt;It’s important to mention that adding a reference to a script using this technique only works for scripts stored in the /_LAYOUTS folder in the SharePoint Root, so unfortunately it’s not possible to do something like this:&lt;/P&gt;
  101. &lt;P mce_keep="true"&gt;&lt;FONT face="courier new,courier"&gt;&amp;lt;Elements xmlns="&lt;/FONT&gt;&lt;FONT face="courier new,courier"&gt;http://schemas.microsoft.com/sharepoint/&lt;/FONT&gt;&lt;FONT face="courier new,courier"&gt;"&amp;gt;&lt;BR&gt;&amp;nbsp; &amp;lt;CustomAction&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ScriptSrc="&lt;/FONT&gt;&lt;FONT face="courier new,courier"&gt;http://ajax.microsoft.com/ajax/jquery/jquery-1.4.2.min.js&lt;/FONT&gt;&lt;FONT face="courier new,courier"&gt;"&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Location="ScriptLink"&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Sequence="100"&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;gt;&lt;BR&gt;&amp;nbsp; &amp;lt;/CustomAction&amp;gt;&lt;BR&gt;&amp;lt;/Elements&amp;gt;&lt;/FONT&gt;&lt;/P&gt;
  102. &lt;P mce_keep="true"&gt;Besides the &lt;STRONG&gt;ScriptSrc&lt;/STRONG&gt; attribute, you can also use the &lt;STRONG&gt;ScriptBlock&lt;/STRONG&gt; attribute to render a script inline. The following example shows an annoying message box every time a pages load:&lt;/P&gt;
  103. &lt;P mce_keep="true"&gt;&lt;FONT face="courier new,courier"&gt;&amp;lt;Elements xmlns="http://schemas.microsoft.com/sharepoint/"&amp;gt;&lt;/FONT&gt;&lt;BR&gt;&lt;FONT face="courier new,courier"&gt;&amp;nbsp; &amp;lt;CustomAction&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ScriptSrc="JSDemo/jquery-1.4.2.min.js"&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Location="ScriptLink"&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Sequence="100"&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;gt;&lt;BR&gt;&amp;nbsp; &amp;lt;/CustomAction&amp;gt;&lt;BR&gt;&amp;nbsp; &amp;lt;CustomAction&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Location="ScriptLink"&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ScriptBlock="$(document).ready(function() { &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; alert('jQuery is loaded!!'); });"&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Sequence="101"&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;gt;&lt;BR&gt;&amp;nbsp; &amp;lt;/CustomAction&amp;gt;&lt;BR&gt;&amp;lt;/Elements&amp;gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
  104. &lt;P mce_keep="true"&gt;Unfortunately the ScriptSrc attribute doesn’t work very well in combination with Sandboxed Solutions: you can’t add files to the SharePoint Root using Sandboxed Solutions, and the ScriptSrc attribute requires the referenced script to be in the SharePoint Root’s /_layouts folder. I’m still figuring out a nice way to add for example the jQuery library to a SharePoint site, only using a Sandboxed Solution. If I’m successful, you’ll can definitely read more about it in a future post! :-)&lt;/P&gt;</description><pubDate>Mon, 01 Mar 2010 12:45:00 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/jan/scriptsrc-referencing-javascript-files-with-sharepoint-2010-custom-actions</guid><category>SharePoint</category></item><item><title>Little SharePoint 2010 Gem: AJAX Options in List View Web Parts</title><link>https://weblogs.asp.net:443/jan/little-sharepoint-2010-gem-ajax-options-in-list-view-web-parts</link><description>&lt;P mce_keep="true"&gt;Last week I stumbled upon some pretty neat functionality of the out-of-the-box List View Web Part in SharePoint 2010: the AJAX Options. When you add a Web Part from the &lt;STRONG&gt;List and Libraries &lt;/STRONG&gt;category (that basically shows you every List and Document Library you have on the SharePoint site) behind the scenes the Data View Web Part is being used to display the List or Document Library data.&lt;/P&gt;
  105. &lt;P mce_keep="true"&gt;&lt;IMG src="http://storage.tielens.name/ajaxoptions2.jpg" mce_src="http://storage.tielens.name/ajaxoptions2.jpg"&gt;&lt;/P&gt;
  106. &lt;P mce_keep="true"&gt;When you edit such a Web Part once it has been added to a page, you’ll notice there is a new &lt;STRONG&gt;AJAX Options &lt;/STRONG&gt;section in the Web Part properties. AJAX stands for Asynchronous Javascript and XML and is a web development technique to build more interactive, rich web sites. The AJAX Options are disabled by default, but by enabling you can get some pretty cool results:&lt;/P&gt;
  107. &lt;P mce_keep="true"&gt;&lt;IMG src="http://storage.tielens.name/ajaxoptions1.png" mce_src="http://storage.tielens.name/ajaxoptions1.png"&gt;&lt;/P&gt;
  108. &lt;UL&gt;
  109. &lt;LI&gt;
  110. &lt;DIV mce_keep="true"&gt;&lt;STRONG&gt;Enable Asynchronous Update&lt;/STRONG&gt;: enabling this option will make paging, sorting, filtering work without full page refreshes.&lt;/DIV&gt;&lt;/LI&gt;
  111. &lt;LI&gt;
  112. &lt;DIV mce_keep="true"&gt;&lt;STRONG&gt;Show Manual Refresh Button&lt;/STRONG&gt;: enabling this option will show an icon to allow the user the refresh the data manually, once again without refreshing the rest of the page.&lt;/DIV&gt;&lt;/LI&gt;
  113. &lt;LI&gt;
  114. &lt;DIV mce_keep="true"&gt;&lt;STRONG&gt;Enable Asynchronous Automatic Refresh&lt;/STRONG&gt;: when enabled, the Web Part will dynamically refresh the date it’s showing, without completely reloading the page. The interval can be specified in the textbox below.&lt;/DIV&gt;&lt;/LI&gt;
  115. &lt;LI&gt;
  116. &lt;DIV mce_keep="true"&gt;&lt;STRONG&gt;Automatic Refreshing Interval&lt;/STRONG&gt;: specifies the interval used in the previous option.&lt;/DIV&gt;&lt;/LI&gt;
  117. &lt;LI&gt;
  118. &lt;DIV mce_keep="true"&gt;&lt;STRONG&gt;Enable Asynchronous Load&lt;/STRONG&gt;: when enabled, the Web Part will initially be displayed without any data in it. But once the page is loaded, the Web Part will asynchronously fetch the data afterwards. When the data is being loaded, the Web Part will display an animation. This option will speed up the initial page load.&lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;</description><pubDate>Mon, 01 Mar 2010 07:06:00 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/jan/little-sharepoint-2010-gem-ajax-options-in-list-view-web-parts</guid><category>SharePoint</category></item><item><title>SharePoint Connections 2010 &amp; SharePINT with Belgian Beer in Amsterdam</title><link>https://weblogs.asp.net:443/jan/sharepoint-connections-2010-amp-sharepint-with-belgian-beer-in-amsterdam</link><description>&lt;P mce_keep="true"&gt;Next week (18th and 19th of January, 2010) the &lt;A href="http://www.devconnections.com/speurope/" mce_href="http://www.devconnections.com/speurope/"&gt;Microsoft SharePoint Connections 2010&lt;/A&gt; will be held in Amsterdam RAI (The Netherlands). There is a great lineup of &lt;A href="http://www.devconnections.com/shows/NED2010SP/default.asp?c=2&amp;amp;s=149" mce_href="http://www.devconnections.com/shows/NED2010SP/default.asp?c=2&amp;amp;s=149"&gt;speakers&lt;/A&gt; and &lt;A href="http://www.devconnections.com/shows/NED2010SP/default.asp?c=1&amp;amp;s=149" mce_href="http://www.devconnections.com/shows/NED2010SP/default.asp?c=1&amp;amp;s=149"&gt;sessions&lt;/A&gt; over there, so I'm sure it will be a very interesting event! I will be presenting three sessions, one on Monday and two on Tuesday:&lt;/P&gt;
  119. &lt;UL&gt;
  120. &lt;LI&gt;
  121. &lt;DIV mce_keep="true"&gt;Client-Side Technologies in SharePoint 2010&lt;/DIV&gt;&lt;/LI&gt;
  122. &lt;LI&gt;
  123. &lt;DIV mce_keep="true"&gt;Silverlight and SharePoint 2010: Better Together&lt;/DIV&gt;&lt;/LI&gt;
  124. &lt;LI&gt;
  125. &lt;DIV mce_keep="true"&gt;Advanced Web Part Development in SharePoint 2010&lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;
  126. &lt;P mce_keep="true"&gt;I'm also very proud to mention that &lt;A href="http://www.u2u.be/" mce_href="http://www.u2u.be"&gt;&lt;STRONG&gt;U2U&lt;/STRONG&gt;&lt;/A&gt;&lt;STRONG&gt; will be sponsering the SharePINT community event on Monday evening. &lt;/STRONG&gt;As a Belgian company we are of course buying you guys some real Belgian beer (Leffe)! So make sure to visit the expo area of the conference after the last session on Monday and feel free to say hi. :-)&lt;/P&gt;</description><pubDate>Thu, 14 Jan 2010 06:44:00 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/jan/sharepoint-connections-2010-amp-sharepint-with-belgian-beer-in-amsterdam</guid><category>SharePoint</category></item></channel></rss>

If you would like to create a banner that links to this page (i.e. this validation result), do the following:

  1. Download the "valid RSS" banner.

  2. Upload the image to your own server. (This step is important. Please do not link directly to the image on this server.)

  3. Add this HTML to your page (change the image src attribute if necessary):

If you would like to create a text link instead, here is the URL you can use:

http://www.feedvalidator.org/check.cgi?url=http%3A//weblogs.asp.net/jan/rss.aspx

Copyright © 2002-9 Sam Ruby, Mark Pilgrim, Joseph Walton, and Phil Ringnalda