Extending a lookup control for people that have been working with CRM sometimes looks like a nightmare, and why?
The reason for this is related with upgrades, I remember for instance that form CRM 3.0 to CRM 4.0, the way our development team was using this functionality on upgrading it would break the custom filtering.
Usually everything gets clear to me when i think on the word "Upgrade", if i think:
Ok, i can do this in 2 hours instead of spending 8 hours, however, in the future i will be in trouble because it can break, i prefer to be honest to the customer and say what i think is the best in here.
Sometimes, the last sentence in CRM is more clear for people with years of experience in the product, because we got already so many hours trying to fix things that were Out of The Box that from one minute to the other with no reason just stop to work.
In here i will spend few more hours because it is my work that’s on the spotlight.
Now everything is much better in terms of the framework provided from Microsoft to customize the forms, it is possible using that framework to control almost every type of control (field, web resource, grid,..) that is indeed a big help for us developers.
I will leave in here the word Encapsulation, in few words is: "Packing of data and functions into a single component.", and why? Because if instead of doing methods without thinking of reusing them, is already as headache, if something breaks and you have to fix in every single location you are using that piece of code, so, every time i need to do something i think, am i seeing to use this in more than one place? If yes, ok, lets create a function in a common file.
With this approach, if something needs to be changed in that functionality, you need only to change in one place.
Hope you like, and comments are more than welcome.