Released Today – Dynamics CRM 2011 Developer Training Kit

I have been watching the Developer training videos which I blogged about in this post a few days ago.  These were the videos that on the channel 9 microsoft channel.

I have been watching these video’s and found them really useful so why am I now getting excited about the Dynamics CRM 2011 Developer Training Kit.

Well if you watched those videos you see the slides and the speaker going through some code and a presentation.

So now we can view the presentations, watch the videos and we also have Labs to walk us through the new functionality.

You can download the Dynamics CRM 2011 Developer Training Kit

this is how Microsoft describes it

This training kit is for .NET developers to learn the development features of Dynamics CRM and help them build applications using Microsoft Dynamics CRM 2011 and CRM Online. Microsoft Dynamics CRM uses familiar components such as WCF & oData web service endpoints, JavaScript, Silverlight, .NET 4, Workflow Foundation 4, SQL reporting and more; making it a general purpose framework for line-of-business applications. This kit drills into the details of such development and explains how developers can connect, extend, and embed their applications with Microsoft Dynamics CRM.The training kit includes various resources to help you learn the development features of Dynamics CRM. It includes:

  • Presentations – Presentation decks in PowerPoint (.pptx) format that you can use to learn the concepts.
  • Videos – Video recordings of the presentation along with demos delivered by expert trainers.
  • Hands-on Labs – Hands-on labs with detailed instructions and source code that will walk you through various development features.

 

If you haven’t watched the videos and gone through the labs for any of the areas, this is a great place to learn, the video tutorials are really slick, good explanation and now we have the Lab’s we can do it ourselves.

This training is easily as good as the labs in the SDK and because of the videos in some areas it is better because the speaker often helps explain the features in a more interesting way than just reading it from a manual.

I think these videos are a great introduction to the new features but you will have to use the SDK to learn the new features in more depth and I often find the SDK helps dig you out of a whole (as well as turning you around in circles often).

I think the real benefit of this training is we know have pretty much all of the information you need in a couple of places, so you don’t have to spend a lot of time looking around for information and can just focus on using it.

Microsoft Dynamics CRM Timeline

As I have been using CRM 2011 from the beta release, it got me thinking about the timeline of CRM.  I found this CRM timeline at the Dynamicsworld website.  I think it shows that Microsoft has been taking CRM more seriously over the past 4 years and is starting to invest time, money and marketing, especially with CRM 2011.

http://www.dynamicsworld.co.uk/Dynamics-CRM-Timeline.php

For a more general look at CRM and not just Microsoft, I found this CRM Timeline.  This shows the progress the different companies have made in the CRM world.

It shows Microsoft didn’t even enter the market in the 90’s and waited until 2002

The terms XRM didn’t arrive until 2001

“2001

Greenberg’s “CRM at the Speed of Light”

In February, Paul Greenberg releases “CRM at the Speed of Light”. The book, now in its 4th edition, introduced the idea of ‘xRM,’ which expands traditional CRM to encompass the management of all relationships, both internal and external, for-profit and non-profit, and government and municipalities. Suggested by: Leon Tribe”

The article was thoughtfully written and I like the way it ended with a prediction of the future, I keep hearing Social CRM more and more, so maybe they a point.
Future
Looking Forward: Trends to Watch in CRM

Social CRM and the future of the industry. Where will the CRM industry go next? With the introduction of concepts such as Customer Enterprise 2.0, Sales 2.0 and Social CRM, we can anticipate an increased focus from vendors on how to incorporate these new technologies into a CRM strategy. Currently, many vendors have 2.0 or social functions, but they have yet to figure out a way to integrate these concepts in such a way as to realize their full potential. Also, with new technology comes new blood. We expect to see a good amount of smaller vendors enter the space in an attempt to capitalize on this new technology, similar to what we saw in the early years of SaaS.

 

 

CRM 2011 – How to quickly and easily turn on tracing

if you google “CRM 2011 – how to enable tracing”, most of the time you will find your way to this page from microsoft

How to enable tracing in Microsoft Dynamics CRM

This will give you long detailed instructions on how to change the registry to turn on tracing, it’s slow, difficult and frustrating.

but my advice is to use the Crm diagnostics tool –  CrmDiagTool4 instead.  All you have to do is open the CrmDiagTool4 exe on the CRM Server and then it has a button saying – Click the button to Enable or Disable tracing.    Although this tool is written for CRM 4 it does work in CRM 2011 and this is because the registry setting to turn tracing on/off is still the same.

Then tracing will be turned on without even having to restart anything.

This tool should be downloaded to the Server machine so you can always easily turn tracing on and off.  One word of warning is tracing creates loads of files very quickly, so don’t forget you have turned it on or the server will in a month or so run out of disk space.

You can download the tool here

I hope this save you a lot of time like it did for me.  The odd thing about this tool is I had never heard about it until I had escalated a problem to Microsoft and they emailed me this tool and told me to turn on tracing before recreating the problem.

It makes me wonder why the don’t include it with the SDK

Plugin was caught in a recursive loop

I was trying to write a plugin which updated a counter and validated some values.

I wasn’t entirely sure what I was doing, so amusingly in my plugin I created an organisation and then did a create to update the entity.

so I was changing the value of a field, counter + 1

calling a Organisation.Create(entity)

this caused my plugin to be fired again! and again and again and again.  I had turned on tracing and I could see in the log file it was looping over.  I had also turned on tracing in the plugin, which you can read about here in a previous blog post.

I think I also had the plugin being fired in the wrong stage of the pipeline.  Initially I had it in Post-operation but then I changed this to Pre-operation.  It gets confusing because it’s pre update of the entity, which is what I actually wanted because I wanted to adjust some of the values before they are all written back to the database.

Post-operation is after the update has happened.

I also confirmed the default number of loops in a plugin.  It is set to 8 and I know this because it is one of the questions on the Extending CRM 4 certification.  Another question is does CRM automatically catch recursive loops, the answer is also yes (and good job otherwise I would have been stuck staring at my screen wondering what was happening).  I always like to reinforce the usefulness of the CRM exams, so when things I have learnt in the exam pop up in every day usage, I give myself a pat on the back

 

CRM 2011 really is a Rapid Application Tool

I heard something interesting today.  someone needed to mock up some screens quickly to show a potential client the basic idea of a potential solution we were interested in offering to them.

The question came up, what would be the best and quickest way to quickly mock up screens.  The initial thought was mocking up the screens in asp.net but that didn’t seem a quick solution.

Then the idea came to someone, we will create a new organisation in CRM and then we can quickly create some forms to show the potential client what data the screens would have and roughly how we would space them out on a page.

 

This highlights one of the advantages of CRM, you can quickly make screens with fields behind them.  This means you can very quickly create the screens and the flow in a default look and feel that everyone is comfortable with.

not to mention that CRM also has a bunch of the most popular entities/actions already built, e.g. marketing, leads to orders to sales.

 

The other major bonus for CRM is you can quickly change fields and layouts.  The person doing these changes doesn’t have to be hugely technical because they can use the GUI tools in CRM to do these changes

Extending CRM is a bit tricky, well not tricky but the first time you do any code in CRM it never flows smoothly and involves alot of head banging until you finally find the way it should be.  One of the major benefits of using CRM is most people have used Microsoft so will know their way about it.  Also the skills needed to develop and extend CRM are quite common because they are Microsoft skills of .NET, ASP.NET, Javascript and with .NET 4, it’s WCF, JQuery, OData, these are fairly common technical skills because there are lot of Microsoft developers out there.

 

I just thought it was interesting that someone was using CRM to quickly create a prototype.  I thought it was a clever way to quickly make a screen but then thought, if they can make the screen they might as well do the whole thing in CRM