<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US"><title type="html">David McDonald's Dynamics Blog</title><subtitle type="html" /><id>http://blogs.msdn.com/dmcdonald/atom.xml</id><link rel="alternate" type="text/html" href="http://blogs.msdn.com/dmcdonald/default.aspx" /><link rel="self" type="application/atom+xml" href="http://blogs.msdn.com/dmcdonald/atom.xml" /><generator uri="http://communityserver.org" version="2.1.61025.2">Community Server</generator><updated>2003-04-21T09:41:00Z</updated><entry><title>How to Federate Dynamics CRM</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/dmcdonald/archive/2009/06/25/how-to-federate-dynamics-crm.aspx" /><id>http://blogs.msdn.com/dmcdonald/archive/2009/06/25/how-to-federate-dynamics-crm.aspx</id><published>2009-06-25T23:35:16Z</published><updated>2009-06-25T23:35:16Z</updated><content type="html">&lt;p&gt;&lt;a href="http://blogs.msdn.com/crm/pages/bio-rich-carr.aspx" target="_blank"&gt;Microsoft CRM Guru Rich Carr&lt;/a&gt; has written a great article about how to Federate CRM between systems or tenants.&amp;#160; He is my first “guest blogger” and here is his article.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h2&gt;Federated or Multi-tenant Implementations – How to Sync 1 CRM system to another!&lt;/h2&gt;  &lt;p&gt;There are some large implementations of CRM that are global enough to consider a federated approach to their implementation. There are also some implementations of XRM where 1 or more entities need to be synced between the tenants in the solution. Then there are a few instances where people may want to go from onPremise to online.&lt;/p&gt;  &lt;p&gt;Each one of these scenarios can be solved with variations of the code in this blog.&lt;/p&gt;  &lt;p&gt;What started me down this path was curiosity about migrating from onPremise to onLine. There were plenty of whitepapers and documents on going from onLine to onPremise, but nothing going the other way. Research led me to the fact that you have to either Scribe, or try to write some custom .NET code instead.&lt;/p&gt;  &lt;p&gt;Given that I love to write .NET code, easy choice. But I certainly didn’t want to hardcode everything!! I started to look at the helper classes and the dynamicentitypartialtype.cs file became the anchor of the solution. If you haven’t tried this helper class out yet, try it – the class is pretty cool. Being a self taught C# coder I spent a little time trying to figure out how it was invoked from the sample code since there was no instantiation of the class. Finally I just ran it and realized that because of how it was constructed that it “just starts” all by itself whenever you instantiate an entity that is a DynamicEntity! &lt;/p&gt;  &lt;p&gt;That was cool – but when I tried to add the class to my project with 2 different CrmSdk references, all hell broke loose. The namespace on the class is CrmSdk - since the result of the partial type class was the ability to build a dynamic entity on the fly, and it is a target dynamicentity that I want to create (not source) , I decided to put that class in the same namespace as the target CrmSdk, resulting in:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;namespace CrmSdkTarget;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;A little more digging to figure out how it really worked and I came across the code where it takes the passed in value and creates an object of the correct type and places the passed in value where it was supposed to go. If you have tried to update or create an entity through the dynamicentity route you have found where an attribute of a certain property has to be set to a value of the correct type. As an example, in order to create a property of type CrmLookupProperty that you have to first create a CrmLookup object and then set the value property of the CrmLookupProperty to this object, like this:&lt;/p&gt;  &lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;   &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;     &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; Lookup myLU = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; Lookup();&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt; myLU.name = “John Smith”;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt; myLU.Type = “contact”;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt; myLU.&lt;span style="color: #0000ff"&gt;value&lt;/span&gt; = “348145F4-B2F3-DD11-BCF9-00C09F2C80B1”;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt; LookupProperty myLUProp = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; LookupProperty();&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt; myLUProp.Name = “contactid”;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum7"&gt;   7:&lt;/span&gt; myLUProp.Value = myLU;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&lt;/p&gt;

&lt;h3&gt;Authentication&lt;/h3&gt;

&lt;p&gt;In my solution I had 2 web references – one called CrmSdkTarget which was for my target – and one called CrmSdkSource which was my source. I called 2 different routines to get an instance of each and inside each routine is the authentication required of each. When I first wrote this I was going from a VPC image on my laptop to my own online system so I needed one AD authentication and one Live. Changing this part of the code should be trivial to match your authentication requirements.&lt;/p&gt;

&lt;h3&gt;When is DynamicEntity NOT equal to a DynamicEntity?&lt;/h3&gt;

&lt;p&gt;This is really the crux of the problem. You have an account on system A and want to sync it to system B. In one .NET project you can set up web references to both of the systems and authenticate to them easy enough – but you still can’t grab an account object as a DynamicEntity from System A and set a DynamicEntity from System B equal to it. What’s worse is that when you do anything in your code you have to qualify what you are doing because you now have multiple references to the same object.&lt;/p&gt;

&lt;p&gt;In order for this to work I had to add the reference to the Source CrmSdkSource to the dynamicentitypartialtype class – which caused every reference to CrmSdk objects to turn red and ugly because of VS not knowing which one I meant.&lt;/p&gt;

&lt;p&gt;So something like:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Public static object GetPropertyValue(Property property) &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;becomes&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Public static object GetPropertyValue(CrmSdkTarget.Property property) &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Every single reference to a CRM object had to be typed correctly. Since you can download my code, you don’t have to do it!&lt;/p&gt;

&lt;p&gt;Next I tackled the real meat of the solution – the code in the CreateInstance method. This code is where an object is passed and turned into a CRM DynamicEntity Property. Once again – a CrmSdkTarget.Lookup object does NOT equal a CrmSdkSource.Lookup object! So in order for this to work I had to build a CrmSdkTarget.Lookup object by getting the values out of the CrmSdkSource.Lookup object.&lt;/p&gt;

&lt;p&gt;This same concept was applied for each CRM property type. The place where things a little more interesting is the DynamicEntityProperty – the property used by activities for things like email to’s and from’s. That can actually be several properties in 1 so the code is a lot messier. Also where it gets confusing is that not all properties on an activityparty are ok for create. For instance while processing the &lt;b&gt;&lt;i&gt;to&lt;/i&gt;&lt;/b&gt; property for emails the source system will pass you a property within the dynamicentityproperty for &lt;b&gt;&lt;i&gt;donotfax&lt;/i&gt;&lt;/b&gt;. That is not a valid property for create.&lt;/p&gt;

&lt;h3&gt;Excluding other properties&lt;/h3&gt;

&lt;p&gt;In the main driver program there were more issues similar to the&lt;b&gt;&lt;i&gt; to&lt;/i&gt;&lt;/b&gt; for emails – not every property is ok for create. For instance any of the created and modified properties are read only fields. So I added a switch to exclude these fields. I called the metadata service to get a list of which fields are valid for create and created an ArrayList full of them. The driver program looks at each property in the source and if it is in the ArrayList, it passes it on for creation on the target side.&lt;/p&gt;

&lt;p&gt;Finally the code that is used to grab all of the accounts or other entities is pretty much straight from the SDK. &lt;/p&gt;

&lt;h3&gt;A couple more Gotcha’s&lt;/h3&gt;

&lt;p&gt;If you are migrating a fully used system then there is a definite order that is required for your migration. For instance Lead has to be done before Account because Accounts have a field called originatingleadid that will throw an error if the lead doesn’t exist yet. There are countless other instances of this. Some of them have to be handled by watching the order – and some a little different.&lt;/p&gt;

&lt;p&gt;One that is a little different is the primarycontactid field on account. In my solution I load an account and then save off the primarycontactid field. I then process all of the contacts for the account I just processed and when I find the one that has the same GUID as my saved off primarycontactid, I do an account update.&lt;/p&gt;

&lt;p&gt;Another gotch is status and statecode’s. After you create the entity in many cases you have to call a SetState message to get the status to be something other than “New”. The code here accounts for that for all of the entities that are covered.&lt;/p&gt;

&lt;p&gt;Finally – activities are just a strange beast no matter how you slice it. A source system will give you a cc or bcc with nothing in it, and creating that same thing isn’t easy. What I decided to do is to check the length of the dynamicentity array and if it is greater than 0 deal with it, otherwise don’t even send it to the target system.&lt;/p&gt;

&lt;h3&gt;Federation and Multi-Tenancy Timing Considerations&lt;/h3&gt;

&lt;p&gt;In these scenarios while there are a few options I think I can make a case that there is only one real option. The one option using this code that I would not suggest is to use plug-ins. I don’t suggest this for two reasons – the first is that a web service dynamic entity is not the same as the ICrmService that you get when you do a plug-in. While this is a minor inconvenience and I’m sure could be overcome – the larger issue is one that is more serious.&lt;/p&gt;

&lt;p&gt;My background for CRM is in auditing. When you are doing an audit application you cannot “miss” a transaction. As soon as you do that, your application isn’t worth anything. I don’t see anything any different with trying to keep information in sync than in auditing. If you “miss” a transaction, then it is gone and you can’t ever get it back. The one you “miss” could be the one that updates the most important piece of information that someone else really needed to have. Once users lose confidence in your application, then it is a real bear to get it back. How could you “miss” one with a plug-in? If the target system is down for maintenance, in the middle of an IISReset or something similar then your create or update will fail.&lt;/p&gt;

&lt;p&gt;So the solution is to ensure delivery by offloading the process. Step 1 is to create a plug-in that just writes out the transaction to a table in a non CRM database. Grab the transaction type, objectId, ObjectTypeCode, preXml, PostXML and timestamp it. If the database write fails, write it all out to a text file. This should never fail to capture the transaction and save it for later processing.&lt;/p&gt;

&lt;p&gt;Step 2 is to create a windows service that has a timer. When the timer goes off – first look for text files and then look to the database. Load the text files into the database to ensure first in first out processing.&lt;/p&gt;

&lt;p&gt;Step 3 is to create a DLL that the windows service can call that actually does the work – and pass it the transaction. Let that .dll have the multiple web references and be the workhorse. Sprinkle in some heavy duty logging and notifications to folks should things stop working and you have a solution that you know won’t miss any transactions.&lt;/p&gt;

&lt;p&gt;The code for this article is &lt;a href="http://code.msdn.microsoft.com/CRMCodeSync" target="_blank"&gt;posted on MSDN Code Gallery&lt;/a&gt;.&amp;#160; &lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9804234" width="1" height="1"&gt;</content><author><name>blogx</name><uri>http://blogs.msdn.com/members/blogx.aspx</uri></author></entry><entry><title>XRM in the News</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/dmcdonald/archive/2009/06/16/xrm-in-the-news.aspx" /><id>http://blogs.msdn.com/dmcdonald/archive/2009/06/16/xrm-in-the-news.aspx</id><published>2009-06-17T00:58:19Z</published><updated>2009-06-17T00:58:19Z</updated><content type="html">&lt;p&gt;XRM made the news this week thanks to Mary-Jo Foley’s article “&lt;a href="http://blogs.zdnet.com/microsoft/?p=3053" target="_blank"&gt;Microsoft takes off its xRM platform-as-a-service gloves&lt;/a&gt;”.&amp;#160; &lt;/p&gt;  &lt;p&gt;My team wanted to put more context around XRM for our Public Sector customers.&amp;#160; Many customers are familiar with CRM software, but XRM is a new idea.&amp;#160; So I was honored to be a guest blogger on our Microsoft State and Local Government blog – &lt;a href="http://bit.ly/TE86C" target="_blank"&gt;Bright Side of Government&lt;/a&gt;.&amp;#160; In my &lt;a href="http://bit.ly/17mrsY" target="_blank"&gt;guest blog post&lt;/a&gt; I explain more about XRM, how it is the platform that underlies our CRM product, and how our customers and partners are using it to build awesome applications for government.&amp;#160; &lt;/p&gt;  &lt;p&gt;Check it out.&amp;#160; But please don’t make fun of my picture!&amp;#160; &lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9763222" width="1" height="1"&gt;</content><author><name>blogx</name><uri>http://blogs.msdn.com/members/blogx.aspx</uri></author></entry><entry><title>CRM 4.0 VPC 2009 Networking Fix</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/dmcdonald/archive/2009/05/25/crm-4-0-vpc-2009-networking-fix.aspx" /><id>http://blogs.msdn.com/dmcdonald/archive/2009/05/25/crm-4-0-vpc-2009-networking-fix.aspx</id><published>2009-05-26T05:42:02Z</published><updated>2009-05-26T05:42:02Z</updated><content type="html">&lt;p&gt;On April 18th we released a new &lt;a href="https://mbs.microsoft.com/partnersource/deployment/methodology/vpc/MSD_CRM4VPCApril09" target="_blank"&gt;Dynamics CRM 4.0 VPC&lt;/a&gt; to our partners.&amp;#160; I love a lot about the new VPC including tons of data, dashboards, and pre-configured &lt;a href="http://www.codeplex.com/crmaccelerators" target="_blank"&gt;CRM Accelerators&lt;/a&gt;.&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/dmcdonald/WindowsLiveWriter/CRM4.0VPC2009NetworkingFix_13F35/image_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="CRM 4.0 Dashboard Screenshot" border="0" alt="CRM 4.0 Dashboard Screenshot" align="left" src="http://blogs.msdn.com/blogfiles/dmcdonald/WindowsLiveWriter/CRM4.0VPC2009NetworkingFix_13F35/image_thumb.png" width="304" height="216" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;It took me several weeks to find the time to get to really work with the image.&amp;#160; I needed it last week to delve into the Event Management Accelerator for a customer.&amp;#160;&amp;#160;&amp;#160; I am impressed with many things about it – it is faster and more complete than any previous VPC that I’ve seen.&amp;#160; I’m also glad to have Visual Studio 2008 with .NET 3.5 SP1 installed.&amp;#160; And having SQL Server 2008 is an added bonus.&amp;#160; &lt;/p&gt;  &lt;p&gt;Anyway, all of this brings me to the purpose of this post.&amp;#160; I was planning to add an enhancement to the image around integrating Virtual Earth with CRM when I realized that I didn’t have an internet connection from within the VPC image.&amp;#160; It took me quite a while to figure out how to get the internet access working correctly and so I thought that I’d share that info with the community.&amp;#160; &lt;/p&gt;  &lt;p&gt;The simple answer is that the default “Local Area Connection” has a hard-coded IP address, gateway, and DNS server.&amp;#160; You should blank out the Default gateway setting.&amp;#160; This forces the VPC to use the gateway from “Local Area Connection 2”.&amp;#160; Local Area Connection 2 should be mapped to your host PC’s active internet connection.&amp;#160; &lt;/p&gt;  &lt;p&gt;I spent quite a while trying to enable one connection and disabling the other.&amp;#160; CRM requires the hardcoded internet IP address connection but the gateway was preventing windows server from accessing your true internet gateway via the second adapter.&amp;#160; So, blanking out the gateway was all that it took to fix the problem.&amp;#160; &lt;/p&gt;  &lt;p&gt;Hopefully this will save someone else time.&amp;#160;&amp;#160; If you haven’t done so, I strongly recommend that you download and check out the new image.&amp;#160; &lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9641009" width="1" height="1"&gt;</content><author><name>blogx</name><uri>http://blogs.msdn.com/members/blogx.aspx</uri></author></entry><entry><title>Application Lifecycle Management</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/dmcdonald/archive/2009/04/11/application-lifecycle-management.aspx" /><id>http://blogs.msdn.com/dmcdonald/archive/2009/04/11/application-lifecycle-management.aspx</id><published>2009-04-11T16:20:39Z</published><updated>2009-04-11T16:20:39Z</updated><content type="html">&lt;p&gt;I noticed that last week we posted a new David Chappell whitepaper - “&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=b4765f41-a2c2-41e4-a1da-b35e1f502ef6"&gt;Application Lifecycle Management&lt;/a&gt;”.&amp;#160;&amp;#160; I read all of David’s papers because I find that he has an incredible talent for clarifying and simplifying concepts in our industry.&amp;#160; ALM is a term that I have been hearing increasingly in discussions with our customers and partners and in the media.&amp;#160; &lt;/p&gt;  &lt;p&gt;The Wikipedia definition reports that &lt;a href="http://en.wikipedia.org/wiki/Application_Lifecycle_Management"&gt;ALM is the marriage of business management and software development&lt;/a&gt;.&amp;#160; The “ALM Lifecycle Management” whitepaper takes a much broader view than most of the industry.&amp;#160; It proposes that ALM encompasses the entire lifespan of an application, not merely the software development lifecycle.&amp;#160; ALM includes the entire time that the organization is spending money on the application.&amp;#160; &lt;/p&gt;  &lt;p&gt;I have seen this pattern over and over again in our industry.&amp;#160; Tools that support ALM are not new, but I think that the term ALM is.&amp;#160; Of course&amp;#160; tools supporting SDLC activities have been around for many years.&amp;#160; But there is a certain buzz that is happening with ALM these days. The big analysis firms are now evaluating ALM tools.&amp;#160; You can read Gartner’s &lt;a href="http://mediaproducts.gartner.com/reprints/microsoft/vol4/article7/article7.html"&gt;report online&lt;/a&gt;.&amp;#160;&amp;#160; &lt;/p&gt;  &lt;p&gt;With any new category there is often some early confusion about the category definition. I think that David’s approach is by far the most comprehensive because it includes not just SDLC activities, but also governance and operations management.&amp;#160; This paper is well worth taking a few minutes to read.&amp;#160; &lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9545362" width="1" height="1"&gt;</content><author><name>blogx</name><uri>http://blogs.msdn.com/members/blogx.aspx</uri></author></entry><entry><title>Public Sector on Demand Launched</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/dmcdonald/archive/2009/04/02/public-sector-on-demand-launched.aspx" /><id>http://blogs.msdn.com/dmcdonald/archive/2009/04/02/public-sector-on-demand-launched.aspx</id><published>2009-04-02T19:39:32Z</published><updated>2009-04-02T19:39:32Z</updated><content type="html">&lt;p&gt;Yesterday our team launched &lt;a href="http://www.publicsectorondemand.com/"&gt;Public Sector on Demand&lt;/a&gt;.&amp;#160; It is an exciting new subscription-based SaaS offering with (initially) six applications ranging from public records tracking to case management and student information systems.&amp;#160; This is an important milestone because it is our launch of hosted vertical industry solutions for government and education customers.&amp;#160; Public Sector on Demand offers a new alternative to traditional on premise solutions.&amp;#160; Customers can find the right solution for their needs and get up and running immediately.&amp;#160; This approach drastically lowers the barriers to getting started and will enable our Public Sector focused solutions to reach many new customers.&amp;#160; &lt;/p&gt;  &lt;p&gt;The initial solution offerings are:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;b&gt;&lt;a href="http://www.publicrecordstracker.com/"&gt;Public Records Tracker&lt;/a&gt;. &lt;/b&gt;Public Records Tracker organizes and automates the public records request process for state, local and federal government organizations that must respond to Public Records Act and Freedom of Information Act requests.&lt;/li&gt;    &lt;li&gt;&lt;b&gt;&lt;a href="http://www.fasttrackgov.com/"&gt;FastTrackGov Citizen Service Solutions.&lt;/a&gt; &lt;/b&gt;FastTrackGov&lt;b&gt;&lt;i&gt; &lt;/i&gt;&lt;/b&gt;is a hosted subscription-based system that provides a full suite of automated community development applications for licensing, permitting, code enforcement and inspection management. &lt;/li&gt;    &lt;li&gt;&lt;b&gt;&lt;a href="http://www.govserver.com/Solutions/Pages/HostedAgendaBuilder.aspx"&gt;Agenda Builder.&lt;/a&gt; &lt;/b&gt;The Agenda Builder on-demand solution provides organizations with electronic review and approval capability for agenda items, resulting in significant time and paper savings. &lt;/li&gt;    &lt;li&gt;&lt;b&gt;&lt;a href="http://www.govserver.com/Solutions/Pages/HostedConstituentManager.aspx"&gt;Constituent Manager&lt;/a&gt;. &lt;/b&gt;The Constituent Manager on-demand solution provides elected officials and their staffs with case management tools that facilitate timely responses to constituent requests. &lt;/li&gt;    &lt;li&gt;&lt;b&gt;&lt;a href="http://www.govserver.com/Solutions/Pages/HostedFieldInspector.aspx"&gt;Inspection Manager.&lt;/a&gt; &lt;/b&gt;The Inspection Manager on-demand offering provides organizations with a Web-based case management solution that gives field inspectors and inside office staff the tools needed to schedule and perform field inspections and manage the abatement process when violations are found and citations are issued. &lt;/li&gt;    &lt;li&gt;&lt;b&gt;&lt;a href="http://backpacksis.com/"&gt;Backpack 2008 Student Information System (SIS).&lt;/a&gt;&lt;/b&gt; Backpack is the first on-demand social student information system of its kind, designed to revolutionize SIS technology and provide the ability to centrally manage all aspects of an entire school district. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;In addition to these solutions we established a community engagement site called &lt;a href="http://www.publicsectorondemand.com/"&gt;Public Sector Idea Bank&lt;/a&gt;.&amp;#160; Public Sector Idea Bank was developed by &lt;a href="http://www.neighborhoodamerica.com/"&gt;Neighborhood America&lt;/a&gt;.&amp;#160; Neighborhood America has over ten years experience developing award-winning social networking solutions for government and industry.&amp;#160; Idea Bank provides a central place for Microsoft, customers and partners to collaborate around these solutions, collect feedback, and create new ideas for future on demand solutions.&amp;#160; &lt;/p&gt;  &lt;p&gt;Congratulations to Carmel Hinkle, Amir Capriles, Scott Mannina on our US Public Sector Business Solutions Team.&amp;#160; These guys put in a tremendous amount of great work over many months to get this launched.&amp;#160; Also a big &amp;quot;Thank-You&amp;quot; to our partners, Eskel Porter Consulting Inc., Mitchell Humphrey, Information Strategies Inc., Metaphor Software, and Neighborhood America all of whom worked very diligently to deliver their excellent solutions. &lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9529393" width="1" height="1"&gt;</content><author><name>blogx</name><uri>http://blogs.msdn.com/members/blogx.aspx</uri></author></entry><entry><title>Dynamics CRM 4.0 SDK Update 4.0.6</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/dmcdonald/archive/2008/09/06/dynamics-crm-4-0-sdk-update-4-0-6.aspx" /><id>http://blogs.msdn.com/dmcdonald/archive/2008/09/06/dynamics-crm-4-0-sdk-update-4-0-6.aspx</id><published>2008-09-07T01:20:54Z</published><updated>2008-09-07T01:20:54Z</updated><content type="html">&lt;p&gt;A new version of the CRM 4.0 SDK was released on 8/29/2008.&amp;#160; You can get this newest version here:&amp;#160; &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=82e632a7-faf9-41e0-8ec1-a2662aae9dfb&amp;amp;displaylang=en"&gt;CRM 4.0.6 SDK&lt;/a&gt;.&amp;#160; &lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8928926" width="1" height="1"&gt;</content><author><name>blogx</name><uri>http://blogs.msdn.com/members/blogx.aspx</uri></author></entry><entry><title>Search CRM Blogs with Microsoft Live Search</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/dmcdonald/archive/2007/09/17/search-crm-blogs-with-microsoft-live-search.aspx" /><id>http://blogs.msdn.com/dmcdonald/archive/2007/09/17/search-crm-blogs-with-microsoft-live-search.aspx</id><published>2007-09-18T01:11:46Z</published><updated>2007-09-18T01:11:46Z</updated><content type="html">&lt;p&gt;This afternoon I was playing around with the new Live Search macros.&amp;nbsp; For a while I have&amp;nbsp;wanted a simple way for a limited scope search against all MSCRM feeds.&amp;nbsp; The Live Search team has a&amp;nbsp;very cool macro capability that makes this&amp;nbsp;easy.&amp;nbsp;&amp;nbsp;Please try out my &lt;a href="http://search.live.com/macros/davidmcd/crmblogsearch/?FORM=OIJG" target="_blank"&gt;Dynamics CRM Blog Search page&lt;/a&gt;&amp;nbsp;- if you are a Dynamics CRM geek like me then I think that you will want to bookmark this and use it frequently.&amp;nbsp; &lt;/p&gt; &lt;p&gt;It uses a new macro feature of Live Search to scope your search down to only MSCRM blogs.&amp;nbsp; It is especially cool that you can add this search to your browser search box.&amp;nbsp; &lt;/p&gt; &lt;p&gt;And if you don't like mine, you can create your own!&amp;nbsp; If you create your own MSCRM macro, please comment on this post to share it with me and the rest of the community.&amp;nbsp; &lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4963393" width="1" height="1"&gt;</content><author><name>blogx</name><uri>http://blogs.msdn.com/members/blogx.aspx</uri></author><category term="Dynamics CRM" scheme="http://blogs.msdn.com/dmcdonald/archive/tags/Dynamics+CRM/default.aspx" /></entry><entry><title>Dynamics CRM User Group Launched</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/dmcdonald/archive/2007/07/20/dynamics-crm-user-group-launched.aspx" /><id>http://blogs.msdn.com/dmcdonald/archive/2007/07/20/dynamics-crm-user-group-launched.aspx</id><published>2007-07-20T15:15:41Z</published><updated>2007-07-20T15:15:41Z</updated><content type="html">&lt;p&gt;This arrived in my email box today:&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;The Microsoft Dynamics CRM User Group (CRMUG) is now live at &lt;a href="http://crmug.com"&gt;http://crmug.com&lt;/a&gt;. CRMUG is an association of companies sharing the common interest of optimizing their usage of Microsoft Dynamics CRM in their companies.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;The CRMUG was launched to enable Dynamics CRM customers and partners to network and share knowledge and experience enabling them to maximize the value of their MSCRM investment.&amp;nbsp;  &lt;p&gt;There is a free 90 day trial available - the offer is on the home page.&amp;nbsp; &lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3974338" width="1" height="1"&gt;</content><author><name>blogx</name><uri>http://blogs.msdn.com/members/blogx.aspx</uri></author></entry><entry><title>Dynamics Live CRM AppExchange</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/dmcdonald/archive/2007/07/13/dynamics-live-crm-appexchange.aspx" /><id>http://blogs.msdn.com/dmcdonald/archive/2007/07/13/dynamics-live-crm-appexchange.aspx</id><published>2007-07-13T15:51:00Z</published><updated>2007-07-13T15:51:00Z</updated><content type="html">&lt;p&gt;This is an interesting &lt;a href="http://www.eweek.com/article2/0%2c1895%2c2157508%2c00.asp"&gt;eWeek article&lt;/a&gt;&amp;nbsp;discussing how Microsoft Dynamics Live CRM will include an on-demand marketplace for partners to showcase their company, applications, solutions, and customers.&amp;nbsp; The article says that this is similar to Saleforce.com's AppExchange.&amp;nbsp; &lt;/p&gt; &lt;p&gt;The concept of an on-demand environment for customers to shop for solutions is fantastic.&amp;nbsp; In my experience many customers do not want just simple vanilla CRM.&amp;nbsp; They have specific customization&amp;nbsp;needs - either vertical&amp;nbsp;requirements (ex.&amp;nbsp;real estate,&amp;nbsp;311 case management, etc.)&amp;nbsp;and horizontal requirements (marketing analytics, event management, etc.).&amp;nbsp; This marketplace will enable a customer to&amp;nbsp;shop and buy functionality a la carte.&amp;nbsp; &lt;/p&gt; &lt;p&gt;If it catches on&amp;nbsp;it may&amp;nbsp;spawn a new&amp;nbsp;developer industry.&amp;nbsp; For a good example see this &lt;a href="http://reddevnews.com/news/devnews/article.aspx?editorialsid=296"&gt;article in Redmond Developer&lt;/a&gt;&amp;nbsp;also published today.&amp;nbsp; The first Facebook developer conference was held recently with over 750 developers in attendance!&amp;nbsp; Facebook is taking off in large part because of the many creative applications that it's partners have developed for it's site.&amp;nbsp; &lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3846679" width="1" height="1"&gt;</content><author><name>blogx</name><uri>http://blogs.msdn.com/members/blogx.aspx</uri></author><category term="Dynamics CRM" scheme="http://blogs.msdn.com/dmcdonald/archive/tags/Dynamics+CRM/default.aspx" /></entry><entry><title>Microsoft Makes CRM Live Announcements</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/dmcdonald/archive/2007/07/11/microsoft-makes-crm-live-announcements.aspx" /><id>http://blogs.msdn.com/dmcdonald/archive/2007/07/11/microsoft-makes-crm-live-announcements.aspx</id><published>2007-07-11T22:47:34Z</published><updated>2007-07-11T22:47:34Z</updated><content type="html">&lt;p&gt;At WPC, Microsoft &lt;a href="http://www.microsoft.com/presspass/press/2007/jul07/07-10CRMWPCPR.mspx?rss_fdn=Press%20Releases"&gt;announced additional details&lt;/a&gt; about the upcoming CRM Live (aka Dynamics Live CRM).&amp;nbsp;&amp;nbsp;In case you missed it,&amp;nbsp;a year ago at the&amp;nbsp;2006 WPC&amp;nbsp;Steve Ballmer announced&amp;nbsp;CRM Live.&amp;nbsp; CRM Live is a hosted&amp;nbsp;Dynamics CRM enabling organizations to purchase CRM services on a subscription basis.&amp;nbsp; &lt;/p&gt; &lt;p&gt;Dynamics CRM Live&amp;nbsp;is a Microsoft hosted "software as a service" offering.&amp;nbsp; Microsoft will host all of the CRM infrastructure.&amp;nbsp; Customers will not need to buy and manage the&amp;nbsp;software, hardware and associated&amp;nbsp;IT infrastructure.&amp;nbsp; Microsoft does all of that for you.&amp;nbsp; Customers can just sign up for a subscription&amp;nbsp;and immediately start using the product.&amp;nbsp; This offering will be based on the next version of CRM, code named "Titan".&amp;nbsp;&amp;nbsp;&lt;/p&gt; &lt;p&gt;In addition to the&amp;nbsp;Dynamics CRM Live pricing and licensing details, the article also mentions the partner engagement model and announces two vertical templates.&amp;nbsp; One that is near and dear to yours truly is the Public Sector template that will ship at the end of July 2007.&amp;nbsp; More about that is forthcoming....&lt;/p&gt; &lt;p&gt;Dynamics&amp;nbsp;Live CRM is Microsoft's opportunity to&amp;nbsp;challenge Salesforce.com.&amp;nbsp;&amp;nbsp;You can read what Jeff Raikes said about this in this&amp;nbsp;&lt;a href="http://www.businessweek.com/technology/content/jul2007/tc20070710_591562.htm?campaign_id=rss_tech"&gt;Business Week article&lt;/a&gt;.&amp;nbsp; &amp;nbsp;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3818864" width="1" height="1"&gt;</content><author><name>blogx</name><uri>http://blogs.msdn.com/members/blogx.aspx</uri></author></entry><entry><title>Dynamics in Government</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/dmcdonald/archive/2007/06/27/dynamics-in-government.aspx" /><id>http://blogs.msdn.com/dmcdonald/archive/2007/06/27/dynamics-in-government.aspx</id><published>2007-06-28T04:58:49Z</published><updated>2007-06-28T04:58:49Z</updated><content type="html">&lt;p&gt;My role at Microsoft is&amp;nbsp;the US Public Sector Dynamics Architect.&amp;nbsp; &amp;nbsp;This is a field-based technical position.&amp;nbsp; I work on a sales team as the technical lead.&amp;nbsp; Our team works with Federal, State, Local Government as well as K-12 and Higher-Education customers.&amp;nbsp; We focus specifically on &lt;a href="http://www.microsoft.com/dynamics/default.mspx"&gt;Microsoft's Dynamics&lt;/a&gt; products.&amp;nbsp; &lt;/p&gt; &lt;p&gt;I am a 13 year Microsoft veteran with a developer background.&amp;nbsp; Two years ago I switched into this role.&amp;nbsp; For me the attraction is that Dynamics as a huge new market opportunity for Microsoft.&amp;nbsp; We have invested billions in these products.&amp;nbsp; In many ways I enjoy being the underdog.&amp;nbsp; Microsoft is&amp;nbsp;the underdog&amp;nbsp;against some of the more established tier one ERP vendors&amp;nbsp;like SAP and Oracle.&amp;nbsp;&amp;nbsp;Siebel and Salesforce.com are also established competitors in the CRM space.&amp;nbsp; Being the underdog&amp;nbsp;reminds me of&amp;nbsp;my experiences in the&amp;nbsp;early and mid 90s as a softie.&amp;nbsp;&amp;nbsp;I can remember&amp;nbsp;when SQL Server, Windows Server, MS Mail and other products were not ready for the enterprise.&amp;nbsp; But the company continued to invest and work at it and now nobody disputes that Microsoft is an enterprise company.&amp;nbsp; The Dynamics products are maturing rapidly and are already enterprise ready.&amp;nbsp;The product teams listen closely to those of us in the field because everyone understands that we need to rapidly evolve these products to meet customer needs.&amp;nbsp; &lt;/p&gt; &lt;p&gt;July 1 is the beginning of our new fiscal year.&amp;nbsp; One of my &lt;em&gt;New Years &lt;/em&gt;resolutions is to blog more.&amp;nbsp; I plan to write about our solutions and success with Dynamics CRM as a development platform.&amp;nbsp; Check back here&amp;nbsp;over the coming weeks and months.&amp;nbsp; I will share my thoughts and&amp;nbsp;experiences&amp;nbsp;with Dynamics CRM.&amp;nbsp;&amp;nbsp; &lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3573943" width="1" height="1"&gt;</content><author><name>blogx</name><uri>http://blogs.msdn.com/members/blogx.aspx</uri></author><category term="Dynamics CRM" scheme="http://blogs.msdn.com/dmcdonald/archive/tags/Dynamics+CRM/default.aspx" /></entry><entry><title>Biztalk Services</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/dmcdonald/archive/2007/06/20/biztalk-services.aspx" /><id>http://blogs.msdn.com/dmcdonald/archive/2007/06/20/biztalk-services.aspx</id><published>2007-06-20T19:48:00Z</published><updated>2007-06-20T19:48:00Z</updated><content type="html">&amp;nbsp; 
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri size=3&gt;Wow.&amp;nbsp; I am totally blown away by &lt;A class="" href="http://labs.biztalk.net/default.aspx" mce_href="http://labs.biztalk.net/default.aspx"&gt;Biztalk Services&lt;/A&gt;.&amp;nbsp; Simply put, it is an ESB in the cloud.&amp;nbsp; This is still early CTP quality, but worth learning about.&amp;nbsp; I think that this could represent the future of web services and application development.&amp;nbsp; It&amp;nbsp;has the potential to change&amp;nbsp;the game in terms of application development and integration across organization boundaries.&amp;nbsp; &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri size=3&gt;Here is the &lt;/FONT&gt;&lt;A href="http://channel9.msdn.com/showpost.aspx?postid=317646"&gt;&lt;FONT face=Calibri size=3&gt;channel 9 video&lt;/FONT&gt;&lt;/A&gt;"&lt;FONT face=Calibri size=3&gt; with John Shewchuk and Dennis Pilarinos. John is a Microsoft Distinguished Engineer and the lead for this effort. Dennis shows off some awesome demos. The video is a must-see. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri size=3&gt;You can learn more and download the SDK from&amp;nbsp;&lt;/FONT&gt;&lt;A href="http://labs.biztalk.net/"&gt;&lt;FONT face=Calibri size=3&gt;labs.biztalk.net&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri size=3&gt;.&amp;nbsp; It took me only 10 minutes to download and install the SDK, register, and have the first sample application running live.&amp;nbsp; &lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=3427924" width="1" height="1"&gt;</content><author><name>blogx</name><uri>http://blogs.msdn.com/members/blogx.aspx</uri></author></entry><entry><title>Government Interoperability White Paper </title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/dmcdonald/archive/2005/07/20/441095.aspx" /><id>http://blogs.msdn.com/dmcdonald/archive/2005/07/20/441095.aspx</id><published>2005-07-20T22:38:00Z</published><updated>2005-07-20T22:38:00Z</updated><content type="html">&lt;P&gt;This is a good &lt;A href="http://www.microsoft.com/windowsserversystem/interop/govt/govteservices.mspx"&gt;whitepaper&lt;/A&gt;&amp;nbsp;that addresses some of the challenges of interoperability within government.&amp;nbsp;&amp;nbsp;Interrop in this context includes&amp;nbsp;delivering services to citizens&amp;nbsp;and sharing services between government agencies.&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=441095" width="1" height="1"&gt;</content><author><name>blogx</name><uri>http://blogs.msdn.com/members/blogx.aspx</uri></author></entry><entry><title>MCSDeed</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/dmcdonald/archive/2003/04/23/5995.aspx" /><id>http://blogs.msdn.com/dmcdonald/archive/2003/04/23/5995.aspx</id><published>2003-04-24T04:59:00Z</published><updated>2003-04-24T04:59:00Z</updated><content type="html">&lt;P&gt;On Monday I passed my&amp;nbsp;last test for MCSD - &lt;A href="http://www.microsoft.com/traincert/exams/70-315.asp"&gt;70-315 Developing and Implementing Web Applications with Microsoft Visual C# .NET and Microsoft Visual Studio .NET&lt;/A&gt;.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;These tests are almost as much about your test taking skills as they are about your knowledge of the subject.&amp;nbsp; About a month ago I went in, thinking that I was taking the Web Applications exam (ASP.NET) instead I had accidently selected the wrong test.&amp;nbsp; I had signed up for the Win Applications exam (WinForms).&amp;nbsp; I have written hello-world and not much more with WinForms.&amp;nbsp; But somehow I passed it.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;I know some really bright people who have troubles with these tests.&amp;nbsp; I also know people that can pass tests but that I would never let them touch my compiler.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;Well at least&amp;nbsp;my certifications are current now, so that I don't have to deal with this process for&amp;nbsp;the next couple of years.&amp;nbsp; &lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=5995" width="1" height="1"&gt;</content><author><name>blogx</name><uri>http://blogs.msdn.com/members/blogx.aspx</uri></author></entry><entry><title>Essential ASP.NET - Fritz Onion</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/dmcdonald/archive/2003/04/21/5889.aspx" /><id>http://blogs.msdn.com/dmcdonald/archive/2003/04/21/5889.aspx</id><published>2003-04-21T16:41:00Z</published><updated>2003-04-21T16:41:00Z</updated><content type="html">I'm reading Fritz Onion's book - &lt;A href="http://search.barnesandnoble.com/booksearch/isbnInquiry.asp?userid=2W214RGXX7&amp;amp;isbn=0201760401&amp;amp;itm=1"&gt;Essential ASP.NET&lt;/A&gt;.&amp;nbsp; The book is terrific.&amp;nbsp; It is probably the last ASP.NET book that I will ever buy.&amp;nbsp; This book explains behind the scenes details that are not shown elsewhere.&amp;nbsp; It is also well organized and well written.&amp;nbsp; &lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=5889" width="1" height="1"&gt;</content><author><name>blogx</name><uri>http://blogs.msdn.com/members/blogx.aspx</uri></author></entry></feed>