Tuesday, September 27, 2011

60k Page Views!

When I first started this blog, I really didn’t expect it to take me anywhere.  I just wanted a neat little place to post my code, a place that would follow me wherever I went and be a sounding board for whatever I thought (about CRM).

This evening, while following up on my social activities (forum contributions, blog reading, and that Twitter thing), I discovered that the ticker on my page-view counter rolled past 60 thousand.  A number I would never have expected.  This comes on the tail of passing my first Microsoft Certification Exam.  (I’m finally an MCP, too!)

Now, I’m not one to relish in popularity.  I’m a pretty shy and reserved person.  So, the only thing I hope to take from this statistic is that I have hopefully helped many Dynamics CRM implementers and developers who have come here looking for help (or free code *wink*).

If you have found value in this space, I’d love to hear about it.  That kind of thing is what encourages me to contribute—and with more frequency.

On a positive note, I may start posting more frequently in this space (and others) regarding some very exciting learning opportunities that are coming my way in the near future.  There will be unique challenges that I’ll get to address with CRM, and my company, JourneyTEAM, has given me motivation to contribute the value from my experiences with you, my audience.

So, thank you for your readership.  I hope I have given you useful and helpful information, and a better idea of how to squeeze great things from Dynamics CRM.

September 2011 Stats

Saturday, September 17, 2011

Review: CRM 2011 Administration Bible

Publisher: Wiley
Authors: Matt Wittemann, Geoff Ables
CRM Entropy Rating (in Baked Goods): 3.1415926535897

Matt, a fellow CRM MVP, sent me a copy of this book a long time ago, and I’ve pretty much only used it for reference material here and there until recently.  I’ve read a handful of CRM 4 books in my day, and found a great deal of helpful information from them.  The Microsoft Dynamics CRM 2011 Administration Bible marks my first in-depth read relating to CRM 2011.

The title of this book is both accurate and misleading—and I don’t mean from a theological standpoint.  (Though I imagine, given the apologist forewords by Matt and Geoff, the word “God” was uttered on multiple occasions with various modifiers during its authoring.)  This book is indeed a Bible in the sense that it combines a complete picture of CRM, from URL to SQL, from Form to Filter, and from Dialog to Migration.  It really has it all.

However, don’t let the word “Administration” throw you for a loop.  This book isn’t geared specifically for administrators of any kind, and it doesn’t just cover administration.  It’s so thoroughly educational on the core processes of CRM, I dare say that it is the first and last book you’ll need for Microsoft Dynamics CRM 2011 (see my “Bible” comment above).  Matt and Geoff take special care to make every reader an Administrator.  And that’s why the damn thing is so thick!  (Caution: Ordering more than 3 of these books at a time involves freight charges.*)

The machines with which this Bible was written have long surrendered their keyboards to a higher power.  The material is dense and enriching not only for newcomers to the CRM experience, but for those arriving to CRM 2011 looking for what changed from the previous version—like myself.  As with a religious text, you’ll find yourself engaged in the index or table of contents quite a bit, if you’re working with CRM already.  But, you will find value throughout the areas you don’t think you need to read.

This book will teach you all of the standard features that come with Dynamics CRM out-of-the-box, and then open your mind to the possibilities of custom enrichment.  It wouldn’t be a book to buy if you’re only investigating Dynamics CRM (though it wouldn’t hurt to read); but it is an essential part of any CRM implementation, and its material is useful to every deployment and use of CRM that I can think of.

So, from this digital pulpit, I preach from one Bible, and that is the Microsoft Dynamics CRM 2011 Administration Bible!  If you have Dynamics CRM, do yourself a favor and have this book, too.

* I’m kidding!  But really, you do get more words for your dollar… and the most helpful ones to boot!

Tuesday, September 13, 2011

CRM 2011 and WSDL

CRM 2011 makes a dramatic change with the WSDL implementation compared to CRM 4.0.  The biggest difference?  The WSDL file you download is not a full definition of the service (for either Discovery or Organization). 

Instead it’s a very small and self-conscious (“lightweight”) WSDL that points back to the same service (and host) with an import directive for the full WSDL.  What does this accomplish?  Well, WSDL-imports are supposed to allow a WSDL definition to be modular with reusable and multi-authored definitions.  We really don’t see that being applied in CRM’s case in any sensible fashion (like importing out-of-the-box entity/attribute definitions separately from custom ones, or importing WSDLs with Solution-based scopes).  All it seems to do is complicate the retrieval of information we need for our application.

So, if you prefer or require the late-bound Entity class, and you don’t have local access to a CRM system.  Having a “full” WSDL file could help when you want to avoid…

  1. …deployment of the CRM DLLs.  This may be important when single-assembly functionality is imperative and assembly dependency deployment is a serious headache, such as CLR operations from SQL for integration projects.  Or maybe the target system doesn’t use or support .Net.
  2. …the code-generation tool.  Let’s face it, the code-generation tool is nice for simple and quick developments, there’s no argument about the excellence of many of its Utility methods.  However, it produces a lot more code than many will ever use—artificially inflating the assembly size unnecessarily.  And the code it produces isn’t without its own bugs.  Sometimes keeping things simple is its own reward.

So, when you need to have the “full” WSDL file, for your services, use links formatted like so:

Discovery Service


Organization Service


Monday, September 12, 2011

DOM Events and CRM 2011

[UPDATED: 2013.04.11 I've learned a lot since this premature post, and have struck out all the incorrect information.]

Recently, another MVP asked in a private forum how one might connect to the “onclick” event of a CRM field.  With the new Xrm.Page namespace object model, it seemed that all references to the actual DOM element of the control were lost (or at least, very well hidden).  Well, I did some poking around, and I discovered two one things:
  1. Xrm.Page lives only within the scope of web-resources and their execution (wherever and however they are scripted to occur); this means that the old days of firing up the IE Developer Toolbar to hack CRM on-the-fly are gone.
  2. The DOM elements are buried in undocumented members of the control object (as opposed to the attribute object).  As a consequence, the following hack is unsupported, but also much easier to implement than the supported method of using a Web Resource to present your own custom controls that drive, in the background, CRM’s native controls.
So, here’s the method I found to achieve access to the DOM element control container, and how to assign a new “onclick” handler to it:
var controlname = "ownerid"; // The "Owner" field, as an example

function myFunction ()
alert("I have been clicked");

Xrm.Page.getControl(controlName)[“_control”][“_element”].attachEvent(‘onclick’, myFunction);

Wasn’t that easy?

Wednesday, September 7, 2011

Ask the MVP (CRMUG)

There’s an upcoming roundtable event, hosted by CRMUG, where many CRM MVPs have agreed to come together and address questions submitted to the “Ask the MVP” event site.  After the bulk of the event, I understand there will be time afterward for free-form, open floor discussion and Q&A.  However, if you want to make sure your question is asked, drop an email to Janet Lampert or Donna Edwards well in advance!  As with most CRMUG events, attendance is limited to CRMUG members—become a member today, and reap the benefits.

I’m personally excited to get involved in this event, since this is the second CRMUG event to which I’ve been invited to participate.  Hopefully, I am more useful to the discussion than a fly-on-the-wall.  Many long-time MVP greats will be coming to the table, and I’m honored to find myself among them.  We haven’t seen the question list yet, so I’m anxious to find out what you, the audience, want to know!