Some bright folks in New Zealand, Magnetism Software Solutions, have created a tool to help mock up and specify custom forms in Microsoft Dynamics CRM. The tool, called mSketch, plugs right into Microsoft Expression Blend, so if you’re comfortable working with SketchFlow (a component of Blend), you should feel at home with mSketch right away.
Today I’m going to be building a form for a hypothetical “Patient” entity. This entity is similar to a Contact in standard CRM, so I’ll start from the Contact entity and customize it to something more appropriate for a medical records tracking application. First, I’ll change every instance of the word “Contact” to “Patient”, and then I’ll edit the tabs and fields on the form to better reflect patient data. Finally, I’ll change the relationships and the Ribbon items as well.
Working through the Getting Started guidance, I encounter some trouble. I get an error in step 7 (which the documentation calls out as a possibility), but the provided workaround does not fix the issue. I report the error to Magnetism and unblock myself by copying the entire solution package and starting from there. Hopefully Magnetism will address this in a future version of the tool, possibly by turning their copy-and-paste template into an actual Blend project type. In any event, the following screenshot shows a partial view of what appears in Blend.
Changing the words is easy; everything on the mSketch form (really, the SketchFlow form) is truly a text box. I edit some text labels by using the Design view and others by using the XAML view. I also change “Parent Customer” to read “Parent Patient or Family” – the idea being that an Account probably would be customized to represent an entire family’s relationship to a medical practice.
At this point I hit F5 to run the project, just to see how it would look. Wow, even the scrollbars and dropdowns work! It looks exactly like a sketched version of the real CRM form. Compare the above picture to the actual screenshot of CRM below. Magnetism has laid out each field, navigation element, label, and Ribbon section to match CRM’s out-of-the-box view (though you may spot some minor differences related to changes we’ve made in the near-final version of CRM).
When I drop back into Blend, though, moving the scrollbar just moves it around the page. Clearly, I am new to Blend. After a few minutes of digging around in the Blend UI and in Magnetism’s documentation, I’m still not clear about how to scroll the rest of the form into view. While this reflects my lack of Blend knowledge more than any gap in mSketch, it’s a bit frustrating. In the interest of finishing my mini-project, I decide to skip this and move on.
Next up, the relationships. I change the Sales area to “Health”, using labels such as Checkups, Prescriptions, and Procedures. I don’t bother changing the icons, though it looks easy enough. The Service area becomes “Financial”, which includes labels such as Insurance and Bills. Finally, I make one small change to Ribbon, removing the “Add to Marketing List” button and replacing it with “Schedule Followup”. Seems like a common-enough thing for a doctor’s office to do, don’t you think? My results are shown below.
All in all, the work Magnetism has done with mSketch is remarkable, and the tool should help increase communication and decrease frustration between system customizers and their customers. While I did meet with some frustration as a result of my lack of SketchFlow/Blend knowledge and Magnetism has a bug fix or two to make, I would highly recommend giving this package a try. You can reach out to Magnetism for more information by filling out the “Make an Enquiry” form at the bottom of the mSketch homepage.
Thanks to my reviewers (Michael, Jim, and Shamiq). Also, a disclosure: Magnetism Software Solutions provided me with a copy of mSketch to review and use for internal CRM projects.