CRM 2011 – A List of CRM 2011 Build and version numbers

I had to figure out what version of CRM 2011 I had installed on my Development environment and it’s always difficult when you have to work this out when all you have is a version number displayed in Deployment manager.

I have googled this before and never been able to find a list of the version numbers so I have made one.

 

Version Build Number Release Date KB Articles:
RC 5.0.9688.53
RTM 5.0.9688.583 16/02/2011  
Update Rollup 1 5.0.9688.1045 07/04/2011 KB2466084
Update Rollup 2 05.00.9688.1155 06/06/2011 KB2466086
Update Rollup 3 05.00.9688.1244 26/07/2011 KB2547347
Update Rollup 4 05.00.9688.1450 9/19/2011 KB2556167
Update Rollup 5  05.00.9688.1533 10/20/2011 KB2567454
Update rollup 6 05.00.9690.1992 1/20/2012 KB2600640

CRM 2011 – 66×48 Icons not used in CRM 2011

Whilst reading Jamie Miley’s blog post this week which was primarily linking to the 100 CRM videos from slowxrm which you can find here but he also added a paragraph about 66×48 icons which I didn’t understand at first but then thought, WHAT, imagine all the time that has been wasted with with people creating this extra images

So how have we got here, well Jim Daly at MSFT pointed out to Jamie Miley that the 66×48 icons you upload to entities are not actually used for anything.

Anyone who has added a new entity and wanted to make an icon for it would have had to do some extra work to get it into the odd shape of 66×48 and it now turns out that it was all for nothing.

Initially I thought this can’t be true but Jamie had a link on his site

Which says about the icon
66x48px
This size icon is not used in Microsoft Dynamics CRM 2011. The application incorrectly labels this as the Icon in Entity forms.
talking of icons, there is a great post with links to royalty free icons, you can get to it by clicking the link below
There is also CRM4 there is a tool called MSDYCRM40_Demonstration Tools which you can download http://www.microsoft.com/download/en/details.aspx?id=17873 and this allows you to choose an image and it creates the icon images of the correct size for you.

CRM 4 Mainstream support date ends in 2013

Donna Edwards who is a CRM MVP and pops up all over the CRM world commenting on forums, facebook, twitter and blogs always with useful bits of information tweeted a very interesting link a while ago about support dates for CRM versions.

but before I go into that I recommend you follow Donna via her twitter account – https://twitter.com/#!/edwardsdna

and subscribe to her blog http://edwardsdna.wordpress.com/

When it comes to supporting versions of CRM, I thought it was Microsoft’s policy to support the last two versions but Donna Edwards tweeted this Microsoft page which shows a date, which is useful information to give to your clients who are on Microsoft Dynamics CRM 4.

There is a Lifecycle Support Policy FAQ which is interesting and below I have copied the support dates from this original page.  For my UK readers, these dates are in American format so it’s the 09/04/2013.  Also with all the great enhancements coming to CRM 2011 soon, I think a lot of people will be upgrading

Products Released General Availability Date Mainstream Support End Date Extended Support End Date Service Pack Support End Date Notes
CRM 1.0 1/1/2003 7/11/2006 Not Applicable
CRM 1.2 10/31/2003 1/9/2007 Not Applicable
Dynamics CRM 2011 5/18/2011 7/12/2016 7/13/2021
Dynamics CRM 3.0 12/1/2005 4/12/2011 4/12/2016
Dynamics CRM 4.0 2/29/2008 4/9/2013 4/10/2018

CRM 2011 – Great list of resources

The excellently named blog Mad Computerist has a really good collection of links and resources.

They are split up into sections such as installing, plugins, Javascript, reports, tips, tools, etc.

it also has links to the rollups

The link below will take you to the full list of goodness and it’s worth bookmarking

http://madcomputerist.blogspot.com/2011/06/new-features-in-microsoft-dynamics-crm.html

a taster below of a couple of the topics I thought were really useful.

Installation and Configuration
Connector for Microsoft Dynamics installation guides
Installing Active Directory On Windows Server 2008
Installation of Microsoft Dynamics CRM 2011 Standalone Sandbox Using VirtualBox Part 1
Installation of Microsoft Dynamics CRM 2011 Standalone Sandbox Using VirtualBox Part 2
Rename a Windows Server 2008 domain
Using Windows Server 2008 as a Workstation

Others
Resources
Common CRM interview questions
Developer Training Videos
Excellent video resources CRM 2011
100+ videos dedicated to Microsoft Dynamics CRM 2011

Microsoft Dynamics CRM Server 2011
Microsoft Dynamics CRM 2011 for Microsoft Office Outlook
Microsoft Dynamics CRM 2011 List Component for Microsoft SharePoint Server 2010
Microsoft Dynamics CRM 2011 Report Authoring Extension
Microsoft Dynamics CRM 2011 Implementation Guide
Microsoft Dynamics CRM 2011 Software Development Kit (SDK)
Microsoft Dynamics CRM 2011 Developer Training Kit

JavaScipt

Accessing the Parent Form from a Child Form
Calling External Webservice with Javascript Asynchronously
Close MS CRM 2011 Form without Prompt
Dynamically Show Different Form onLoad
Enable Disable Notes Control
Events in onSave method (List of event.Mode)
Excessive Sub-Gridding for more than 4
Filtered Lookup for “Add Existing…” Button of a CRM N:N View
Get Current User ID and Name
Get Selected Record Guid from a Subgrid
Link two subgrids on a form together (parent-child-grids)
Pass Microsoft Dynamics CRM Data From a Page as a Parameter to Ribbon Actions
Populate Lookup Field with String Value (without GUID) using Automatic Resolution
Showing Custom Form Alerts
Update records of a Sub-grid using OData JSON JQuery

Another blogger (Srikanth Reddy) copies CRM blog posts

It seems like the blogger is copying some my blogs and other CRM blogs, so if you are a CRM blogger you might want to check the blog http://srikanthcrm.wordpress.com written by Srikanth Reddy to see if he has copied one of your blog posts.

on to the examples

Here is my blog

https://crmbusiness.wordpress.com/2011/02/17/crm-2011-javascript-xrm-page-basics/

and here is the copy, the exact copy

http://srikanthcrm.wordpress.com/2012/02/23/crm-2011-javascript-xrm-page-basics/

amusing the blogger has left in references to variables with the word Hosk and links to other Javascript blogs he has written which point back to my blog.

The reason I noticed this was because commented in one my blogs that the examples I had used were too complex and he had written a blog with more basic examples!!!!

I thought I should mention it here because he may have copied other peoples blog posts

like this one

http://srikanthcrm.wordpress.com/2012/01/28/crm-4-to-crm-2011-javascript-converter-tool/

where he claims to have written a javascript tool to convert Javascript CRM 4 to CRM 2011.  Where I am pretty sure Rhett Clinton wrote that

and here is the real blog post

http://bingsoft.wordpress.com/2010/09/09/crm-4-to-crm-2011-javascript-converter-tool/

 

CRM/NAV Connector – Crm Exception: Message: entity doesn’t contain attribute with Name = ‘name’

I have had two very frustrating days wrestling with the connector or to call it by its proper name the Connector for Microsoft Dynamics.

I was trying to map Jobs to Contracts, this worked fine, a bit of tinkering to work out what values I needed to put into Contract template lookups but this is to be expected.

I then wanted to map Job Planning Lines to Contract lines.

initially when I put in Job Planning Lines the form in NAV had a header record.  This meant that I couldn’t generate a 1 to 1 mapping between Job Planning Lines and Contract lines because the header would be one record and the individual planning lines would be child records.

Eventually to get round this I put in the form as

Job Planning Line Subform

This is the child form on the Job Planning Line form, so it excluded the header.

I then ran the Connector config utility for NAV but because I had run it before it now doubled up and I had Integration Job Planning Lines and Integration Job Planning Lines Subform.

I also did something similar in CRM and ended up with duplicates for Contracts and Contract lines.

I’m not entirely sure why this happens but its very annoying.

In the end I had to delete the maps which are held in here and will be held with the name of the organisation/company you are mapping

NAV

C:\Program Files (x86)\Microsoft Dynamics\Microsoft Dynamics Adapter\Adapters\Microsoft.Dynamics.Integration.Adapters.Nav2009\ObjectConfig

CRM

C:\Program Files (x86)\Microsoft Dynamics\Microsoft Dynamics Adapter\Adapters\Microsoft.Dynamics.Integration.Adapters.Crm2011\ObjectConfig

I then ran the config utilities again and the duplicates were removed.  I have no idea why this happens but it happens a lot and is quite annoying.

I then tried to map the Job planning lines and the contract lines now I had a one to one relationship.

I was getting this odd error

>Crm Exception: Message: ‘Contract’ entity doesn’t contain attribute with Name = ‘name’., ErrorCode: -2147217149

The reason I was getting this error is because I think the connector defaults it’s fetchXML to assume their is always a field called name.  Contract unlikely for me changed this to be title.

This just didn’t work and I could find any information on the subject until I finally found this forum

http://social.microsoft.com/Forums/en-US/crm/thread/6cf88569-3283-4902-b28b-f327ee1b27d6/

Some excellent person found a solution, I also got some help from Konstantin Levchenko who has an excellent CRM/NAV Connector blog, have a look http://nav-connector.com/

to get this to work I had to create a plugin which intercepts the fetchXML by catching RequestMultiples and then change the FetchXml to not use Name but to use DynamicsIntegrationKey and then it works.  This seems a crazy situation and why haven’t Microsoft written this as a plugin within instructions on how to do it.

       public void Execute(IServiceProvider serviceProvider)
        {
            // Obtain the execution context from the service provider.
            Microsoft.Xrm.Sdk.IPluginExecutionContext context = (Microsoft.Xrm.Sdk.IPluginExecutionContext)
                serviceProvider.GetService(typeof(Microsoft.Xrm.Sdk.IPluginExecutionContext));

           if (context.PrimaryEntityName.Contains("<prefixforCustomEntities>")) //Replace with your prefix
            {

                tracingService.Trace("in the if statement");
                if (context.InputParameters.Contains(("Query")))
                {

                    QueryExpression query = (QueryExpression)context.InputParameters["Query"]; ;
                    FilterExpression fexp = query.Criteria;
                    foreach (ConditionExpression condition in fexp.Conditions)
                    {
                        if (condition.AttributeName == "name")
                            condition.AttributeName = "dynamics_integrationkey";

                    }

                }
            }
        }

I also had another odd thing was the owninguser field had to be filled in and I had to put in a guid.
I had to go and look up the guid for my user
=CreateGuid(“16A37447-9242-E111-8094-00155D6A3700”)
I’m not sure why it makes me do this whilst other entities allow you to use a lookup.

CRM 2011 – Rollup 6 still causing some problems

I will admit I didn’t download the withdrawn rollup 6 but I do feel sorry for anyone who did and put it on their live system.

I was reading Jamie Miley’s blog and he had an interesting post on people still having problems with rollup 6.  The blog post is called

Update Rollup 6 Causing Some Access Denied Issues – IgnoreTokenCheck Ramifications?

I thought I would add a blog post linking to Jamie’s to share the solution with people.

if you are having access denied problems, the solutions are below

Example with workaround: http://social.microsoft.com/Forums/en/crmdevelopment/thread/57032ef6-c690-4ab2-a7e1-21f1081e5350?prof=required

It seems you can add a IgnoreTokenCheck registry to fix the issue as a workaround.

HKLM>Software>Microsoft>MSCRM>IgnoreTokenCheck (Dword)=1

 

Go and read Jamie’s blog, this one and comment on the forum posting for this problem.

 

CRM/NAV Connector – How to map a custom table not included in the standard maps

If you use the connector regularly you will eventually want to map a custom table which isn’t covered by the standard maps.  To do this in CRM side is easy, you run the configuration utility and add the new entity but to do this in NAV requires a bit more work.

The connector works (as I understand it) by publishing tables/pages using a web service which is used by the connector to pass information from and to NAV.

The connector catches these web service calls in the code unit 5150 – intergration management.  If you were to open this up you would see the tables used by the standard maps mentioned.

So I am going to run through the process of adding Job to the custom maps.

First I open NAV and the correct database and company.  Then

Tools –> Object Designer  –> Codeunit –> 5150 –> Design

The first function you need to change is called

EnableConnector

You can see from the screen shot below I have also added in Site Address but that was just because I needed to do that, it’s not related to adding the Job table.

You need to copy one of the lines above,  paste it into the list and then change the details so you are referencing the Job table e.g.

If you are not sure what to add and you are adding something other than a Job then the first value is the Form Name and the second value is the table name, so if you were adding Job Planning lines then it would be

  SetupWebServicePages(FORM::”Job Planning Lines”,DATABASE::”Job Planning Line”);

 

 

The next function you have to change is called SetupIntegrationTables, you will need to add a new line for each table.

You might wonder why Job is not in double quotes.  Double quotes are needed if the table name has a space in it, otherwise you can just put the table name in.

The next function we need to change is IsIntegrationRecord, you add a reference to the table you want to add.  This function basically tells the connector you want the table to be added to the connector.

Be careful about adding  a comma if the row isn’t the last value

You have finished with the code changes, close the codeunit and press yes to save and make sure the compiled checkbox is ticked.

You now need to refresh the integration webservices so your new table is added and you do this by unchecking and checking the Enable Connector checkbox which is held in Marketing Setup.

You access the Marketing Setup by going to

Administration –> Application Setup –> Sales & Marketing –> Marketing Setup

 

Untick the box, check the tickbox.  After a bit of time you should see a new integration Web Service added to the list.

You can check this by going to

Administration –> IT Administration –> General Setup –> Web Services

You can see that the page is published and the new Integration Job Card Web Service is running.

Don’t panic if the Job Web Service doesn’t appear, first I would give it a bit of time.  I would try a good old close the NAV client down and open it again (this doesn’t really do anything but it will keep you busy for 30 seconds).

Finally if you don’t see the Web Service go back and check the code changes you have made, look for spelling mistakes, putting in the form name instead of the table name, missing comma.  The problem is going to be a syntax problem.

The final part of the puzzle is too run the NAV configuration utility in the Connector and tick the new Job Card entity

So

Open the Connector for Microsoft Dynamics

Adapter Settings –> Configure Microsoft Dynamics NAV –> Next –> fill in login details –> select Company –> tick Job Card

I think you might want to just enable the Job Card or the custom entity of your choice only on a specific integration.

hopefully the walk through above should help people add custom entities

CRM/NAV Connector not working after Connector upgrade to V2

I was trying to set up a new connector configuration whilst updating an existing connector installation.

One of the things I haven’t worked out is to have the connector connecting multiple NAV databases that use different services.

When you setup the connector you can only point it at one service in the adapter settings, unfortunately I would like to link to multiple services but this would mean having lots of different connector installations.

So instead I was replacing one and I thought I would upgrade the connector whilst I was there.

After upgrading the connector, I then couldn’t connect to the integration services.  The first reason was I didn’t have the correct license, DOH.  The second reason was the code units hadn’t compiled?!

I was getting the error below along with quite a few other error messages

I’m not sure why but when I was connecting to the connector integration web services I was getting compiled errors.

I initially recompiled the codeunits but this didn’t resolve the problem, so I then googled the problem and found some instructions which didn’t just compile the code units but ALL. I found these instructions on information about upgrading instructions for NAV 2009 R2, so it might have been a problem with the database I was using but I thought it was R2 (but my knowledge of NAV is not extensive)

Install and Upgrade Instructions for Microsoft Dynamics NAV 2009 R2

Performing a Solution Upgrade

You perform the following steps to upgrade a solution from Microsoft Dynamics NAV 2009 SP1 to Microsoft Dynamics NAV 2009 R2:

  1. Back up your Microsoft Dynamics NAV 2009 SP1 database.
  2. Uninstall Microsoft Dynamics NAV 2009 SP1.When you uninstall Microsoft Dynamics NAV 2009 SP1, your database is not removed.
  3. Install Microsoft Dynamics NAV 2009 R2 components. For more information, see Install and Configure Microsoft Dynamics NAV 2009 SP1 in the MSDN Library.If you use SQL Server with Microsoft Dynamics NAV, then you must select SQL Server Database Components, which were removed when you uninstalled Microsoft Dynamics NAV 2009 SP1, and select the Demo Database subcomponent of the Database components as Not available. If you do not exclude the Demo Database subcomponent, then you may see the following error message:Fatal error during installation. A database with name Demo Database NAV (6-0) already exists.

    The message may also advise you to delete the database. If you see this error message, then you can ignore it.

  4. Open the Classic client, and then connect to your database.A dialog box opens and says that the database must be converted before you can use it with this version of Microsoft Dynamics NAV Classic. ClickOK to convert your database.
    Gg502497.Important(en-us,NAV.60).gifImportant
    If you have installed the Classic client and the database on the same computer and you are running Microsoft Dynamics NAV 2009 R2 on Windows 7, Windows Server 2008, or Windows Vista, then click Start, point to All Programs, click Microsoft Dynamics NAV 2009, and then right-click Microsoft Dynamics NAV 2009 with Microsoft SQL Server. On the shortcut menu, click Run as administrator.
  5. Recompile all objects in your database. To recompile the objects, in the Classic client, on the Tools menu, click Object Designer. Click All, press CTRL+A to select all objects, and then press F11.

After I did that then I could connect to the connector integration services without any problems and I was on to the next step of adding a non standard map.

Tips on how to become an MVP

When the quarterly list of MVP’s is released (new MVP awards and renewals) you might wonder how people are chosen to become an MVP.  One thing I would say is Microsoft give the award to people who deserve it, if you look at the list of MVP’s then you see that most of them have written books, have excellent blogs and contribute thousands of answers to the forums and wiki articles.

but for those of you out there who would like to become an MVP then I saw a couple of interesting articles which talked about it.  The first place to start is the MVP site itself and it’s advice on becoming an MVP

Becoming an MVP

The MVP Award recognizes exceptional technical community leaders from around the world who voluntarily share their deep, real-world knowledge about Microsoft technologies with others.
Potential MVPs are nominated by other technical community members, current and former MVPs, and Microsoft personnel who have noted their leadership and their willingness and ability to help others make the most of their Microsoft technology.

To receive the Microsoft MVP Award, MVP nominees undergo a rigorous review process. A panel that includes members of the MVP team and Microsoft product groups evaluates each nominee’s technical expertise and voluntary community contributions for the past 12 months. The panel considers the quality, quantity, and level of impact of the MVP nominee’s contributions. Active MVPs receive the same level of scrutiny as other new candidates each year.

MVPs are independent of Microsoft, with separate opinions and perspectives, and are able to represent the views of the community members with whom they engage every day.

Click here if you would like to nominate an outstanding community leader, or an exceptional contributor to the technical community, for consideration as an MVP.

one amusing thing I note from the snippet above is you can nominate yourself!  I can’t imagine many self nominated people getting the award.

How to become an MVP is probably a very popular question so someone (probably an MVP) has written an excellent Wiki article on the subject, you can read the whole article here, it also mentions how you can become an MCC (Microsoft Community Contributor) but I will just paste the part about becoming an MVP

MOST VALUABLE PROFESSIONALS (MVP)

Become an MVP: http://mvp.support.microsoft.com/gp/mvpbecoming  (if it doesn’t open, paste into a new tab or window)

Nominate an MVP: http://mvp.microsoft.com/en-us/nominate-an-mvp.aspx (if it doesn’t open, paste it into a new tab or window)

PROCESS: After reading the “become an MVP” page, you’ll see that the process is rigorous. “MVP nominees undergo a rigorous review process. A panel that includes members of the MVP team and Microsoft product groups evaluates each nominee’s technical expertise and voluntary community contributions for the past 12 months. The panel considers the quality, quantity, and level of impact of the MVP nominee’s contributions.” Essentially the panel evaluates the nominees and then bases their award on those evaluations in quality, quantity, and level of impact.

REWARD: The reward is a “set of small services and benefits”, which include (among other benefits) the award status in your TechNet/MSDN profile, a listing among the official Microsoft MVPs, and an MVP profile page. The MVP award ends after one year (and then a renewal assessment is triggered).Tips to becoming an MVP (based on the MVP site)

NOTE: These tips are not guaranteed to get you the MVP status, and not all these tips are required. However, if you work on them, you’ll likely become an MVP through the process.

1) Give quality assistance, advice, processes, scripts, and consultation. Test your own advice and ask first (don’t make assumptions that you’re answering questions when too little data is given). Experts in your area will be evaluating samples of your community work. You don’t want them to be evaluating the one communication issue you had or the one mistake you accidentally made (and thus thinking that you make mistakes or miscommunication a regular practice).

2) Give high-quantity contributions. Be active in your technology’s forums and on blogs. The TechNet and MSDN forums are being monitored by current MVPs and Microsoft personnel.

3) Become a Moderator on your technology’s forums (post quality and quantity answers and then approach and ask moderators and owners to be considered or nominated).  Or email me (edprice at Microsoft). Then make a case (given your Forum experience and abilities) to become a moderator. See How to Become an MSDN or TechNet Forum Moderator.

4) Share your knowledge in online community tools like blogs, Wiki articles, white papers, and Galleries (you can upload your white papers on TechNet Gallery  ). You must create your own unique content and help build the community around your content.

5) Speak at conferences, local groups, meetings, and user groups. Speak online in virtual events. Go show your expertise and teach large groups. These conferences and events are different for every product. Go find them. Here’s a testimony of one MVP who speaks at conferences  .

6) Write articles, guest blogs, or books. In addition to writing for your own Blog, Wiki, and Forums, become a guest blogger on other famous blogs. Research the online and print magazines for your technology and then submit articles to try to get published. Ask to complete technical reviews of books that are currently being written. Eventually submit pitches to book publishers as well and establish yourself as an accomplished author in your technology areas.

7) Become the leader. Instead of just plugging into conferences, events, local groups, and user groups, build them, organize them, and lead them. Bring the community off-line. Here’s the testimony of an MVP who started an off-line user group, which led to other great opportunities  .

8) Be consistent. This is a “marathon award”, and not a sprint award. Because an MVP award is evaluated based on the previous 12 months of contributions, you have to be active and consistent for over a year. If you’re three months in, then you have 9 more months to go before you can even be considered (you’re being evaluated with folks who have a full year of leadership contributions).

The tips above highlight why the MVP award is so prestigious, it’s based on contributions over 12 months, which is a long time.  The tips also highlight the number of different areas MVP’s contribute, which shows you the contribution they have to the community.

I also found this discussion on one of the forums about becoming an MVP.

The tips above were taken from conversations the author (s) had with people who had been awarded the MVP award.  There isn’t any magic formula or set criteria, so if you want to be nominated for an MVP award just get contributing.

Of course remember any comments I make on the subject are only me thinking out loud, I’m not an MVP so I would advise anyone who wants to become an MVP to get chatting with the MVP’s at convergence and ask the experts for tips.