Monday, March 28, 2011

The Poll is Back. Vote Frequently, Vote Often and Vote For Me ;)

After going offline due to script abuse, the poll is back. Vote frequently, vote often and vote for me ;)


Sunday, March 20, 2011

Five-Minute Integration Between Dynamics CRM and LinkedIn

I recently had a client ask about integration between Dynamics CRM and LinkedIn. If you are not familiar with LinkedIn ( ) it is ‘Facebook for business contacts’. Digging around I found this excellent post by fellow CRM MVP and all-round decent bloke Matt Wittemann.

The problem was this post was almost three years old and designed for version 4.0. Would it work with CRM 2011? The great news is not only does it work for CRM 2011, it is so much easier than it was for CRM 4.0.

How To Set Up The Integration

The first thing you need to do is take Matt’s html code and save it to an html file (I just pasted it into Notepad and did a ‘Save As…’).

Now we go to CRM and go to Settings-Customizations-Customize The System-Web Resources and click the new button.


We give our web resource a name and specify the type as Web Page. Browse to the location where you saved your html file, select it and hit the save button.


Now go to the Lead entity forms area (Settings-Customizations-Customize The Solution-Entities-Lead-Forms) and add the web resource to the Main Form. to do this open up the Main Form and click the Insert tab then select Web Resource.


Save, Publish and you are done!

The end result should be a window on the Lead form which, when you change the Lead record’s company, adjusts the LinkedIn window to show you who you know that works there and a link to show everyone else that works there that you may have access to. You may see a warning message about mixed content. This is because in CRM Online we use a secure html connection (https) but the script is using plain old http. Hopefully someone more adept than me will read this blog and comment how to get rid of this minor inconvenience.


So there it is, no code, no messing about with ISV folders and a solution that works on premise or in the cloud (in this case I used the Lost In Redmond 30-day cloud trial system I had used in my previous blog post).

Wednesday, March 16, 2011

I Made The Nomination Cut! Now Its Time to Vote

Thank you for all of you that clicked the link and e-mailed. I made the nomination cut! Now its voting time. Here is the link.


Click on it, tick my name and click the vote button. Every time someone votes for me an angel gets its wings ;)

Tuesday, March 15, 2011

Interactive Fiction Games On The Ultimate Development Platform: Dynamics CRM 2011

OK so I may be exaggerating a little about Dynamics CRM being the ultimate development platform but for those that recall my ‘hangman’ blog:

I set a challenge for the readers to use dialogs to create an Infocom-like game (we used to call them ‘Adventure Games’ in the UK). Apparently the Wikipedia name for them is Interactive Fiction. For those too young to remember these gems, this was in the days when computers had a keyboard, no mouse and no graphics. The screen (possibly green or yellow) would describe your situation and you would type in commands. Occasionally you chanced across a command the computer understood and something happened. Part of the fun was discovering the criminally limited vocabulary of the game and the other part was trying to match wits the programmer and solve the game.

Classic titles include the Zork series, ‘The Hulk’, ‘Hitch-Hikers Guide to the Galaxy’, ‘The Hobbit’, ‘Lord of the Rings’ and the less serious ‘Bored of the Rings’.

The last generation of interactive fiction games were probably MUDs, the pre-cursor to MMORPGs.

Given the post was about five months ago I thought it was time to step up and do my homework.

The Result: An Interactive Fiction Game Using Dynamics CRM 2011 Dialogs


It really works. There are actions to perform (Goto, Get, Use, Help and Inventory) and a text box to apply the actions to e.g. Goto 33. As the protagonist you move around the Microsoft Campus at Redmond (well five buildings of it) trying to find a way back to civilisation (or, in this case, Seattle).

The Entity Structure

The game has two entities: players and locations. Locations are, as expected, the places you can go in the game.


Player records are the launch pad for the dialog (a dialog has to be run from a record) and stores the current location of the player and their inventory.


The rest is dialogs.

The Dialogs


Each action gets its own dialog (the main reason for this is to give the asynchronous update step a chance to update your player record while you read the text). “Lost in Redmond” is the beginning dialog that launches the game.


Similarly, “End Game” is the end.


The main ‘screen’ is “The Game”.


This displays the current location and requests the user enter an action and an object to apply it to. “Goto” applies to a building number, “Get” and “Use” apply to an physical object in the game and “Inventory” and “Help” do not use an object.

“Help” simply displays a text message on how the game works.


“Inventory” uses the values on the player record, constructs a text string, stores it in a variable on the dialog and then displays it.


This is one use for variables. They allow you to store values and manipulate them via the “Assign Value” step.

The input variables are exclusively for child dialogs. “Goto” uses the input variable to pass through the location object from “The Game” dialog.


“Get” and “Use” also use input variables to work out what they being applied to and what to do.



So When Will This Excellent Game Be Available On Marketplace?

While I have packaged the dialogs and entities into a solution, there is a shortcoming with solutions. This being you cannot add records to a solution so the location records cannot be added in and be auto-installed on applying the solution. I have thought of including an on-demand workflow which could be manually run to create the locations but then there is the complication of linking the new records to the dialogs. Perhaps solutions will be expanded in the future to allow for this functionality.

Until then, if anyone can think of a way to package in the location files, let me know and we will make a fortune packaging text-based adventures to bored CRM users.

Monday, March 14, 2011

Microsoft Dynamics Top 100 Most Influential Dynamics People

If you consider me influential (and let's face it if you're here there is a fair chance). Feel free to click this link to get me in the running for the top 100 ;)

Friday, March 11, 2011

Software Advice’s Interviews With Brad Wilson

Lauren Carlson of Software Advice e-mailed me regarding a set of seven videos they had put together with Brad Wilson. She asked if I would be interested in doing a write-up, so here it is.

Brad Wilson is the Microsoft’s GM for Dynamics CRM so understanding where his focus is, gives clues to the future of the product.

The seven, five-minute videos cover the following topics:

Now while the topics do sound juicy, do not expect any ground-breaking exclusive nuggets of gold from Brad. He is seasoned, media-trained and every answer will come back to the key messages that Microsoft want to push e.g. “it is about delivering value, not being the cheapest”. You are not going to hear hard numbers for any of the above topics.

This being said, Brad does give us the following:

  • His thoughts on how the CRM market has evolved over the last 15 years
  • Microsoft is bordering on obsessed to getting people using their products via the cloud
  • How the partner model is undergoing a revolution and where the new opportunities are (hint: partners need to deliver more value than pressing the ‘next’ button on a DVD install)
  • Brad tells us why Dynamics CRM is not sold in modules but as one big package

The interesting one for me is Microsoft’s focus on getting people to use the cloud. Selling upgrades for on premise software is often criticised as a way of gouging money for arguably little gain. Microsoft being a significant player in this game also receives this criticism. Going to the cloud completely changes this model with the income coming in the form of a monthly per-user fee. Software companies cannot, as some cynics suggest, boost the bottom line by releasing a new ‘version’ if they are in the cloud. The cost of upgrades is effectively built in to the monthly fee so this fee has to be right.

It is interesting times for Microsoft and, while Microsoft are quick to claim they have been providing cloud services for over ten years, there is a difference to providing cloud services and having them as a fundamental part of your revenue stream. Just as with the partners who sell Microsoft’s products, Microsoft is undergoing a revolution and the new opportunities lie very far away from familiar ground.