My Journey into Microsoft CRM Dynamics and Certifications


I am continueing my quest to increase my knowledge in the CRM world.

It has been a slow drawn out journey.  In 2008 whilst working on different projects, the company I work for said they were moving in the direction of CRM.  So I studied for Crm 4 Applications certification.  This was quite difficult because I wasn’t using CRM every day but it was also interesting because I was learning what CRM was and how it is used and fits together.

I then passed that certification and the company got some CRM work but gave it to people who hadn’t studied about CRM and knew nothing about it ?!?!?!?!

On the plus side at this point I then got to work on a project which used C# and  This turned out to be some very useful skills to pick up with regards to CRM and in particular CRM development.  As many of you no doubt know Microsoft CRM Dynamics is basically an asp Web site built on standard Meta Data framework.

This year I finally got to work on a CRM project, Hazaar and at the same time I have continued to learn about CRM through passing the 2 more CRM certifications.

Microsoft Dynamics CRM 4.0 Customization and Configuration

Microsoft Dynamics CRM 4.0 Installation and Deployment

These two certifications have helped build my knowledge about the way microsoft dynamics Crm works and the various components that are installed and which make up the total package. e.g. things like the crm website, Reports services, the web services and outlook.

I am now moving on towards the programming side of CRM.  I am currently studying for the certification

CRM 4.0 Extending Microsoft Dynamics

I have found this very interesting, one reason for this is because I have spent 6 years as a Java developer and then some more years developing in C#, and doing some business objects and other projects which have popped up.

It’s interesting to see how CRM is laid out, it reminds me of when I have developed code which I wanted to use again, you try to modularise the code and make it so you can extend the code without changing it (so you don’t have to test it again).  It also reminds me of my Java days and using frameworks like Spring, Struts and a hibernate (is it a framework? but it is similar to CRM because it uses metadata to access the database).  This is interesting because you can see how Microsoft has laid out CRM, thought it out so people can extend and add to it without too much difficultly.

With regards to Extending CRM exam. I have found the ms courseware very useful and well presented as usual.

I have also been reading the book – Programming Microsoft Dynamics CRM 4.  This is also an extremely professional and well written book.  It gives great examples and picks out all the gotchas for you.

The most interesting resource I have been using is the CRM Ramp up course, which I have blogged about before here

It’s really interesting to see the thoughts of one of the developers of CRM 4 and the jokes and etc knowledge he has.  It’s also enjoyable not to be just reading about CRM.

once I have passed this certification, I will then focus my attention on improving and studying my .NET skills and work towards passing the

TS: Web Applications Development with Microsoft .NET Framework 4

of course at the same time I will also need to learn CRM 2011.

Still at the start of the year I only had one CRM certification, now I have 3 in the bag, one more I studying for and some experience of actually using CRM on a project.

Hopefully next year I will really make some head way into the world of CRM and get really stuck in to CRM 2011


Entitiy prefixes and Solution Management in CRM 2011

I was tinkering with CRM 2011 today and found out someone had added in a bunch of entities but had changed the prefix of the entities so instead of


It was instead


I thought this was a brilliant way of knowing all the entities we had added into the system.  The only problem was I had no idea how they had done it.  They explained to me and I still didn’t know.  I was searching around the entities and then I noticed a new solution had been created.  The Solutions management section of CRM 2011 is completely different so I have been avoiding it slightly but after a bit of research I found out that it is a fantastic addition.

The way to do this is when you create a new solution, you create it using a publisher.  The publisher can then choose to the prefix of entities.  The other benefits of the Solutions Management is you can package up you solution, which can include workflows, entities, reports, processes, jscript, dashboards, basically everything.   This makes it a great way to publish/sell you solutions to companies.

One other neat feature about the Solutions Management is you can set parts of the solution to be unmanaged, which although sounds rather odd actually means you can change those part of the solution.  Managed on the other hands means the user/customer cannot change those parts of the solution, which I’m sure you can imagine has the potential to be very useful.

David Yack explorers some of the behaviours of installing and upgrading solutions.  This is very useful and contains a few gotcha’s

Here is a video by the Microsoft CRM blog

this gives an excellent description of the Solutions Management concept and feels like it’s written for developers used to developing on other platforms and how they can work in similar way in CRM 2011

You can see one of the CRM Developers talking about solutions management

Average CRM wages

I was looking at the average wages for CRM jobs.

one interesting thing to note is all the jobs with CRM in the title have increased in number over the last 3 months.

I wonder with Microsoft pushing CRM 2011 and CRM 2011 adding in some excellent enhancments, I wonder if there will be more CRM jobs next year.  I certainly get the feeling that Microsoft CRM is growing and the product is getting better and the number of companies delivering excellent CRM solutions is also growing, maybe CRM with CRM 2011 is gathering speed and momentum.

Description Rank
3 Months to
20 Dec 2010
Rank Change
on Same Period
Last Year
Average Salary
3 Months to
20 Dec 2010
Average Salary
% Change
on Same Period
Last Year
Matching Job Ads
(% of Permanent
IT Job Ads Sampled)
Last 3 Months
Rank up 8 places CRM 58 Up+8 £47,500 +5.55 % 4488 (4.02 %)
Rank up 36 places CRM Consultant 522 Up+36 £50,000 325 (0.29 %)
CRM Developer 669 Down-53 £42,500 +13.33 % 157 (0.14 %)
CRM Analyst 712 Down-83 £37,500 -11.76 % 114 (0.10 %)
CRM Manager 739 Down-110 £65,000 +52.94 % 87 (0.08 %)
CRM Project Manager 786 Down-115 £55,000 -4.34 % 40 (0.04 %)
CRM Business Analyst 787 Down-126 £65,000 +36.84 % 39 (0.03 %)
CRM Architect 790 Down-148 £61,250 -12.50 % 36 (0.03 %)
Rank up 102 places Dynamics CRM 258 Up+102 £45,000 1036 (0.93 %)
Rank up 55 places Microsoft CRM 413 Up+55 £42,500 -6.59 % 516 (0.46 %)
Pivotal CRM 702 Down-59 £46,250 +2.77 % 124 (0.11 %)
Dynamics CRM Consultant 708 Down-49 £47,500 118 (0.11 %)
Dynamics CRM Developer 744 Down-81 £45,000 +3.44 % 82 (0.07 %)



Developer Ramp up Kit for Microsoft Dynamics CRM 4.0


I have been studying for the CRM 4 – Extending CRM certification and I have been through the course ware for the exam and then this week I found a developer ramp up kit.

you can find it here and it’s totally free.

The course is held by a developer at Microsoft at the home of microsoft in Richmond.  I found the person giving the course very easy to listen to.

The information the course is very useful, not only does it go through many of the development areas of CRM but it also gives you lots of information of how CRM works.  This course would be useful if you are studying for any of the exams because the information it gives comes up in all the previous exams.

Watching the videos is useful but going through the labs is even more useful because you actually see how the code works.

CRM 2011 – Overview videos

This link has a number of different summary/introduction CRM 2011 videos

Initially I only looked at the development videos but I have recently gone back and looked at the other videos.

The videos are split into various sections






I think the most important features and the benefits you will gain from watching these videos is they tell you about the new features of CRM 2011.

I have recently been working with CRM 2011 and one of the main challenges is changing the way you work with CRM.  I am used to thinking about CRM problems in a CRM 4 way and this means I won’t be utilizing the new features of CRM.

With this in mind I have decided to educate myself on the new features so I can use these features.

It is quite an interesting idea to split the videos into the various sections, the user section I didn’t find useful but the developer, manager and partner videos were good.

if anyone has any other good links then please send them to me

Crm 2011 – 3 Developer Videos

I found these three developer videos for CRM 2011

it also has a link to the new SDK.

The videos do look pretty impressive and everytime I am watching a new video I just think that the development is experience is going to change quite a lot.  The amount options we now and the fact that modifying forms and what we can show on forms has increased a lot.  Its going to take some time for people to know what they can do and what they should put on a form.  It’s definitely a big change but a big change for the good.


CRM 2011 – Customization and Development

It’s interesting that Microsoft have released CRM 2011 in Beta form and lots of people are investigating and commenting on it and getting very excited about it.  Whilst watching a CRM ramp up course, I saw a summary of the CRM releases, it certainly seems to me that Microsoft CRM is starting to gather some speed.

I saw Richard Knudson has written some articles about CRM 2011.  For those of you who don’t know he is a great source of information about CRM and his information certainly helped me pass two of my CRM certifications.

out of the article I am more interested in the development side

Customization and Development

  • A “solution“ is a new concept, described as a portfolio of customizations, configurations, extensions and the like. So rather than manually exporting and then importing collections of customizations, as at present, solutions will let us package them up as pre-defined…well, solutions. (described at the 32 minute mark)
  • It appears that extensions (Plug-ins, for example) be part of what can be in a solution, and that they will be supported for all deployment models, including CRM Online. Including the cloud version of Dynamics CRM as a full-fledged development platform, on par with on-premise for extensions like custom workflow actions, plug-ins and ASP.NET development will definitely add credibility to the message that Microsoft’s “all in” when it comes to cloud computing. Check out how comprehensive the solution concept is at about the 33 minute mark in the video!
  • Apparently “workflows” become “processes” in 2011, but more importantly they can do some important new things! Go to the 35 minute mark to take a look at these things:
    • Prompt and Response construct lets you add a synchronous user experience to workflows — sorry, processes! — to store the user responses, and to branch depending on the responses.
    • New workflow Actions sound interesting: Query CRM Data, Assign Value, plus a couple of others that sound like they’re related to Prompt and Response.
  • Custom Activity Types. Nice. Discussed at 40 minutes.
  • The concept of managed v. unmanaged solutions.  Unmanaged solutions sound like what we have now (exporting and importing customizations) — Managed solutions are for scenarios when you want to lock down a release, and don’t want code or customizations exposed or changed. (42 minutes)
  • Field-level security. Yay! (44 minutes)

Richard also has seperate article and video on the subject which is also worth a look

It takes a bit of time to get your head around these changes because as usual when Microsoft upgrade and change something, suddenly things have been renamed and moved and it takes a bit of time to know where to go do do things.




CRM 4 Reporting Services Connector Information

This excellent blog was sent to me today by a work colleague.

The CRM 4.0 Reporting Services Connector – how it works

After passing my CRM installation exam I had recently been reading about the Reporting Service Connector and how you need it to use reports.

This is a useful article because this can often be a source of problems in CRM deployments, it also has a detailed example about the installation process.

This part of the blog I found particularly interesting

There are 3 differences between these configurations:

  1. The Connection Type, which specifies the extension
  2. The Connection String is absent with the CRM connector. This is because the connector reads some of the database information from registry values that were created during its installation, and some from data passed to it when the report is run (see below)
  3. The Credentials. With the SQL Server connector, standard Windows Integrated security is used – i.e. the user’s AD credentials are used to connect to SQL Server. With the CRM connector, separate ‘credentials’ are passed to SSRS (again, see below)

What happens when a report is run
If you try to run a CRM report with the CRM connector installed, the connector will require some ‘credentials’, as per point no.3 above. This image shows what happens if you try to run a report from Report Manager:

Running a CRM report from Report Manager when the CRM connector is installed

These ‘credentials’ are not what they seem; rather they are a cunning way for the CRM platform to pass information about the current user to the CRM connector. The CRM connector expects the current user’s systemuserid (a Guid) to be passed into the Log In Name box, and the organizationid (another Guid) to be passed into the Password box. These are not your login name and password.

As the report uses a data source that uses the CRM connector, the RS Report Server code calls the CRM connector code (the SrsExtConnection class in the Microsoft.Crm.Reporting.DataConnector assembly, as per the rsreportserver.config data above). The code will then:

  1. Check that it is permitted to impersonate a CRM user. This checks that the identity the code is running under (which the identity of the ReportServer application pool, or the Reporing Services service, depending on the version of Reporting Services) belongs to the AD group PrivReportingGroup
  2. Connect to the MSCRM_Config database to determine the correct MSCRM organization database, based on the organizationid that was passed in the ‘credentials’
  3. Connect to the relevant MSCRM organization database. Note that this is done (as was the previous step) using integrated security under the AD identity as per step 1 above
  4. Use the SQL statement SET Context_Info to pass the calling CRM user’s systemuserid into the Context_Info
  5. Execute the SQL statement(s) within the report definition. The definition of all filtered views use the fn_FindUserGuid function to read the systemuserid from the Context_Info

What can you do with this information
One use is for troubleshooting. Checking the rsreportserver.config is a quick way to see if the connector is installed, and checking the configuration of the MSCRM Data Source will tell you if the connector is in use. Changing the MSCRM Data Source is a quick way to turn the connector on or off for test purposes.

You can also run the reports directly, rather than from CRM. Again, when troubleshooting I find it useful to run a report directly from Report Manager web interface. To do this with the connector, you need to enter the systemuserid and organizationid when prompted (see image above). These values can be read from the filteredsystemuser and filterorganization views respectively in the MSCRM database.

Passed two more certifications

I have this year passed two more CRM certifications

Microsoft Dynamics CRM 4.0 Customization and Configuration
Microsoft Dynamics CRM 4.0 Installation and Deployment

it’s interesting because I sometimes wonder how valuable certifications are but I have certainly learnt a lot of information about the product and I think I know have a broader knowledge of the subject.  Where as before I had a working knowledge of the product.

Personally the value I put to certifications is it gives me something official to show for the hours of effort I have put in.  There are many people who have read a technical book but you can’ t put that on your CV (although you can add it to linkedin!)

I also think Certifications are a good way to get some experience in a product which you might not be using everyday in your work or maybe are using certain parts of it but you want to learn about other sections.

I also read that people who are certified get 5 to 10 percent higher wages.  I don’t think this is just about the certifications but it shows that those people are willing to put extra effort in outside of work , ambitious and are trying to get ahead in their career.