<?xml version="1.0" encoding="UTF-8" ?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US"><title type="html">Johan's Avanade Blog</title><subtitle type="html" /><id>http://blog.avanadeadvisor.com/blogs/johanr/atom.aspx</id><link rel="alternate" type="text/html" href="http://blog.avanadeadvisor.com/blogs/johanr/default.aspx" /><link rel="self" type="application/atom+xml" href="http://blog.avanadeadvisor.com/blogs/johanr/atom.aspx" /><generator uri="http://communityserver.org" version="2.0.60217.2664">Community Server</generator><updated>2008-02-04T04:22:00Z</updated><entry><title>ADO.NET Data Services: how to invoke a WebGet service operation from a WebClient</title><link rel="alternate" type="text/html" href="http://blog.avanadeadvisor.com/blogs/johanr/archive/2008/10/16/11973.aspx" /><id>http://blog.avanadeadvisor.com/blogs/johanr/archive/2008/10/16/11973.aspx</id><published>2008-10-16T23:49:47Z</published><updated>2008-10-16T23:49:47Z</updated><content type="html">&lt;p&gt;I have been working lately with ADO.NET Data Services, and I found several tutorials on how to create your first services and service operations.&amp;#160; But, then once I wanted to consume my service operations (WebGet), I was in the clouds...&lt;/p&gt;  &lt;p&gt;So, here are my 2 cents...&lt;/p&gt;  &lt;p&gt;First, here is the context of the service operation on the server:&lt;/p&gt;  &lt;p&gt;public class MyService : DataService&amp;lt;MyEntities&amp;gt;   &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; {    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; // This method is called only once to initialize service-wide policies.    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; public static void InitializeService(IDataServiceConfiguration config)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; config.SetServiceOperationAccessRule(&amp;quot;*&amp;quot;, ServiceOperationRights.All);    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; } &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; [WebGet]   &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; public IQueryable&amp;lt;Program&amp;gt; GetPrograms(int code, DateTime startDate, DateTime endDate)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; {    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; return from program in this.CurrentDataSource.Program    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; where program.Code == code    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;amp;&amp;amp; program.Date &amp;gt;= startDate.Date    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;amp;&amp;amp; program.Date &amp;lt; endDate.Date    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; select program;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; }&lt;/p&gt; }  &lt;p&gt;Then, on the client I can invoke it as follow:&lt;/p&gt;  &lt;p&gt;public IList&amp;lt;Program&amp;gt; Retrieve(int code, DateTime startDate, DateTime endDate)   &lt;br /&gt;{&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; var context = new MyService.MyEntities(&amp;lt;service url&amp;gt;);    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; context.MergeOption = MergeOption.AppendOnly;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; var list = context.CreateQuery&amp;lt;Program&amp;gt;(&amp;quot;GetPrograms&amp;quot;)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; .AddQueryOption(&amp;quot;code&amp;quot;, code)    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; .AddQueryOption(&amp;quot;startDate&amp;quot;, string.Format(&amp;quot;datetime'{0:yyyy-MM-ddTHH:mm:ss}'&amp;quot;, startDate))    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; .AddQueryOption(&amp;quot;endDate&amp;quot;, string.Format(&amp;quot;datetime'{0:yyyy-MM-ddTHH:mm:ss}'&amp;quot;, endDate)); &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; return list.ToList();   &lt;br /&gt;}&lt;/p&gt;  &lt;p&gt;Note that the parameters must be added inline to the CreateQuery method, and I had to use specific DateTime format for my parameters.&lt;/p&gt;  &lt;p&gt;&lt;u&gt;Links&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://msdn.microsoft.com/en-us/magazine/cc794279.aspx" target="_blank"&gt;Create Data-Centric Web Applications With Silverlight 2&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/bursteg/archive/2007/12/12/ado-net-data-services-part-1-building-a-simple-web-data-service.aspx" target="_blank"&gt;ADO.Net Data Services Part 1 - Building a Simple Web Data Service&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.microsoft.co.il/blogs/bursteg/archive/2007/12/16/ado-net-data-services-part-2-using-service-operations-with-webget.aspx" target="_blank"&gt;ADO.Net Data Services Part 2 - Using Service Operations with WebGet&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/marcelolr/archive/2008/01/21/service-operations-in-ado-net-data-services.aspx" target="_blank"&gt;Service Operations in ADO.NET Data Services&lt;/a&gt;&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:f9f1a75c-415e-4ca3-af1d-b34a44c84701"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/ADO.NET%20Data%20Services" rel="tag"&gt;ADO.NET Data Services&lt;/a&gt;,&lt;a href="http://technorati.com/tags/WebGet" rel="tag"&gt;WebGet&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Service%20Operation" rel="tag"&gt;Service Operation&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blog.avanadeadvisor.com/aggbug.aspx?PostID=11973" width="1" height="1"&gt;</content><author><name>johanr</name><uri>http://blog.avanadeadvisor.com/members/johanr.aspx</uri></author></entry><entry><title>Silverlight Debugger suddenly stopped working!</title><link rel="alternate" type="text/html" href="http://blog.avanadeadvisor.com/blogs/johanr/archive/2008/09/17/11715.aspx" /><id>http://blog.avanadeadvisor.com/blogs/johanr/archive/2008/09/17/11715.aspx</id><published>2008-09-17T23:59:00Z</published><updated>2008-09-17T23:59:00Z</updated><content type="html">&lt;P&gt;I have been working on a Silverlight app (using VS2008 and Blend June Preview), and I first noticed that, sometimes, when I ran my app I did not have the latest code, so I stopped, rebuilt, and restarted the app and it usually worked.&lt;/P&gt;
&lt;P&gt;But this week, I have been blocked for an hour when my Debugger suddenly stopped working.&amp;nbsp; I thought the changes I made introduced strange behaviors causing the ASP.NET Development Server to stop.&amp;nbsp; Then, I realized that for some reasons my latest code was not cached anymore by IE!&lt;/P&gt;
&lt;P&gt;So, if your Silverlight app does not appear with your latest changes, or if your Debugger suddenly stops working, clear the "Temporary Internet Files" in IE ("Tools\Delete Browsing History..." menu).&lt;/P&gt;
&lt;P&gt;UPDATE&lt;/P&gt;
&lt;P&gt;Since this also happens when I update the structure of my solution (moving project in sub-folders, etc.), I also need to check the Properties of my Web Application.&amp;nbsp; The "Silverlight" CheckBox should be checked under Web / Debuggers.&lt;/P&gt;
&lt;P&gt;&lt;U&gt;Links:&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://silverlight.net/forums/p/12923/92392.aspx" target=_blank&gt;Silverlight.net Forum - Debugger stopped working&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://silverlight.net/forums/p/15942/52665.aspx" target=_blank&gt;Silverlight.net Forum - aspx file not displaying the last .xap build&lt;/A&gt;&lt;/P&gt;
&lt;DIV class=wlWriterSmartContent id=scid:0767317B-992E-4b12-91E0-4F059A8CECA8:3f20ce52-e024-45d2-9d75-301bc06144d4&gt;Technorati Tags: &lt;A href="http://technorati.com/tags/Silverlight" rel=tag&gt;Silverlight&lt;/A&gt;,&lt;A href="http://technorati.com/tags/IE" rel=tag&gt;IE&lt;/A&gt;,&lt;A href="http://technorati.com/tags/ASP.NET%20Development%20Server" rel=tag&gt;ASP.NET Development Server&lt;/A&gt;,&lt;A href="http://technorati.com/tags/Debugger" rel=tag&gt;Debugger&lt;/A&gt;&lt;/DIV&gt;&lt;img src="http://blog.avanadeadvisor.com/aggbug.aspx?PostID=11715" width="1" height="1"&gt;</content><author><name>johanr</name><uri>http://blog.avanadeadvisor.com/members/johanr.aspx</uri></author></entry><entry><title>showModalDialog and PostBack</title><link rel="alternate" type="text/html" href="http://blog.avanadeadvisor.com/blogs/johanr/archive/2008/06/20/11369.aspx" /><id>http://blog.avanadeadvisor.com/blogs/johanr/archive/2008/06/20/11369.aspx</id><published>2008-06-20T18:08:54Z</published><updated>2008-06-20T18:08:54Z</updated><content type="html">&lt;p&gt;Working on a MOSS component, I implemented a Modal Popup form including a SPGridView with Sorting an Filtering features.&amp;#160; unfortunately, I spent &amp;quot;huge&amp;quot; amount of time figuring-out how to make the grid working properly with its PostBack events.&amp;#160; The main issue was every javascript call resulted in the opening of a new form...&lt;/p&gt;  &lt;p&gt;I found a bunch of posts regarding this, and the main advice was to avoid using the showModalDialog for non-static content.&amp;#160; Just use the window.open()...&lt;/p&gt;  &lt;p&gt;I finally found this &lt;a href="http://www.themssforum.com/Asp/Postback-issues-466795/" target="_blank"&gt;post&lt;/a&gt;.&amp;#160; The result was to add the following line to the &amp;lt;head&amp;gt; tag of my popup form:&lt;/p&gt;  &lt;p&gt;&amp;lt;base target=&amp;quot;_self&amp;quot;/&amp;gt;&lt;/p&gt;  &lt;p&gt;With this all my javascript code and PostBack events work like a charm!&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:51215523-e44e-4613-99c8-324fa1545d51"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/MOSS" rel="tag"&gt;MOSS&lt;/a&gt;,&lt;a href="http://technorati.com/tags/javascript" rel="tag"&gt;javascript&lt;/a&gt;,&lt;a href="http://technorati.com/tags/showModalDialog" rel="tag"&gt;showModalDialog&lt;/a&gt;,&lt;a href="http://technorati.com/tags/PostBack" rel="tag"&gt;PostBack&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blog.avanadeadvisor.com/aggbug.aspx?PostID=11369" width="1" height="1"&gt;</content><author><name>johanr</name><uri>http://blog.avanadeadvisor.com/members/johanr.aspx</uri></author></entry><entry><title>MenuItemTemplate and ClientOnClickUsingPostBackEvent</title><link rel="alternate" type="text/html" href="http://blog.avanadeadvisor.com/blogs/johanr/archive/2008/06/11/11348.aspx" /><id>http://blog.avanadeadvisor.com/blogs/johanr/archive/2008/06/11/11348.aspx</id><published>2008-06-11T19:01:20Z</published><updated>2008-06-11T19:01:20Z</updated><content type="html">&lt;p&gt;I spend a fair amount of time before figuring out how to implement a Menu Item that would trigger a Post Back Event.&amp;#160; So, thanks to &lt;a href="http://blogs.msdn.com/powlo/archive/2007/02/25/displaying-custom-data-through-sharepoint-lists-using-spgridview-and-spmenufield.aspx" target="_blank"&gt;Powlo's blog&lt;/a&gt;, &lt;a href="http://www.thesug.org/blogs/patrickr/Lists/Posts/Post.aspx?List=8afc69af%2Df9fc%2D4786%2D816f%2D6419264c42da&amp;amp;ID=2" target="_blank"&gt;SharePoint Users Group&lt;/a&gt; and the &lt;a href="http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=3122845&amp;amp;SiteID=1&amp;amp;pageid=0" target="_blank"&gt;MSDN forum&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;My overall goal was to implement a &amp;quot;Delete&amp;quot; MenuItemTemplate that triggers a Event on the server.&amp;#160; Here are the steps for my implementation:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Implement the IPostBackEventHandler and its RaisePostBackEvent method.&lt;/li&gt;    &lt;li&gt;Add the MenuItemTemplate as follow in the aspx file:&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&amp;lt;SharePoint:MenuItemTemplate ID=&amp;quot;DeletePortfolioMenuItem&amp;quot;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; runat=&amp;quot;server&amp;quot;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Text=&amp;quot;Delete&amp;quot;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Description=&amp;quot;Delete this Portfolio&amp;quot;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ImageUrl=&amp;quot;/_layouts/images/delitem.gif&amp;quot;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Sequence=&amp;quot;2&amp;quot;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ClientOnClickPostBackConfirmation=&amp;quot;Are you sure you want to delete this item?&amp;quot;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ClientOnClickUsingPostBackEvent=&amp;quot;__page,%Name%&amp;quot; /&amp;gt;&lt;/p&gt;  &lt;p&gt;Or in the codebehind by setting the ClientOnClickPostBackConfirmation and ClientOnClickUsingPostBackEvent in the CreateChildControls method:&lt;/p&gt;  &lt;p&gt;protected override void CreateChildControls()   &lt;br /&gt;{    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; base.CreateChildControls(); &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; DeletePortfolioMenuItem.ClientOnClickPostBackConfirmation = &amp;quot;Are you sure you want to delete this item?&amp;quot;;   &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; DeletePortfolioMenuItem.ClientOnClickUsingPostBackEvent = &amp;quot;__page,%Name%&amp;quot;;    &lt;br /&gt;}&lt;/p&gt;  &lt;p&gt;The %Name% parameter is used here as the TokenNameAndValueFields in the SPMenuField of the SPGridView.&amp;#160; Its value is passed to the Event Argument of the RaisePostBackEvent method.&lt;/p&gt;  &lt;p&gt;&lt;u&gt;Note:&lt;/u&gt; The functionality can also be implemented with the ClientOnClickScript as follow:&lt;/p&gt;  &lt;p&gt;DeletePortfolioMenuItem.ClientOnClickScript = &amp;quot;if (confirm('Are you sure you want to delete this item?')) __doPostBack('&amp;quot; + this.UniqueID + &amp;quot;','%Name%')&amp;quot;;&lt;/p&gt;  &lt;p&gt;   &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:392986f3-ce81-48c5-af53-fb00ebd78ef6"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/MOSS" rel="tag"&gt;MOSS&lt;/a&gt;,&lt;a href="http://technorati.com/tags/SharePoint%202007" rel="tag"&gt;SharePoint 2007&lt;/a&gt;,&lt;a href="http://technorati.com/tags/MenuItemTemplate" rel="tag"&gt;MenuItemTemplate&lt;/a&gt;,&lt;a href="http://technorati.com/tags/ClientOnClickUsingPostBackEvent" rel="tag"&gt;ClientOnClickUsingPostBackEvent&lt;/a&gt;&lt;/div&gt;&lt;/p&gt;&lt;img src="http://blog.avanadeadvisor.com/aggbug.aspx?PostID=11348" width="1" height="1"&gt;</content><author><name>johanr</name><uri>http://blog.avanadeadvisor.com/members/johanr.aspx</uri></author></entry><entry><title>New MIME to host Silverlight 2 Beta 1</title><link rel="alternate" type="text/html" href="http://blog.avanadeadvisor.com/blogs/johanr/archive/2008/04/08/10838.aspx" /><id>http://blog.avanadeadvisor.com/blogs/johanr/archive/2008/04/08/10838.aspx</id><published>2008-04-08T21:42:03Z</published><updated>2008-04-08T21:42:03Z</updated><content type="html">&lt;p&gt;Recently, I upgraded my personal blog that contains a little Silverlight animation from Silverlight Alpha 1.1 to Silverlight 2 Beta 1.&amp;#160; So, I basically recreated my Silverlight project to have a look at the new features.&lt;/p&gt;  &lt;p&gt;When came the moment to deploy this new version to my host,&lt;em&gt;&amp;#160;&lt;/em&gt;I had a surprise: the animation was totally blank! :(&lt;/p&gt;  &lt;p&gt;So, what?&lt;/p&gt;  &lt;p&gt;Silverlight 2 now packs all required resources into a &lt;strong&gt;.XAP &lt;/strong&gt;file (this is already the case for .XPS files).&amp;#160; So, this new type has to be added to IIS as &lt;strong&gt;application/x-silverlight-app&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;&lt;u&gt;Links:&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://silverlight.net/forums/t/11187.aspx" target="_blank"&gt;How to configure IIS 6.0 to host Silverlight 2&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/brada/archive/2008/03/14/using-silverlight-2-on-a-production-web-server.aspx" target="_blank"&gt;Using Silverlight 2 on a production Web Server&lt;/a&gt;&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:b1264693-515a-4766-9759-139eeeddeacf"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Silverlight" rel="tag"&gt;Silverlight&lt;/a&gt;,&lt;a href="http://technorati.com/tags/2%20Beta%201" rel="tag"&gt;2 Beta 1&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Host" rel="tag"&gt;Host&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Deploy" rel="tag"&gt;Deploy&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blog.avanadeadvisor.com/aggbug.aspx?PostID=10838" width="1" height="1"&gt;</content><author><name>johanr</name><uri>http://blog.avanadeadvisor.com/members/johanr.aspx</uri></author></entry><entry><title>SharePoint 2007 Workflow with InfoPath</title><link rel="alternate" type="text/html" href="http://blog.avanadeadvisor.com/blogs/johanr/archive/2008/03/21/10511.aspx" /><id>http://blog.avanadeadvisor.com/blogs/johanr/archive/2008/03/21/10511.aspx</id><published>2008-03-21T22:39:25Z</published><updated>2008-03-21T22:39:25Z</updated><content type="html">&lt;p&gt;This subject has already been described and detailed for a long time, so, the intent of this post is not to add another implementation on the subject, but gives a checklist and shares few issues faced.&lt;/p&gt;  &lt;p&gt;This checklist has been done using the following tools:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;MOSS 2007 &lt;/li&gt;    &lt;li&gt;Visual Studio 2005 &lt;/li&gt;    &lt;li&gt;InfoPath 2007 &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Setup the Working Environment&lt;/strong&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;1. Open Visual Studio 2005 and create a SharePoint Server Sequential Workflow project.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;strong&gt;InfoPath Form&lt;/strong&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;2. Open InfoPath 2007 and create a new Design Form Template.&lt;/p&gt;    &lt;p&gt;3. Add controls and fields to the InfoPath form.&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;4. Check the Compatibility of the form.&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;5. Change the Security to &amp;quot;Domain&amp;quot;.&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;6. Save the InfoPath file and Publish the form to &amp;quot;DevelopmentFiles/FeatureFiles&amp;quot; folder in the Visual Studio 2005 project that was created in step# 1.&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;7. Save the InfoPath form as Source File.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;strong&gt;Visual Studio Project&lt;/strong&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;8. Execute the xsd.exe tool on the newly created myschema.xsd source file: &lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;Example: xsd.exe myschema.xsd /c&lt;/em&gt; &lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;This will generate the class corresponding to the fields used in the InfoPath form.&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;9. Copy and rename the myschema.cs to the Visual Studio project.&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;10. Update feature.xml and workflow.xml using Snippets.&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;11. Code your workflow activities.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;strong&gt;Deployment&lt;/strong&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;12. Open the Project Properties, click on Build Events and change &amp;quot;NODEPLOY&amp;quot; to &amp;quot;DEPLOY&amp;quot; in Post-build event command line&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;13. Sign the assembly and install it to the GAC.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;From this point you should be able to access your Workflow from &amp;quot;Site Settings / Galleries / Workflows&amp;quot;, and attach it to any List.&lt;/p&gt;  &lt;p&gt;If you need to access the Workflow from the SharePoint Designer few more steps are needed.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Setup the Workflow for SharePoint Designer&lt;/strong&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;14. Add an action entry in the WSS.ACTIONS file located in the following path:&lt;/p&gt;    &lt;p&gt;&lt;em&gt;C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\TEMPLATE\1033\Workflow&lt;/em&gt;&amp;#160;&lt;/p&gt; &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;15. Add an authorizedType entry to the web.config file of the Web Application.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Now, the Workflow action is accessible from the New Workflow menu option.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Issues Faced&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;The main issue faced is whenever you have an error in your InfoPath form and you get &amp;quot;The form has been closed&amp;quot; in SharePoint, or whenever you want to update the InfoPath form, the easiest is to delete the InfoPath Template and re-create a new one. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;u&gt;Links:&lt;/u&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblog.vb-tech.com/nick/archive/2007/02/25/2207.aspx" target="_blank"&gt;SharePoint 2007 Workflow with Visual Studio 2005 + InfoPath 2007&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblog.vb-tech.com/nick/archive/2006/09/04/1760.aspx" target="_blank"&gt;Deploying a custom MOSS 2007 workflow&lt;/a&gt;&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:aec93ba1-a8ab-4299-9f04-0c945463c799"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/MOSS%202007" rel="tag"&gt;MOSS 2007&lt;/a&gt;,&lt;a href="http://technorati.com/tags/SharePoint%202007" rel="tag"&gt;SharePoint 2007&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Workflow" rel="tag"&gt;Workflow&lt;/a&gt;,&lt;a href="http://technorati.com/tags/InfoPath" rel="tag"&gt;InfoPath&lt;/a&gt;&lt;/div&gt;&lt;img src="http://blog.avanadeadvisor.com/aggbug.aspx?PostID=10511" width="1" height="1"&gt;</content><author><name>johanr</name><uri>http://blog.avanadeadvisor.com/members/johanr.aspx</uri></author></entry><entry><title>Windows Vista SP1 and Windows Server 2008 set for Launch!</title><link rel="alternate" type="text/html" href="http://blog.avanadeadvisor.com/blogs/johanr/archive/2008/02/04/8455.aspx" /><id>http://blog.avanadeadvisor.com/blogs/johanr/archive/2008/02/04/8455.aspx</id><published>2008-02-04T18:22:00Z</published><updated>2008-02-04T18:22:00Z</updated><content type="html">&lt;P&gt;&lt;FONT face=Arial&gt;Both versions will be available mid-March.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;After a little check on MSDN Subscriber, WS2008 x64 is already available for download!&amp;nbsp; The other versions are coming.&amp;nbsp; The good news is it already contains Hyper-V (other versions will be available Without Hyper-V).&amp;nbsp; After using the RC1 on my laptop for a couple of weeks, I can say that my short experience is really positive: it's a lot faster on my configuration with Hyper-V than my previous one with Vista x86 and Virtual PC, and that it has been really stable until now.&amp;nbsp; So, I am pretty eager to install the final version.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;For more details about the install,&amp;nbsp;follow &lt;A href="/blogs/bryantl/archive/2008/01/07/7697.aspx"&gt;Bryant&lt;/A&gt;'s post about switching his laptop to Windows Server 2008.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=1&gt;&lt;U&gt;Links:&lt;/U&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.informationweek.com/management/showArticle.jhtml?articleID=206103605"&gt;&lt;FONT face=Arial size=1&gt;Windows Vista SP1 Set For Launch, Microsoft Says&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.zdnet.fr/actualites/informatique/0,39040745,39378129-1,00.htm"&gt;&lt;FONT face=Arial size=1&gt;Windows Vista SP1 et Windows Server 2008 finalisés&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blog.avanadeadvisor.com/aggbug.aspx?PostID=8455" width="1" height="1"&gt;</content><author><name>johanr</name><uri>http://blog.avanadeadvisor.com/members/johanr.aspx</uri></author></entry></feed>