mattWhen it comes to deep solutions expertise in CRM, I’m your guy!

Located in Vancouver, Canada;  I am a CRM consultant specializing in in Microsoft Dynamics CRM, and related technologies. I am also the Vancouver chapter leader for the CRM User Group community.

I have 12 years management consulting experience across a variety of industries (including logistics, government, chemical distribution, media, finance, retail, telco and professional services). Of those 12 years, the past 8 years have been dedicated to CRM business solutions including Microsoft Dynamics CRM and I have a proven track record of selling, architecting and delivering complex projects and managing technical delivery.
I’m familiar with customizing, extending and integrating the following platforms:

  • Microsoft Dynamic CRM (xRM) versions 3.0 to 2016
  • Microsoft Excel
  • Business Intelligence

Available for adhoc support, development and project work. Contact me now!

Leave a comment

The Next Dynamics CRM User Experience: Orion

Convergence 2013 was recently held and we saw some great insights into what is coming in the next version of CRM (Orion). Jukka Niiranen has posted a very detailed look at what was shown at Convergence, check it out here.



Leave a comment

Adding a Profile Picture to a Contact Form – CRM 2011

I recently needed a good solution to add a picture to a CRM 2011 Online form and so I started searching around online for examples. There were not alot of clean and clear examples (or ones that didn’t involve the use of Silverlight!). I also wanted something that was Fetch based that I know would stand up against all these rollups coming down from Microsoft. It has always been reliable for me!

Below is a FetchXML version I created that works great and adds the picture to a Web Resource on the form; where the picture is stored as an associated Annotation. The only thing you need to do is name your Note “Profile Picture” when you go to attach your image. Where I reference ContactScriptLibrary I am calling the standard Fetch library that can found in the SDK .

I hope this helps someone else out there!

function setPictureUrl() {

// Contact ID
var entityId =;

if (entityId) {
// Build Fetch query to retrieve the attached image with name “Profile Picture”
var query = “<fetch mapping=’logical’ count=’1′ version=’1.0′>”;
query += “<entity name=’annotation’>”;
query += “<attribute name=’annotationid’ />”;
query += “<attribute name=’documentbody’ />”;
query += “<attribute name=’mimetype’ />”;
query += “<attribute name=’subject’ />”;
query += “<filter type=’and’>”;
query += “<condition attribute=’objectid’ operator=’eq’ value='” + entityId + “‘ />”;
query += “<condition attribute=’isdocument’ operator=’eq’ value=’1′ />”;
query += “<condition attribute=’subject’ operator=’eq’ value=’Profile Picture’ />”;
query += “</filter>”;
query += “</entity>”;
query += “</fetch>”;

var xmlDoc = ContactScriptLibrary.Fetch(query);
var docBodyNode = xmlDoc.getElementsByTagName(‘documentbody’);
var mimeTypeNode = xmlDoc.getElementsByTagName(‘mimetype’);

// Check attachment body is available
if (docBodyNode != undefined && docBodyNode.length == 1 && docBodyNode[0].childNodes.length == 1) {
var documentBody = docBodyNode[0].childNodes[0].nodeValue;
// Check Mime type
if (mimeTypeNode != undefined && mimeTypeNode.length == 1 && mimeTypeNode[0].childNodes.length == 1) {
var mimeType = mimeTypeNode[0].childNodes[0].nodeValue;

// Populate the image in the Form web resource.
if (documentBody != null && mimeType != null) {
var fileContents = “data:” + mimeType + “;base64,” + documentBody
var img = document.getElementById(“WebResource_ContactImage”);
img.src = fileContents;

, ,


CRM Web UI with iPad Simulator

I spotted this great write up this morning from Girish on a new iPad simulator. With the arrival of cross-browser support in the coming weeks, this is a great way to be able to develop, demo and test MSCRM on an iPad. Try the simulator now, it is available free for download here.

Leave a comment

Building Your Business Hub: Using the Power of Social for a More Productive Enterprise – CRM Connection – CRM Non-Technical Blogs – Microsoft Dynamics Community

Building Your Business Hub: Using the Power of Social for a More Productive Enterprise – CRM Connection – CRM Non-Technical Blogs – Microsoft Dynamics Community.

Major Service update released this morning! Especially love the cross- browser support being released Celendar year FY12!

Leave a comment

Re-Publish CRM Reports in SRS

Hi all,

Im back from my break and now 8 weeks into my new position as a CRM Manager with Deloitte Canada.

Today I came across some CRM 2011 challenges with Reports and having to re-publish my OOTB Reports to SRS.

This article is an ‘oldy’ but a goodie and still applies to CRM 2011. Use the application PublishReports.exe to re-post your Reports to Reporting Services Manager. See more here.

I hope to post more regularly as I learn more exciting tips and tricks with CRM 2011!




Leave a comment

CRM 2011: Plug-in Development so far…

Hello fellow CRM folks,

I apologise for my quietness these last few weeks, I have been heads down on a CRM 2011 upgrade and am now having to make some modifications to the plug-ins I built back in 2008 or so (CRM 4.0).

Interestingly I am finding the plug-in development to be fun, but challenging as I learn the new data types and tricks. The drivers license I had for CRM 4.0 certainly needs an upgrade as I come to terms with things like OptionSets now replacing picklists and Lookups becoming EntityReferences! I miss my named types!

On that topic I wanted to share a tidbit I found. Did you know the OptionSetValue type in CRM 2011 plug-ins does not return you the text value of the option?!?!? A tad frustrating that you can only return the ordinal, the rest is left up to a MetaData service query.

You can read more here on Ben Hosk’s blog.

I am expecting more quirks and tricks over the coming weeks as I get my head around the changes. I’ll try document as many as I can. Enjoy!

1 Comment