<?xml version="1.0" encoding="UTF-8"?>
<!--Generated by Squarespace Site Server v5.5.4 (http://www.squarespace.com/) on Sat, 04 Jul 2009 08:06:42 GMT--><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><title>MrDave's (David Yack) CRM Blog!</title><link>http://crm.davidyack.com/journal/</link><description></description><copyright></copyright><language>en-US</language><generator>Squarespace Site Server v5.5.4 (http://www.squarespace.com/)</generator><item><title>Entity Framework Model to Dynamics CRM</title><dc:creator>David Yack</dc:creator><pubDate>Wed, 27 May 2009 04:56:48 +0000</pubDate><link>http://crm.davidyack.com/journal/2009/5/27/entity-framework-model-to-dynamics-crm.html</link><guid isPermaLink="false">82353:708256:4097026</guid><description><![CDATA[<p>I’ve been interested in a while to try to see if I could take a model from Entity Framework and push it into CRM using the Metadata API.&#160; If your not familiar with ADO.NET Entity Framework, it was first released with .NET 3.5 SP1 and the second version of it is part of the upcoming VS2010/.NET 4 release.&#160; You can separate out EF into two key parts the Entity Data Mode (EDM) and the Entity Framework API that’s used to work with the data using the EDM.&#160; In working on my upcoming Silverlight book (<a href="http://www.slria.com">http://www.slria.com</a>) I’ve been looking at some different techniques for working with data across both traditional databases and CRM.&#160; That seemed like the perfect excuse to spend a few minutes (ok a little longer than that) building a tool that would consume the Entity Framework Model and push it into a CRM Entity Model using the metadata API.</p>  <p>So to get started, I defined an EDM using the Course database that I’m using as part of my examples for the book.&#160; The following is a snippet from the designer view of the EDM inside Visual Studio.&#160; Wouldn’t it be nice if the CRM team provided us some modeling tools like this!&#160; </p>  <p><a href="http://crm.davidyack.com/resource/WindowsLiveWriter/EntityFrameworkModeltoDynamicsCRM_1420F/?fileId=3194404"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://crm.davidyack.com/resource/WindowsLiveWriter/EntityFrameworkModeltoDynamicsCRM_1420F/?fileId=3194405" width="486" height="235" /></a> </p>  <p>Under the covers this stores in a .edmx file in your project which is really an XML file that contains the Conception Layer (What your application sees), the Storage layer (What it looks like in your database) and finally the Mapping layer which glues the two other layers together.&#160; You could simply work with the XML but the Entity Framework provides a nice metadata API that you can load this up and walk through it in memory.&#160; </p>  <p>Using the EF metadata API, I built a tool below to allow you to select entities from the model and push them to CRM.&#160; The tool is still industrial, and very much a prototype at this point but once you select the entities it allows you to push both the entity and the attributes into CRM</p>  <p>&#160;</p>  <p><a href="http://crm.davidyack.com/resource/WindowsLiveWriter/EntityFrameworkModeltoDynamicsCRM_1420F/?fileId=3194406"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://crm.davidyack.com/resource/WindowsLiveWriter/EntityFrameworkModeltoDynamicsCRM_1420F/?fileId=3194407" width="484" height="204" /></a> </p>  <p>It handles some basic things like putting in spaces in the names etc.&#160; I still need to look more about descriptions and other useful things you might want to pull over but the basics end up in CRM.&#160; The following is a simple snapshot of CRM after running the tool.</p>  <p><a href="http://crm.davidyack.com/resource/WindowsLiveWriter/EntityFrameworkModeltoDynamicsCRM_1420F/?fileId=3194408"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://crm.davidyack.com/resource/WindowsLiveWriter/EntityFrameworkModeltoDynamicsCRM_1420F/?fileId=3194409" width="476" height="65" /></a> </p>  <p></p>  <p>I’m thinking this type of capability could be interesting for a number of things.&#160; In my example, I think it took about 10 minutes or so to do what would have taken me probably 5 hours to create all the duplicate definitions in CRM.&#160; It might also be interesting to go the other way from CRM into the EDM to allow visualization of the CRM model inside Visual Studio.&#160; I didn’t tackle that tonight, will save that for another day!</p>]]></description><wfw:commentRss>http://crm.davidyack.com/journal/rss-comments-entry-4097026.xml</wfw:commentRss></item><item><title>New CRM 4 Virtual Machine Available</title><dc:creator>David Yack</dc:creator><pubDate>Sat, 18 Apr 2009 19:31:02 +0000</pubDate><link>http://crm.davidyack.com/journal/2009/4/18/new-crm-4-virtual-machine-available.html</link><guid isPermaLink="false">82353:708256:3692080</guid><description><![CDATA[<p>Microsoft just posted a new demonstration virtual machine to the PartnerSource portal.&#160; This new Microsoft Dynamics CRM 4 Virtual Machine 2009 will replace the current one that is set to expire soon.&#160; This new image has a lot of great improvements – top of my list is that it <strong><em>has Visual Studio 2008 and SQL Server 2008 on it!</em></strong>&#160; It also has all the CRM 4 Accelerators, dashboards and other good stuff on it.</p>  <p>Currently, as far as I can tell you can only download the image from PartnerSource and there’s not a replacement in the public Microsoft download section yet.&#160; Let’s hope Microsoft continues to support getting broad access to kick the tires on CRM and updates the public download.</p>  <p>The new VM is time bombed for August 2010.</p>  <p><strong><em>Did you know about VM Express?&#160; </em></strong>Apparently I didn’t , that is I have heard people talk about it, but just assumed they were using some fancy word for File downloads.&#160; It turns out it’s really a Virtual Machine Demonstration Toolkit.&#160; Anyway, apparently it’s this thing you can “Order” for a few $ (Yeah I don’t get that part) from the partner site that will make managing VM downloads etc easier.&#160; Menno has a good blog post <a href="http://www.tekoppele.com/Blog/post/2009/04/17/VM-Express-Microsoft-Dynamics-Virtual-Machine-Demonstration-Toolkit.aspx">here</a> that try’s to explain the “Magic”.&#160; It also includes the “Magic” instructions needed to navigate the ordering process which without trust me you will NEVER find it on the site!&#160; If your wanting to know if it’s any good – your guess is as good as mine, I placed my order and waiting for my package to arrive!</p>  <p>I did not wait however for it to arrive to download the new VM! </p>]]></description><wfw:commentRss>http://crm.davidyack.com/journal/rss-comments-entry-3692080.xml</wfw:commentRss></item><item><title>Could not find a Public, Static field with name 'xyz' of type DependencyProperty</title><dc:creator>David Yack</dc:creator><pubDate>Tue, 10 Mar 2009 07:56:23 +0000</pubDate><link>http://crm.davidyack.com/journal/2009/3/10/could-not-find-a-public-static-field-with-name-xyz-of-type-d.html</link><guid isPermaLink="false">82353:708256:3269066</guid><description><![CDATA[<p>When building custom workflow activities for CRM 4.0 pay attention to the names you give the dependency properties or you might just end up with this error.</p>  <p>Let’s look at a quick example of a dependency property</p>  <p>public static readonly DependencyProperty <font color="#ff0000">ResultProperty</font> = DependencyProperty.Register    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; (&quot;Result&quot;, typeof(string), typeof(MyWorkflowType)); </p>  <p>&#160;&#160;&#160;&#160;&#160;&#160;&#160; [CrmOutput(&quot;Result&quot;)]   <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; public string&#160; <font color="#ff0000">result</font>    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; {    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; get    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; {    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; return (string)base.GetValue(ResultProperty);    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; set    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; {    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; base.SetValue(ResultProperty, value);    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; }    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; }</p>  <p>The part to pay attention to above is highlighted in red.&#160; The code will compile fine but when you attempt to register it with CRM using the registration tool you will receive an exception.&#160; The error will say “Could not find a Public, Static field with name “resultProperty” of type DependencyProperty.</p>  <p>Why’s this happen?&#160; It appears that during registration MSCRM does a validation to ensure that you have a dependency property.&#160; It expects the case of the name to be the same.&#160; So in this case it wanted ResultProperty to be resultProperty with a lower case “r”.</p>]]></description><wfw:commentRss>http://crm.davidyack.com/journal/rss-comments-entry-3269066.xml</wfw:commentRss></item><item><title>Workflow triggered by Update in error</title><dc:creator>David Yack</dc:creator><pubDate>Fri, 06 Mar 2009 06:16:23 +0000</pubDate><link>http://crm.davidyack.com/journal/2009/3/6/workflow-triggered-by-update-in-error.html</link><guid isPermaLink="false">82353:708256:3222876</guid><description><![CDATA[<p>Ran across an interesting error this week where a workflow was being triggered during an update even though the fields that were setup to trigger it were not modified.&#160;&#160; I thought I was actually needing to have my eye’s checked but sure enough ,&#160; the workflow would run 7 times retriggering itself, then the 8th time fail due to CRM detecting an infinite loop.</p>  <p>The good news is it’s curable, there’s a hot fix for this specific issue you can read about <a href="http://support.microsoft.com/kb/947762">here</a></p>]]></description><wfw:commentRss>http://crm.davidyack.com/journal/rss-comments-entry-3222876.xml</wfw:commentRss></item><item><title>Outlook and Diags Hang if AccessMode Administration</title><dc:creator>David Yack</dc:creator><pubDate>Fri, 06 Mar 2009 06:11:45 +0000</pubDate><link>http://crm.davidyack.com/journal/2009/3/6/outlook-and-diags-hang-if-accessmode-administration.html</link><guid isPermaLink="false">82353:708256:3222866</guid><description><![CDATA[<p>Was looking at a problem today for someone where Outlook wouldn’t install.&#160; Diagnostics failed miserably or actually just hung part way through.&#160;&#160; Turns out this can occur if the user is set to Access Mode = Administration instead of being set to a full user.&#160; Simply changing the access mode for the user will correct this problem. </p>]]></description><wfw:commentRss>http://crm.davidyack.com/journal/rss-comments-entry-3222866.xml</wfw:commentRss></item><item><title>Do you know who your DE is?</title><dc:creator>David Yack</dc:creator><pubDate>Thu, 18 Dec 2008 07:28:44 +0000</pubDate><link>http://crm.davidyack.com/journal/2008/12/18/do-you-know-who-your-de-is.html</link><guid isPermaLink="false">82353:708256:2715472</guid><description><![CDATA[<p>Shan McArthur has a good post up about the value of getting to know your Microsoft Developer Evangelists.&#160;&#160; I often get asked the question – How do I get into beta’s, how do I get better info on what’s coming out.&#160; The answer can be found on the following link! </p>  <p>Check out his post <a href="http://www.shanmcarthur.net/microsoft-partner-program/evangelists">here</a>.</p>]]></description><wfw:commentRss>http://crm.davidyack.com/journal/rss-comments-entry-2715472.xml</wfw:commentRss></item><item><title>Black Friday Book Sale</title><dc:creator>David Yack</dc:creator><pubDate>Fri, 28 Nov 2008 07:59:54 +0000</pubDate><link>http://crm.davidyack.com/journal/2008/11/28/black-friday-book-sale.html</link><guid isPermaLink="false">82353:708256:2617695</guid><description><![CDATA[<p>Not wanting to miss the boat on the American tradition of big sales the day after Thanksgiving I was able to convince the keeper of the magic discount codes to create one good for Friday, Saturday and Sunday!</p>  <p>Use “Black Friday” in the discount code at checkout and you will get the book (print copy) for about 50% off the list price or $50.00 plus shipping.&#160; </p>  <p>Go now and order , because I didn’t ask how many that code will work for! <a href="http://www.thecrmbook.com">http://www.thecrmbook.com</a></p>]]></description><wfw:commentRss>http://crm.davidyack.com/journal/rss-comments-entry-2617695.xml</wfw:commentRss></item><item><title>CRM Services as part of Azure</title><dc:creator>David Yack</dc:creator><pubDate>Sat, 01 Nov 2008 15:34:51 +0000</pubDate><link>http://crm.davidyack.com/journal/2008/11/1/crm-services-as-part-of-azure.html</link><guid isPermaLink="false">82353:708256:2497645</guid><description><![CDATA[<p>At PDC this week Microsoft announced their new cloud service platform Azure Services Platform.&#160; This new offering will run in the Microsoft Data Center’s featuring an O/S in the cloud plus several services sitting on top to act as building.&#160; The goal is to provide services that can be leveraged by applications.&#160; These can be consumed at the lowest lever using simply compute power by doing things like hosting an ASP.NET application in the cloud.&#160; Additionally, there are building block services that site on top of the Windows Azure base and provide application developers common services they can leverage when building applications.</p>  <p>Examples of these services are SQL Services, Live Services and .NET Services.&#160; .NET Services for example provides a service bus that can be leveraged to build connected applications.&#160; By connected, I’m talking applications connected across organizations using the cloud to host the service bus. From a CRM perspective this ability to integrate as well as combine external service offerings as part of the CRM open up a lot of new opportunities. I plan to spend a decent amount of time exploring and trying to share ideas around the use of the new cloud capabilities and CRM so stay tuned!</p>  <p>Where it gets real exciting is when you look at what makes up the new Azure Services platform (see diagram below).&#160; There are two building block services that I think you will find very interesting Microsoft SharePoint Services and Microsoft Dynamics CRM Services.&#160; While not available yet in the CTP of Azure that was released, these elaborate on strategy Microsoft is evolving to recognize the broader ability of both these products beyond things like simple CRM.&#160; You will also notice CRM is on the slide twice, once as a finished service CRM Online and again as a building block service.&#160; I believe over time we will continue to see further distinction and separation of the pure “CRM” type functions from the core capabilities the product has today that can be more broadly leveraged.&#160; I further believe that the following is the first step by Microsoft towards making that happen.</p>  <p><img src="http://www.microsoft.com/azure/images/servicesPlatform.jpg" /> </p>  <p>The idea is developers will be able to use SharePoint and CRM capabilities and choose a deployment model of on-premise or in the cloud.&#160; Let me explain that another way looking at the capabilities that both of those offer a developer.&#160; SharePoint excels at managing and facilitating collaboration of unstructured data like documents.&#160; It also has a slew of capabilities to make it a good portal or gateway to enterprise data&#160; CRM on the other hand, excels at managing connected or related data where you have more structured business data like a contact or an account.&#160; But even more important is the fact that using the same capability to relate other business data.&#160; This could be operational data like project tracking information, or product information like a real estate property.&#160; Regardless, we should avoid getting hung up on the CRM acronym because in reality the CRM capabilities are really a layer built on top of the CRM platform core that has much broader applicability. </p>  <p>By leveraging these two core products, developers are able to achieve a level of abstraction from having to compose plumbing using raw services like Workflow, SQL and such.&#160; These services are already “glued” together when using CRM and SharePoint as the foundation.</p>  <p>This story is far from over, in fact in many ways I think we are just heading into a period of evolution as the new services take shape and we can think about new applications that in the past would have been considered to challenging to attempt.</p>]]></description><wfw:commentRss>http://crm.davidyack.com/journal/rss-comments-entry-2497645.xml</wfw:commentRss></item><item><title>A look behind the scenes of getting a book out the door</title><dc:creator>David Yack</dc:creator><pubDate>Tue, 30 Sep 2008 01:57:30 +0000</pubDate><link>http://crm.davidyack.com/journal/2008/9/30/a-look-behind-the-scenes-of-getting-a-book-out-the-door.html</link><guid isPermaLink="false">82353:708256:2368484</guid><description><![CDATA[<p>For those of you who missed it, we launched a new CRM Developer Book last week.&#160; You can read the details <a href="http://crm.davidyack.com/journal/2008/8/12/new-crm-developer-book.html">here</a>.</p>  <p>I thought I would share a little behind the scenes perspective on what it takes to get a book out the door.&#160; It’s always easy to look at the cover of a book and say oh “Joe Author” did all the work.&#160; While it’s true that “Joe Author” did the writing, there’s a lot of stuff that happens behind the scenes to make this all work.&#160; Like a stage performance, the stage crew makes things happens silently behind the scenes, the same is true of the book publishing team.&#160; Unfortunately, like the stage crew the all the people involved in getting the book out the door also don’t get their fare share of credit.&#160;&#160; To that end,&#160; it’s important to know this book would have never got out the door without their hard work.</p>  <p>I would like to express my thanks to the countless people who helped and inspired me to get this far with the book.&#160; Without the encouragement, I probably would have been willing to just stop and put the book on the shelf to collect dust.&#160; Like a runner in a marathon, nothing is worse than feeling like your almost done, but realizing your only half way to the end.</p>  <p>Having gone down the traditional publisher route before, this time I wanted more control of the whole process.&#160; The only way I saw that happening was self publishing.&#160; Looking back, we now have a clearer picture of what that really involves and there’s a lot we don’t think about when working with a traditional publisher.&#160; The fact that we decided to explore self-publishing required a lot of extra work that would typically be done by an outside publisher.&#160; For that, I thank <a href="http://julieyack.blogs.com/my_weblog/">Julie Yack</a> my partner and wife that really stepped up and jumped in to take on many of the traditional publisher roles.&#160; From editing to managing the review process, to figuring out how the logistics of getting the book into distribution, her contribution was critical. I’m not sure I even know all the magic she performed to figure out how all this worked because unlike other things there’s no cheat sheet that you can rely on.&#160; Not to mention at the same time while doing this book, she was technical editor on <a href="http://www.amazon.com/Girls-Guide-Becoming-Excel-Diva/dp/0470149167/ref=sr_1_1?ie=UTF8&amp;s=books&amp;qid=1215634490&amp;sr=1-1">IT girl’s guide to becoming an Excel Diva </a> and contributed to the writing on <a href="http://www.amazon.com/Voices-Change-Womens-Words-Politicians/dp/1432725564/ref=pd_bbs_sr_1?ie=UTF8&amp;s=books&amp;qid=1215634444&amp;sr=8-1">Voices of Change</a>.&#160; </p>  <p><a href="http://cathyhardman.typepad.com/about.html">Cathy Hardman</a>, one our developers, also spent endless hours helping to package up some of the code samples and enduring my crazy requests like “How about we include a Silverlight 2 example”.&#160; Her patience and attention to detail made a definite impact on the amount of samples included in the book.&#160; Not to mention her effort in reading through and providing feedback on all the chapters.</p>  <p>As the final content was completed it was time to conduct a final book review.&#160; I put out a call for help in doing the reviews to Microsoft and the CRM MVPs.&#160;&#160; The support offered amazed me and realized what a great group they were to help out.&#160; Within about 20 minutes I had a bunch of people offering to review and provide feedback on the book chapters.&#160; I would like to thank each of the following people for taking the time to help with the final push.&#160; The feedback and catching of my errors by each of you will clearly make a difference.</p>  <p>Ayaz Ahmad, Marco Amoedo, Nythya Balasubramanian , Jim Daly, , Aaron Elder, Humberto Lezama Guadarrama, Michael Hohne,&#160; uMar Khan ,Amy Langlois, Darren Liu, Ronald Lemmen , Larry Lentz, , David Jennaway,, Matt Parks, , Guy Riddle, Praveen Upadhyay, Jeffry van de Vuurst , Mahesh Vijayaraghavan, Matt Wittemann</p>  <p>Throughout the process <a href="http://www.philiprichardson.org/blog">Philip Richardson</a> who at the time was a Sr PM on the CRM team always had the answers to my questions or knew who to find to get me answers.&#160; My next book may have to involve Cloud Computing since that’s the new group Philip joined!</p>  <p>Through publishing my blog, conducting training classes around the world and attending conferences were I got to meet a lot of people doing CRM development your thoughts and comments helped to shape each chapter.&#160; I could not possibly list each of you here, but to each I extend my thanks.</p>]]></description><wfw:commentRss>http://crm.davidyack.com/journal/rss-comments-entry-2368484.xml</wfw:commentRss></item><item><title>New Video - Enabling CRM JavaScript IntelliSense</title><dc:creator>David Yack</dc:creator><pubDate>Thu, 21 Aug 2008 06:05:37 +0000</pubDate><link>http://crm.davidyack.com/journal/2008/8/21/new-video-enabling-crm-javascript-intellisense.html</link><guid isPermaLink="false">82353:708256:2163822</guid><description><![CDATA[<p>In this new video we look at how you can enable JavaScript IntelliSense so when your working with CRM scripts they can show properties of your custom entities.&#160; The video highlights one of the tools of the book, but the concept is available to anyone that has Visual Studio 2008.&#160; The book framework just makes it easier to use because it can generate the hint files from the CRM Metadata.</p>  <p>Watch the video here.</p>  <p><a title="http://www.thecrmbook.com/Video/Customization/EnableCRMJavascriptIntellisense/viewvideo.aspx" href="http://www.thecrmbook.com/Video/Customization/EnableCRMJavascriptIntellisense/viewvideo.aspx">http://www.thecrmbook.com/Video/Customization/EnableCRMJavascriptIntellisense/viewvideo.aspx</a></p>]]></description><wfw:commentRss>http://crm.davidyack.com/journal/rss-comments-entry-2163822.xml</wfw:commentRss></item></channel></rss>