<?xml version="1.0" encoding="UTF-8"?>
<!--Generated by Squarespace Site Server v5.11.81 (http://www.squarespace.com/) on Mon, 28 May 2012 02:23:32 GMT--><feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/"><title>Journal</title><subtitle>Journal</subtitle><id>http://blog.thecrmbook.com/journal/</id><link rel="alternate" type="application/xhtml+xml" href="http://blog.thecrmbook.com/journal/"/><link rel="self" type="application/atom+xml" href="http://blog.thecrmbook.com/journal/atom.xml"/><updated>2011-10-11T02:46:00Z</updated><generator uri="http://www.squarespace.com/" version="Squarespace Site Server v5.11.81 (http://www.squarespace.com/)">Squarespace</generator><entry><title>Book update CRM 2011</title><id>http://blog.thecrmbook.com/journal/2011/1/27/book-update-crm-2011.html</id><link rel="alternate" type="text/html" href="http://blog.thecrmbook.com/journal/2011/1/27/book-update-crm-2011.html"/><author><name>TheCRMBook.com</name></author><published>2011-01-27T23:47:42Z</published><updated>2011-01-27T23:47:42Z</updated><content type="html" xml:lang="en-US"><![CDATA[<p>As I’ve been traveling around the world doing training events on CRM 2011, a lot of people have been asking about an update on the book and what our plans are for CRM 2011. In addition to being crazy busy with all the things leading up to the launch we have also been busy working on updating content for CRM 2011. We currently have two CRM 2011 books planned for release in the next few months and I wanted to share a little bit of information on the plans.    <table border="0" cellspacing="0" cellpadding="0"><tbody>       <tr>         <td valign="top" width="109">           <p><a href="http://blog.thecrmbook.com/resource/Windows-Live-Writer-Book-update-CRM-2011_EB73-?fileId=10442037" rel="lightbox"><img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image001" border="0" alt="clip_image001" src="http://blog.thecrmbook.com/resource/Windows-Live-Writer-Book-update-CRM-2011_EB73-?fileId=10442038" width="153" height="185" /></a></p>         </td>          <td valign="top" width="529">           <p><b>Using Silverlight with CRM 2011 – Target Release March 2011</b></p>            <p>One of the cool new things in CRM 2011 is its support for making Silverlight a first class way to extend the user experience. This book will focus on all the different ways you can extend CRM 2011 using Silverlight including on Forms, on the Dashboard and many other creative ideas. The book also includes enough basic Silverlight information so if you are new to Silverlight you can get started right away.</p>         </td>       </tr>     </tbody></table>    <table border="0" cellspacing="0" cellpadding="0"><tbody>       <tr>         <td valign="top" width="109">           <p><a href="http://blog.thecrmbook.com/resource/Windows-Live-Writer-Book-update-CRM-2011_EB73-?fileId=10442040" rel="lightbox"><img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image002" border="0" alt="clip_image002" src="http://blog.thecrmbook.com/resource/Windows-Live-Writer-Book-update-CRM-2011_EB73-?fileId=10442041" width="154" height="203" /></a></p>         </td>          <td valign="top" width="529">           <p><b>CRM 2011 as a Rapid Development Platform – Target Release May 2011</b></p>            <p>A lot has changed since 2008 when the book was first published for CRM 4.0. At the same time, CRM 2011 is even more compelling for building a wide variety of applications that aren’t just limited to CRM. In this update to the popular CRM 4.0 book we will be focusing on providing deep information that developers need to build applications with CRM 2011 and the xRM Application Framework.</p>         </td>       </tr>     </tbody></table> </p>  <p>In both cases stay tuned if you have purchased our prior books we want to make sure you also get some special offers for the new books as well. If you don’t have one of our books, make sure you register on the book site as a user – <a href="http://www.thecrmbook.com">http://www.thecrmbook.com</a></p>  <p>For anyone that might be interested we are also in need of a small number of people to provide early reviews and feedback on the content. Ideally, this would be a mix of people who are new to the topics and some that have been heavily involved in CRM 2011 beta testing. If that is you and you are interested please contact me directly via my blog at <a href="http://crm.davidyack.com/send-me-e-mail/">http://crm.davidyack.com/send-me-e-mail/</a></p>]]></content></entry><entry><title>Old SDK &amp;ndash; New SDK Query by OwnerId</title><id>http://blog.thecrmbook.com/journal/2010/6/2/old-sdk-ndash-new-sdk-query-by-ownerid.html</id><link rel="alternate" type="text/html" href="http://blog.thecrmbook.com/journal/2010/6/2/old-sdk-ndash-new-sdk-query-by-ownerid.html"/><author><name>TheCRMBook.com</name></author><published>2010-06-02T21:39:42Z</published><updated>2010-06-02T21:39:42Z</updated><content type="html" xml:lang="en-US"><![CDATA[<p>The latest update to the MSCRM SDK included a new LINQ provider. In this blog post we are going to compare and contrast querying for data by owner ID using the old and new SDK techniques. If you are new to the LINQ provider then you should read my quick start blog post <a href="http://crm.davidyack.com/journal/2010/5/6/new-crm-sdk-new-developer-experience.html">here</a> first.</p>  <p>For this example let’s assume I want to retrieve accounts where the owner ID is the current user. The following is straight from the CRM SDK and uses the lower level API calls. Keep reading past it and I will use the new LINQ provider to accomplish the same thing plus a little bit.</p>  <p>Guid principalId = user.UserId;</p>  <p>// Create a column set holding the names of the columns to be retrieved.</p>  <p>ColumnSet colsPrincipal = new ColumnSet();</p>  <p>// Set the properties of the column set.</p>  <p>colsPrincipal.Attributes = new string[] { &quot;name&quot;, &quot;accountid&quot; };</p>  <p>// Create a ConditionExpression.</p>  <p>ConditionExpression conditionPrincipal = new ConditionExpression();</p>  <p>// Set the ConditionExpressions properties so that the condition is true when the</p>  <p>// ownerid of the account equals the principalId.</p>  <p>conditionPrincipal.AttributeName = &quot;ownerid&quot;;</p>  <p>conditionPrincipal.Operator = ConditionOperator.Equal;</p>  <p>conditionPrincipal.Values = new object[1];</p>  <p>conditionPrincipal.Values[0] = principalId;</p>  <p>// Create the FilterExpression.</p>  <p>FilterExpression filterPrincipal = new FilterExpression();</p>  <p>// Set the properties of the FilterExpression.</p>  <p>filterPrincipal.FilterOperator = LogicalOperator.And;</p>  <p>filterPrincipal.Conditions = new ConditionExpression[] { conditionPrincipal };</p>  <p>// Create the QueryExpression.</p>  <p>QueryExpression queryPrincipal = new QueryExpression();</p>  <p>// Set the properties of the QueryExpression.</p>  <p>queryPrincipal.EntityName = EntityName.account.ToString();</p>  <p>queryPrincipal.ColumnSet = colsPrincipal;</p>  <p>queryPrincipal.Criteria = filterPrincipal;</p>  <p>// Create the request object.</p>  <p>RetrieveMultipleRequest retrievePrincipal = new RetrieveMultipleRequest();</p>  <p>// Set the properties of the request object.</p>  <p>retrievePrincipal.Query = queryPrincipal;</p>  <p>Now that we have looked at how we would have done this in the past, let’s look at what is possible using the new LINQ provider. First, you should have already read my other blog post where I talked about how to call Who Am I to get the current user ID here. For this example we startup assuming that has already been accomplished.</p>  <p>To make this a little more interesting, in addition to just retrieving the accounts for the user I also want to retrieve the user’s name and only the first 10 accounts.</p>  <p>The first thing we are going to do is build the LINQ expression that will provide the criteria for our query. The following queries for accounts that have an owner ID matching. It also shapes the results into an anonymous type that only has the properties ID and Name. Pause for a second and compare the following 7 lines, which could really be expressed as 1 line to the code we used above without the LINQ provider.</p>  <p>var principalQuery = from acct in ctx.accounts</p>  <p>where acct.ownerid.Value == currentUserID</p>  <p>select new</p>  <p>{</p>  <p>ID = acct.accountid,</p>  <p>Name = acct.name</p>  <p>};</p>  <p>Remember, the above just defines the LINQ expression it doesn’t cause execution of the query against the CRM server that will happen later when we start to enumerate the results. Next, let’s go get the user information so we can grab the full name of the user.</p>  <p>var userInfo = </p>  <p>ctx.systemusers.Where(u =&gt; u.systemuserid == currentUserID).FirstOrDefault();    <table border="0" cellspacing="0" cellpadding="0"><tbody>       <tr>         <td valign="top">           <p>If we retrieved a user the output the user name.</p>         </td>       </tr>        <tr>         <td valign="top">           <p>if (userInfo != null)</p>            <p>Console.WriteLine(&quot;First 10 Accounts for user &quot; + userInfo.fullname);</p>            <p>Next, we are going to enumerate the accounts and print the account name. Notice that we added a Take(10) onto the LINQ query we built earlier. This will cause only the first 10 records to be used.</p>            <p>foreach (var acct in principalQuery.Take(10))</p>            <p>Console.WriteLine(&quot; Account Name :&quot; + acct.Name);</p>            <p>Hopefully it’s clear from the example the new CRM LINQ provider that’s part of the updated SDK makes it much easier to build queries against the CRM data.</p>         </td>       </tr>     </tbody></table></p>]]></content></entry><entry><title>Using the CRM Service via the DataContext</title><id>http://blog.thecrmbook.com/journal/2010/5/14/using-the-crm-service-via-the-datacontext.html</id><link rel="alternate" type="text/html" href="http://blog.thecrmbook.com/journal/2010/5/14/using-the-crm-service-via-the-datacontext.html"/><author><name>TheCRMBook.com</name></author><published>2010-05-14T02:54:33Z</published><updated>2010-05-14T02:54:33Z</updated><content type="html" xml:lang="en-US"><![CDATA[<p>Last week Microsoft announced the latest update to the MSCRM SDK that included a new LINQ provider. If you are new to the provider then you should read my quick start blog post <a href="http://crm.davidyack.com/journal/2010/5/6/new-crm-sdk-new-developer-experience.html">here</a> first.</p>  <p>In this blog post we are going to look at how you can use the CRM Service when you have a DataContext instance. As you probably recall the DataContext is generated when you run crmsvcutil against your CRM organization. DataContext is a wrapper on top of the standard CRM Service. Sometimes you need to drop down to make calls against the lower level CRM Service. For example, calling Who Am I, working with metadata and any other interaction that requires calling Execute. As it turns out if you have an instance of DataContext it provides an easy way to interact with the standard CRM Service for these types of operations. In the rest of the blog post we are going to look at calling WhoAmI using the DataContext helper methods.</p>  <p>The first approach we are going to look at is using the CreateService method on the DataContext. This method gives back an object instance that implements IOrganizationService. The IOrganizationService interface is a new abstraction as part of the updated SDK that provides methods to interact with both the transactional data in CRM and the metadata. Using the object instance returned from CreateService you can do calls to Execute just like you would from the CRM Service or Metadata Service directly.</p>  <p>Let’s get started making a Who Am I call to the CRM Service using the IOrganizationService instance. The first thing we need to do is add a using for the SdkTypeProxy namespace where the WhoAmIRequest/Response classes reside. Notice we are using an alias of SdkTypeProxy on the using. The reason for that is that name space also contains the “account” entity class and it conflicts with the generated account class created by CrmSvcUtil code generation. By using an alias we can work around this pretty easily.</p>  <p>using SdkTypeProxy = Microsoft.Crm.SdkTypeProxy;</p>  <p>Next, create an instance of the DataContext, remember this class is generated when you ran CrmSvcUtil and might have a different name if you chose something different on the options.</p>  <p>DataContext ctx = new DataContext(&quot;mycrm&quot;);    <br />Next, define a Guid variable to hold the current user ID we get back.</p>  <p>Guid currentUserID = Guid.Empty;    <br />Next, call the CreateService method on the context to get an instance of IOrganizationService. You will notice a couple of things in the following example. First, we are using “var service” without defining the type. The var keyword causes the type to be inferred from the right side of the statement. In this case it will be inferred to be IOrganizationService since that is what CreateService returns. We are using this approach to keep the code simply and concise without any redundant specification. You will also notice we wrap the code block with a “using”. When coded like below the using ensures that the dispose is properly called on the IOrganizationService instance when it falls out of scope either due to normal completion or an exception. We then proceed to build up a WhoAmIRequest object and call the execute method to get the current user ID.</p>  <p>using (var service = ctx.CreateService())</p>  <p>{</p>  <p>var userRequest = new SdkTypeProxy.WhoAmIRequest();</p>  <p>var user = service.Execute(userRequest) as SdkTypeProxy.WhoAmIResponse;</p>  <p>Console.Write(&quot;You are running as user &quot; + user.UserId);</p>  <p>currentUserID = user.UserId;</p>  <p>}</p>  <p>The new SDK also offers another approach that you can use to accomplish the same thing. Instead of calling CreateService you can call the UsingService method which accomplishes the same thing as the “using” statement and the CreateService method call. The following is the revised code adjusted to call the UseService method.</p>  <p>ctx.UsingService(service =&gt;</p>  <p>{</p>  <p>var userRequest = new SdkTypeProxy.WhoAmIRequest();</p>  <p>var user = service.Execute(userRequest) as SdkTypeProxy.WhoAmIResponse;</p>  <p>Console.Write(&quot;You are running as user &quot; + user.UserId);</p>  <p>currentUserID = user.UserId;</p>  <p>});</p>  <p>Using either approach you can make calls to the standard CRM Service without having to re-create a connection to the CRM server using the lower level API. Stay tuned as we continue to explore how to use the new LINQ provider that is part of the new SDK.</p>]]></content></entry><entry><title>XRM Virtual is about to take off....</title><id>http://blog.thecrmbook.com/journal/2009/3/9/xrm-virtual-is-about-to-take-off.html</id><link rel="alternate" type="text/html" href="http://blog.thecrmbook.com/journal/2009/3/9/xrm-virtual-is-about-to-take-off.html"/><author><name>TheCRMBook.com</name></author><published>2009-03-09T17:02:20Z</published><updated>2009-03-09T17:02:20Z</updated><content type="html" xml:lang="en-US"><![CDATA[<h3 class="entry-header"><a href="http://julieyack.blogs.com/my_weblog/2009/03/new-xrm-virtual-user-group.html">NEW XRM Virtual User Group</a></h3>
<p>We all know I have a thing with helping our professional community. We also all know I am easily bored and easily distracted by shiny things. Add those together and some pretty cool things can happen.</p>
<p><a href="http://www.xrmvirtual.com/" target="_blank">XRM Virtual User Group</a> is un-officially open for business.</p>
<p>A while back, several months ago, I had been receiving emails from our book readers (<a href="http://thecrmbook.com/" target="_blank">thecrmbook</a>) with questions about how to use XRM. I loved the fact that the book gave them loads of info, but they all seemed to be wanting more. Not that the book was missing anything, but more that the book inspired more of them.</p>
<p>A couple of weeks ago, I was introduced to <a href="http://www.shanmcarthur.net/" target="_blank">Shan McArthur</a> again. He is my new hero. He was preparing his sessions for Convergence this week and had this cool tool. The tool looked good and knowing I was brewing this group in my head for a while, I mentioned it to him, more as an opportunity for him to join than anything else. He came back with a sweet offer. Let me build this site for you, using our cool XRM solution AND demo it at Convergence in front of your target audience. How could I say no?? I would have been crazy. His team has plugged away and made us a great site, using the very technology we are preaching about.</p>
<p>&nbsp;</p>
<p>Thanks go out to <a href="http://blogs.msdn.com/benriga/" target="_blank">Ben Riga</a> for pushing this through and getting us our CRM Online credentials so quickly. And thanks to my husband <a href="http://davidyack.com/" target="_blank">David Yack</a> for his book that got this inspiration off the ground and his work helping us get off the ground (and putting up with manic wife for a couple weeks).</p>
<p>&nbsp;</p>
<p>(We will be an official INETA group very soon)</p>
<p><a href="http://www.xrmvirtual.com/news/xrm-virtual-user-group-started" target="_blank">Press Release here</a></p>]]></content></entry><entry><title>CRM Incubation week #2 just announced</title><id>http://blog.thecrmbook.com/journal/2009/2/26/crm-incubation-week-2-just-announced.html</id><link rel="alternate" type="text/html" href="http://blog.thecrmbook.com/journal/2009/2/26/crm-incubation-week-2-just-announced.html"/><author><name>TheCRMBook.com</name></author><published>2009-02-26T18:36:52Z</published><updated>2009-02-26T18:36:52Z</updated><content type="html" xml:lang="en-US"><![CDATA[<p>So directly or indirectly we have all been hit by our "economic downturn" (I hate that phrase!). Maybe you got a cut in hours, lost your job altogether or had your credit card company suddenly reduce your credit limit. Right?</p>
<p>&nbsp;</p>
<p>So with all that mess going on around us we need to seek out community opportunities to help build our skills and our business. These events are of such great value, you would pay for them, but they're free! Yup, FREE.</p>
<p>&nbsp;</p>
<p>So, my buddy Sanjay had such a great success with the first CRM Incubation week, that he is doing another one. This one in Boston, week of April 20. Only cost you need to cover is your travel to/in Boston. Rest is free. Training. Industry experts. Angel investors hanging around.</p>
<p>Pretty cool stuff going on here. More details below on Sanjay's blog. Tell him Julie sent you :)</p>
<p>&nbsp;</p>
<p><a href="http://blogs.msdn.com/sanjayjain/archive/2009/02/25/startups-announcing-2nd-microsoft-dynamics-crm-incubation-week.aspx">Microsoft Dynamics ISV Architect Evangelism : Startups: Announcing 2nd Microsoft Dynamics CRM Incubation Week</a></p>]]></content></entry><entry><title>XRM user group off and running</title><id>http://blog.thecrmbook.com/journal/2009/1/14/xrm-user-group-off-and-running.html</id><link rel="alternate" type="text/html" href="http://blog.thecrmbook.com/journal/2009/1/14/xrm-user-group-off-and-running.html"/><author><name>TheCRMBook.com</name></author><published>2009-01-14T19:37:40Z</published><updated>2009-01-14T19:37:40Z</updated><content type="html" xml:lang="en-US"><![CDATA[<p><span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Tahoma','sans-serif'">visit us at <a href="http://www.xrmvirtual.com">www.xrmvirtual.com</a>&nbsp; </span></p>
<p>&nbsp;</p>
<p><span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Tahoma','sans-serif'">I am writing to each of you, our book readers, to ask you about XRM user groups, a user group by XRM developers for XRM developers. There have been a few already discussed and a few formed.</span></p>
<p><span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Tahoma','sans-serif'">Previously, user groups were bound by geography. While that is certainly a viable way to go, virtual user groups are becoming more and more popular. I work with INETA (<a href="http://www.ineta.org/">www.ineta.org</a>) as a Membership Mentor to all groups in my geographic location, but also with all virtual groups. I have spoken with the group and we can offer INETA membership to any XRM groups that would like to be a member and meets the simple requirements (must have website, must be open for all to join, must have meetings, etc). These groups would then gain all the benfits of INETA membership to include sponships, speakers and giveaways for meetings. I would be more than happy to help any interested groups get started, weather in my assigned areas or not, I can make an introduction to whomever you'd need to work with. Even if you'd like to form a group, but are not interested in INETA membership, I am happy to help with that as well.</span></p>
<p><span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Tahoma','sans-serif'">If this is something you'd be interested in exploring, let me know. I'll need your name/contact info, location and if you'd prefer an in-person group or virtual group. I will be sharing this info with others that express the same interests so the groups can form and be active. Also, anyone interested in taking the lead in their new group, please speak up!</span></p>
<p><span style="FONT-SIZE: 10pt; FONT-FAMILY: 'Tahoma','sans-serif'">Thank you to all that have offered feedback on the book, those are the best reward for the hard work of making this book!</span></p>
<p style="MARGIN: 0in 0in 0pt">&nbsp;</p>
<p style="MARGIN: 0in 0in 0pt"><em><span style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'">Julie Yack</span></em></p>
<p style="MARGIN: 0in 0in 0pt"><em><span style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'">V 719-302-3016</span></em></p>
<p style="MARGIN: 0in 0in 0pt"><em><span style="COLOR: black; FONT-FAMILY: 'Calibri','sans-serif'"><a href="http://www.julieyack.com/">www.julieyack.com</a></span></em></p>]]></content></entry><entry><title>CRM Book Sample Code Updated &amp;ndash; 10/16/08</title><id>http://blog.thecrmbook.com/journal/2008/10/19/crm-book-sample-code-updated-ndash-101608.html</id><link rel="alternate" type="text/html" href="http://blog.thecrmbook.com/journal/2008/10/19/crm-book-sample-code-updated-ndash-101608.html"/><author><name>TheCRMBook.com</name></author><published>2008-10-19T19:44:19Z</published><updated>2008-10-19T19:44:19Z</updated><content type="html" xml:lang="en-US"><![CDATA[<p>An update to the book sample code has recently been placed in the download section for registered book owners.</p>  <p>The update contains a few minor fixes and enhancements to the core framework code.</p>  <p>A new metadata utility was added to the samples – Attribute Replicator.&#160; Attribute Replicator heavily uses the CRM Metadata API to be able to clone or copy attributes from other entities.&#160; Julie has a blog post on more details about the Attribute Replicator <a href="http://julieyack.blogs.com/my_weblog/2008/10/attribute-replicator-has-been-released-for-microsoft-crm-40.html">here</a>.&#160; You can find the source in the Framework folder in the book code download.</p>  <p>Silverlight 2 RTM now supported!&#160; We continue to follow the developments of Silverlight and as you might have read Silverlight 2 is now released.&#160; With that we have updated the book code to be Silverlight 2 release compatible.&#160; Additionally, several minor fixes or enhancements were made to the core Silverlight CRM code that was in the framework already.&#160; If your doing anything with the Silverlight code in the book samples you should update to this version.</p>  <p>What’s Next?&#160; We plan to keep updating the book code periodically as it makes sense.&#160; We don’t have an official schedule it will be more based on what changed have been made and what feedback is received.&#160; If you have comments or suggestions feel free to send them to us <a href="http://www.thecrmbook.com/PublicInformation/HelpRequest.aspx">here</a>.&#160; While we try to respond and integrate feedback where possible, keep in mind it’s not possible for us to provide a lot of one on one support for specific projects you might be working on.</p>]]></content></entry><entry><title>New How-To Video - Calling CRM Web Service From JavaScript</title><id>http://blog.thecrmbook.com/journal/2008/10/8/new-how-to-video-calling-crm-web-service-from-javascript.html</id><link rel="alternate" type="text/html" href="http://blog.thecrmbook.com/journal/2008/10/8/new-how-to-video-calling-crm-web-service-from-javascript.html"/><author><name>TheCRMBook.com</name></author><published>2008-10-08T22:36:45Z</published><updated>2008-10-08T22:36:45Z</updated><content type="html" xml:lang="en-US"><![CDATA[<p>In this video we look at how you can use the CRM web services from JavaScript to set default values.</p>  <p>View the video <a href="http://www.thecrmbook.com/Video/Customization/CallingCRMWebServiceFromJavaScriptToSetDefaultValues/viewvideo.aspx">here</a>.</p>]]></content></entry><entry><title>Print and EBook Combo Price</title><id>http://blog.thecrmbook.com/journal/2008/10/8/print-and-ebook-combo-price.html</id><link rel="alternate" type="text/html" href="http://blog.thecrmbook.com/journal/2008/10/8/print-and-ebook-combo-price.html"/><author><name>TheCRMBook.com</name></author><published>2008-10-08T22:26:26Z</published><updated>2008-10-08T22:26:26Z</updated><content type="html" xml:lang="en-US"><![CDATA[<p>By popular request the site will now allow you to purchase a print copy and e-book copy at a discounted price.&#160; When you purchase the e-book at the same time it’s now only $20.00!</p>  <p>If you already purchased a print copy and would like to add on a e-book at the reduced price please contact us here for a special discount code </p>  <p><a title="http://www.thecrmbook.com/PublicInformation/HelpRequest.aspx" href="http://www.thecrmbook.com/PublicInformation/HelpRequest.aspx">http://www.thecrmbook.com/PublicInformation/HelpRequest.aspx</a></p>]]></content></entry><entry><title>Updates for Silverlight In Progress</title><id>http://blog.thecrmbook.com/journal/2008/9/27/updates-for-silverlight-in-progress.html</id><link rel="alternate" type="text/html" href="http://blog.thecrmbook.com/journal/2008/9/27/updates-for-silverlight-in-progress.html"/><author><name>TheCRMBook.com</name></author><published>2008-09-27T08:28:54Z</published><updated>2008-09-27T08:28:54Z</updated><content type="html" xml:lang="en-US"><![CDATA[<p>This week a release candidate build was posted so developers could prepare their code to work with Silverlight&#160; 2 when it releases soon.&#160; This is a developer build – it’s not one you want to deploy to live sites, rather use it to make sure your code is ready to go live.</p>  <p>As you know, we include Silverlight 2 code in the book framework code.&#160; We are in the process of updating that and will post updated files in the near future so you can begin testing any code that is using it without having to make the changes yourself.</p>  <p>For more details on the SL 2 release candidate – check out Scott Guthrie’s blog post <a href="http://weblogs.asp.net/scottgu/archive/2008/09/25/silverlight-2-release-candidate-now-available.aspx">here</a>.</p>]]></content></entry></feed>
