Congratulations new and renewed MVP’s

The 1st July will bring forward some renewed CRM MVP’s and some new ones.  Tanguy has just tweeted he is an MVP for another year and I don’t think anyone can argue it’s not deserved.  Jason Lattimer has also been renewed.  For some reason Microsoft don’t release a blog post with all the MVP’s on, so you usually find out via tweets and blog posts.

If you want to learn more about the MVP program click here but basically it’s an award given to people who have made a great contribution to the CRM community.  This blog also has some information.  Jukka has also reached level 2.  Also Dave Berry and Gustaf Westerlund were MVP’s renewed.  Well done everyone.

The Hosk was nominated (which was great) but alas was not successful this time but as a consolation I should get my Microsoft Community Contributor badge (MCC) sometime soon, this is awarded every six months to the top 5 members who have the most verified answers (208 verified answers for the Hosk) on the Microsoft Dynamics forum. Learn more about the Microsoft Community Contributor badge program.  It has been a very useful way to learn using CRM 2013 and understanding some of the common problems people have been experiencing.  I highly recommend getting on the forum and answering a few questions and sharing your knowledge.

A benefit of answering questions on the forum is you will also learn from other peoples answers and there have been many times someone has come up with a solution to a problem I hadn’t considered but is really useful.  CRM MVP’s also answer forum questions and it’s a great way to benefit from their experience and knowledge on areas of CRM you haven’t had a lot of exposure to.

Today I was answering a question on this forum post about Workflows and child records and CRM MVP Scott answered provided a link to a CRM 2011 codeplex solution I had never heard of, awesome.

Why was the Hosk nominated

The main reason is someone nominated me but this was hopefully because I have been creating good CRM content and contributing to the Microsoft Dynamics CRM Community.  An MVP award is not something that can be forced, it’s a by product of creating great content.  I view it as being called up by the your country’s football team, you focus on having a great season and doing well for you club (The mighty Ipswich Town) and then if you do really well you might get called up for the national team, which in this case is team CRM MVP.

I was looking at some of the stuff I have done so far this year and with CRM 2013 really kicking off I have learnt loads this year and my view is you learn a lot by doing things in CRM 2013 and you get a deeper knowledge by explaining functionality to other people in blog posts and youtube videos.

Created the Hosk CRM Dev Youtube channel

Although the channel was created to help people learn CRM development, I have been blown off course a bit but there is still some great videos on creating plugins and other CRM 2013 development.  Below are the useful playlists

CRM Development Foundation (6 videos)

CRM 2013 Plugins (5 Videos)

CRM 2013 – Workflows and Dialogs (3 Videos)

CRM 2013 JavaScript (2 Videos)

Hosk Dev Tips (3 videos)

CRM 2013 Quick Tips (2 videos)

 

Created and still working on the Guide to help people pass the MB2-703 – CRM 2013 Customization and configuration certification (see all all the content below)

https://crmbusiness.wordpress.com/mb2-703-crm-2013-customization-and-configuration-certification/

 

Created the CRM MVP questionnaire and then emailed (numerous times) to the CRM MVP’s to beg for their participation, you can see all those Q&A’s on the link below

https://crmbusiness.wordpress.com/hosks-crm-mvp-qa/

 

Reviewed lots of CRM 2013 tools and created a useful list

https://crmbusiness.wordpress.com/hosks-microsoft-dynamic-crm-development/crm-2013-tools/

 

I also created my first tool on Codeplex – Hosk’s CRM 2013 Guid Getter

https://hoskscrm2013guidgetter.codeplex.com/

I had always wanted to create a tool to get the guid for records, so I’m glad I finally got round to creating it.  It was also interesting because it was the first time I had really used the CRM 2013 Ribbon workbench is a fantastic tool.

 

I’m not going to go through all the blog posts because there is too many.

I also tweet a lot of great CRM articles @BenHosk if are interested in, although the best articles are put into the my Friday Top picks blog post.

 

Keep on keeping on

So I will just have to get going and creating even better CRM 2013 content for the second half of the year and then hope that someone nominates me 🙂 , I will just place the link below to save you going to find it.  Of course only if you think the Hosk is worthy of a nomination.

https://mvp.microsoft.com/private/nomination/nominateanmvp

The good news for me they consider your contribution for a whole year, so I will be added to all the content I have created above and hope to make a more compelling argument for the award.  My plan is to keep getting nominated until they finally give in.

 Don’t forget CRM MVP Q&A

I would like to remind the new CRM MVP’s to please fill out my CRM MVP Q&A if you have time.  Luckily for me the newly created CRM MVP’s are often great at responding and answering the questions

 

Once again congratulations all the CRM MVP’s created and renewed today, I’m very glad you are creating lots of great stuff for the CRM community.

 

 

CRM 2013 – What happens when you delete a status reason currently in use

I had a task recently to reduce down the number of statuses on an entity, basically taking it down from 20 to 10.

As Adam pointed out in the comments, I am referring to Status Reason = statuscode.  For each Status you can have a number of Status Reasons e.g. Active status can have lots of status reasons such as New, Modified etc.

 

There isn’t any dependency checks in CRM, you can delete statuses even if there are records with that status.

 

The consultant was suggesting we deactivate the status reason, erm no, you can’t do this either.  You could change the status reason  to

DO NOT USE – Old Status

This is ok and offers you an easy way to move these options later and stopping (although not always) users from selecting the soon to be deleted status reasons.  Personally I don’t really like it because it looks messy and seems like it may lead to more problems later.

 

Mapping Statuses

If you are going to remove the status reasons then you need to map the old status reason to the new status reasons BEFORE you delete the status reasons.  if you don’t then the user will open up the record with the deleted status reason, it will try to look up the int for the status reason, can’t find and then show the default status reason for that status.

 

What happened was I forgot to map the status reasons across and then I ended up with lots of status reasons which no longer existed.  A curious thing happens, the int value is still held in the database.  When you open a record which has the old status reasons, on the onload of the form it will change to the default optionset status reason but this will only write back if you save the record.

So lets say I have four statuses

 

New

Waiting for user

User replied

Resolved

 

They get rid of one so we are left with three statuses

 

New

With User  (renamed Waiting for user)

Resolved

 

 

If you forgot to set the values of the old status reasons to new ones e.g. all the records with a user replied status reason and set it to With User then these records will have the int value for the previous optionset.

The renamed status reason is fine because the int value is the same, when you go to the forms you will see the renamed status reason

 

How to Fix it

To fix the problem, I did an SQL query on the database table holding the records.  I selected all the records and got the name and statuscode value and only for rows with the old optionset value.  I then did an advanced find in CRM and selected all the records which didn’t have a status reason for the three left.

I now had the records with dodgy status reasons.  I exported the list and ticked the re-import check-box.  I then sorted the rows so they were the same to make sure I had the right records.  I then updated the status reason with the correct option and re imported.

 

The morale of the story is be careful when you are deleting status reasons and make sure you have mapped them before you delete any statuses.