Expert Days 2009
The Expert Days event occurs once a year and is organized by E4D. It features a variety of workshops, lead by top industry experts. Each workshop spans a day and contains several lectures on the main subject.
In this year’s event I am leading 3 Microsoft Dynamics CRM workshops:
034. Microsoft Dynamics CRM 4.0 Workflow Essentials
Microsoft Dynamics CRM 4.0 enables the implementation of custom business logic without writing a single line of code. In this workshop we will explore the Workflow engine capabilities, events and actions which can be performed by it. Also, we will extend the Workflow engine capabilities with custom .NET code and Implement a full SLA supporting scenario. Target audience: Developers, System Analysts and Implementers
035. Reporting with Microsoft Dynamics CRM 4.0
Microsoft Dynamics CRM 4.0 comes with a variety of reporting tools, most of which do not require coding. In this workshop we will explore these capabilities: Advanced find and Views, Exporting data to Excel using Dynamic reports, Report wizard and more. During the workshop, we will use these capabilities to build an Excel based dashboard for the Service/Sales module. Target audience: System Analysts, Implementers, Consultants, Application owners
039. Accelerate Microsoft Dynamics CRM 4.0
Accelerators are free, open source third party solutions which add Microsoft Dynamics CRM 4.0 with an assortment of new capabilities in the Marketing, Sales and Service modules. In this workshop we will explore selected Accelerator solutions such as Notifications, Event management, eService and Extended Sales Forecasting. Target audience: System Analysts, Implementers, Consultants, Application owners
If any of these subjects interests you, go on and register here.
How to update a related record when the main record is updated using Workflow
In some scenarios it is required to automatically update a related record when the main record updates. For example, when an Account address is updated, all related Contact records address should update respectively.
This problem can be solved by writing a custom plug-in component but here is a another approach, based on a Workflow rule without any code writing:
1. Create a new workflow for the Contact entity
2. Set the workflow rule to fire when a record is created and also when the Address attribute is changed. If you want this rule to apply to existing records, check the On Demand checkbox. Later on, apply the rule to the relevant existing records.
3. Add a Wait Until step to wait till the Contact’s address is different from Parent Account address.
4. Add a Update record step for the Contact record and set the address to map to the Parent Account address
5. You are done. Save the rule and publish it. Test the rule by creating a new Contact and relating it to a Parent Account or by applying it to an existing Contact record. Change the Parent Account address and watch the rule advance. When it completes, open a related Contact record and make sure the address was updated according to the Parent Account.
Building the tower of Babylon – Importing CRM Organizations with different base Language
Consider the following scenario:
An organization has two different implementation of Microsoft Dynamics CRM 3.0 and plan to upgrade both to Microsoft Dynamics CRM 4.0 as two separate organizations in a multi-tenancy deployment.
Each Microsoft Dynamics CRM 3.0 implementation has a different base language, one has English and the other has Hebrew.
Is this feasible at all? Can a multi-tenancy deployment host two implementations with different base languages, upgraded from version 3.0?
I encountered a similar scenario lately and since I could not find a straight answer, I conducted a little experiment. It involved two major steps:
- Upgrade both implementations from version 3.0 to version 4.0. One implementation was upgraded using an Enterprise license (The English base language implementation)
- Using the Deployment Manager, import the The Hebrew base language implementation database into the The English base language implementation (Enterprise license).
Surprisingly, this works. A multi-tenancy deployment can host two upgraded implementations with different base languages. I assume it can support more than two different base languages, but it is up to you to experiment with such shenanigans.
E4D is looking for software developers
We are looking for .NET developers who expert in ASP.NET (at least 1 year of experience ) for various projects in Israel. Acquaintance with Microsoft Dynamics CRM is a major advantage.
So If you are looking for an interesting job and match this profile, send your CV to oranit@e4d.co.il today.
How to use the Data Enrichment (re-import) feature in Microsoft Dynamics CRM 4.0 (although officially, it doesn’t exist…)
The Data Enrichment feature allows updating existing data by exporting it from Microsoft Dynamics CRM 4.0 to Excel, modify it in externally and then re-import it, updating the existing records with the new data. This feature is very useful in scenarios where mass update is required for existing data or when you need an external party to add data to your existing CRM records.
Unfortunately, this useful feature was removed from the Microsoft Dynamics CRM 4.0 RTM version. I am not sure why, some claim it is potentially harmful and can make a mess of existing data.
The surprising news is that you can still use this non existing feature. How? Here is an example:
In this example scenario, I want to update all my contacts with new data: email address.
-
Select an existing view or edit a new view using the Advanced Find. Make sure the columns you want to add data to are included
- Export the view data using the ‘Export to dynamic worksheet’ option and save it.
- Open the exported file, select all records, go to the Format menu, select Column sub menu and then the Unhide option. A new column should appear, containing the records GUIDs.
- Rename the GUIDs Column to the name of the exported entity for example ‘Contact’. Move the column to the left of all other columns.
- Update the required data. In this example, the email data is added to the existing records.
- Save the Excel file as .csv file.
- Use the Import Wizard tool in Microsoft Dynamics CRM 4.0 to import the newly created .csv file. Select ‘none’ for Data Delimiter, ‘Comma (,)’ for field Delimiter.
- Click next and select the exported entity, ‘Contact’ in this example. You can see the ‘Enrich data by updating records rather than creating new records.’ option available and checked. Select a data map if required and click next
- Check the ‘Import duplicate records’ option and click next
- Complete the import process.
- Go to the workplace and open the data import section. Once the data import job is done, open the the job records and see which records were updated. Notice that existing records were updated, no new records were created.
- Finally, refresh the view you started with to see the updated data for the existing records.
Although the product Help file still regards this feature as available, I consider this an unsupported feature. Use the above method at your own risk.
Note: A record will not be updated if it has been changed in Microsoft Dynamics CRM 4.0 after it was exported.
Hi Squidward! Have you finished those errands?
In Microsoft Dynamics CRM 4.0, when a user assigns an Opportunity (or any other entity for that matter) to another user the ownership for the Opportunity automatically changes and map to the new owner.
The opportunity related activities however, do not change ownership and stay under the Opportunity previous owner. This situation can be inconvenient as the new Opportunity owner does not see these activities in his own activities lists and the previous Opportunity owner does. Now we all know he only reason he assigned this Opportunity to another user is to get rid of those tasks…
So, how can we help those two? Using the workflow engine we can.
The following Workflow rule demonstrates how to to just that. The rule is operating on the Task entity but can be applied to any other Activity or regarding entities such as Accounts, Contacts, etc. It waits until the Task owner is different from the regarding Opportunity owner (which happens when the regarding Opportunity is assigned to another user). When this event is raised, the rule assigns the related Task to the Opportunity new owner.

When I was a novice in the Microsoft Dynamics CRM world I didn’t think much about professional frontal courses as I felt they did not bring real life experience and there for didn’t give me useful tools.
Nowadays, as I am training CRM 4.0 courses I put much emphasis on actual implementation scenarios drawn from the various projects I was involved in. I also encourage my students to bring their clients or their own implementation issues to the discussion. This always makes the lecture come alive and the students fill they gain real knowledge and got good value for their money. That is what they came for.
The CRM 4.0 Customization & Configuration course is a mandatory course for CRM implementers on one hand and for CRM application managers at the customer end on the other. The course clarifies where the CRM 4.0 customization abilities end and where extension by development starts.
- As an implementer, it is crucial for you to understand the product’s features and abilities in order to suggest your customers with the best solution and to correctly evaluate the implementation efforts required on your behalf.
- As a customer, the ability to understand the features of the product you have purchased and to evaluate the solution your implementer suggests can help you reduce cost and tell a good implementation solution from a bad one.
I am instructing a new 3 days CRM 4.0 Customization & Configuration course starting next Tuesday (3.3.09), the course registration is still open. Can you afford not to be there?
I am often asked by my clients if Microsoft Dynamics CRM 4.0 can automatically schedule and perform a repeating task, such as sending an email notification to a Contact every year or adding a Note to a Contact record every day.
One trivial solution to this problem is developing a custom module that will be repeatedly launched by Windows Scheduled Tasks feature or Windows Service and perform the required task.
Another solution, one that does not require writing code, can be implemented using the Work Flow engine.
Let’s take, for example, a scenario in which we would like to automatically send ‘Happy Anniversary’ email greeting to our Contacts on their Anniversary day.
The following 8 steps describe how to set up the required work flow rule:
1. Create a new blank work flow rule for the Contact entity

2. Set the rule to be triggered by both the record Creation and Attribute change events. Set the scope to user, at least until you have tested the rule.
3. Select the Anniversary attribute to trigger the record attribute change event
4. Add a Wait condition to wait until the Contact’s next Anniversary date
5. Add a ‘Send E-mail’ step, set the required email template (assuming you have one) and email details
6. Add an ‘Update Record’ step and set it to update the Contact’s anniversary date to next year Anniversary date
7. By the end, your work flow rule should look something like this:
8. Publish the work flow rule
9. Test the rule by creating a new pseudo Contact with a future date (e.g. tomorrow) as anniversary date and your email address. If all went well, you should be able to see a new rule instance waiting in the Contact’s workflows grid.
Past the target date, verify that the workflow rule has advanced and that you have received the greeting email. Also make sure the Contact’s Anniversary date has been updated to next year anniversary date.
I have been using the term Vanilla for quite some time now to describe Microsoft Dynamics CRM application when referring to the state in which it comes right out of the box. What I meant to say was “Plain and without any extras or adornments”.
But why Vanilla?
Only recently I have discovered the origin of this term in the ice cream flavors analogy crudely illustrated here:

I love this analogy. When I train groups of students in Microsoft Dynamics CRM, this never fails to get full attention from even the sleepiest student.
So what does this analogy really mean? It means I am but an ice cream vendor. Would you like sprinkles on it?
Here it is, my first blog post.
Although a professional blog regarding my work as Microsoft Dynamics CRM professional, implementation problems and solutions, I probably won’t resist the temptation to babble about more important stuff like Spongebob Squarepants, philosophy, and various nonsense.
Ciao world, have a great weekend.
