While fiddling with the workflows in a freshly minted CRM Online organization trying to find out what else we can do now that we couldn’t do before (like OR condition, this sort of stuff), I came across of this new, interesting and very much undocumented field called Traversed Path: After playing with it for X […]
Tip #288: Remove event handlers Texas style
Today’s developer productivity tip comes from Mitch “Texas Baby Oil” Milam. The fastest way to remove all of the Event Handlers from a form is to remove the JavaScript Library or Libraries associated with the form. Removing the library will also remove any event handlers (OnLoad, OnSave, OnChange, etc.) that have been associated with that […]
Tip #263: Avoid unnecessary plugin execution
Inspired by our rather radical approach to enforcing development discipline, Andre “I’ve got 88 in my handle” Margono decided to pick on another sinful habit in development, this time within plugin development. Corporal punishment triggering behavior this time is to select all attributes as filtering attributes for Update message. Unfortunately, plugin registration tool that comes […]
Tip #230: Ban the browse button
I like German words. Take, for example, Spießrutenlaufen. If you like me, and don’t speak a word of German, you know, just by looking, that the word means business, the word means corporal punishment. I often wonder if ignorance of the developers can be cured by introduction of Spießrutenlaufen for coders. Function is longer than […]
Tip #219: You want the top one
One of the challenges of creating reports is the lack of real data in development environment. There is not enough Nancies Davolios to simulate real volumes. For that reason alone production organization is often replicated “back” to test and development environments. Reports suddenly come to life and designers can see 7-figures opportunities and otherwise empty […]
Tip #217: Bad Id, bad
Following my anal retentive attention to the tightness of LINQ code and SQL it generates, I decided to refactor an old piece of code that extracted identifiers of the accounts matching certain criteria. Being very smug with all the newly acquired knowledge, I quickly produced an equivalent of: To my horror, this code generated an […]
Tip #215: Computer says ‘no’
Well, this is embarrassing. Remember that flogging I unleashed on unscrupulous developers being disrespectful to LINQ, performance and humanity in general? I was basking in my own cleverness of possessing the knowledge of LINQ operators including magic Any: Yesterday I had a chance to use what I preached and this is what I got in […]
Tip #212: Getting a yes or no answer in LINQ
Say, you need to find out if your organization has any opportunities with the estimated value of more than a million dollars (that’s right, that’s how developers usually roll). No need to retrieve anything, just simple yes or no. There are many ways to accomplish the task, most of them, sadly, are as efficient as […]
Tip #209: Who’s your sister?
When it comes to the coding, not always but often, less means better, faster and more manageable code. I’ve recently come across of someone else’s (could it have been me 4 years ago?) piece of work updating bulk email setting for the contact: Sigh. The “all columns” sin aside, the retrieve is absolutely unnecessary. You […]
Tip #203: Geek Stuff New Features Spring ’14
If you are a coder or a wanna be Dynamics CRM Coder today’s videos for Dynamics CRM 2013 Spring ’14 release are for you. Its all code from here down. Configuration Migration Package Deployer Plugin Registration Tool Solutions Versions