CRM Blog

May 2007 - Posts

Proactive Microsoft CRM server monitoring
by Bryan Van Antwerp 05.31.07

Comments    No Comments

Crowe Chizek and Company LLC

May 31st 2007

Summary: John O'Donnell talks about a new Microsoft CRM download and how it can help you fix Microsoft CRM problems before your users notice.

A few days ago Microsoft released a new download for Microsoft Operations Manager 2005 and Microsoft CRM 3.0. This download or Management Pack lets you automatically monitor your Microsoft CRM Servers and also get notified if anything bad happens to them such as a Microsoft CRM Service failing. Microsoft CRM has had a Management Pack available from a Swiss consulting firm for a few years but finally now Microsoft is releasing their own.

As users get more comfortable with using Microsoft CRM they will of course come to depend in the system and therefore any tool that can help you, as the Microsoft CRM Administrator fix problems quickly is a good thing. Microsoft Operations Manager can be used to monitor many of your critical servers and can also email you when a problem occurs. For instance if you were monitoring both your CRM Web Server and also DNS servers you might get an email alert telling you your Microsoft CRM server is having issues. Behind the scenes users are unable to connect to CRM. However you then also get an alert to say there is a problem with DNS. Of course if DNS down then that is probably the reason Microsoft CRM is having issues. With this type of tool you could connect remotely to the network and fix these problems before your inbox gets filled by users complaining they cannot connect to Microsoft CRM.

Without a tool like Microsoft Operations Manager you would thank your users for telling you about the problem and say we will look into it. Now with MOM and the Microsoft CRM Management Pack you will be able to notify your users in advance and also tell them when you can be expected to have a fix.

You can find the Microsoft CRM 3.0 MOM 2005 Management Pack at this URL –

Microsoft CRM 3.0 MOM 2005 Management Pack

Here is the link to the Microsoft Operations Manager product page –

http://www.microsoft.com/mom/default.mspx 

Filed under:
Adding a secondary lookup to a Microsoft CRM Form
by Darren Liu 05.24.07

Comments    No Comments

Darren Liu

Crowe Chizek and Company LLC

May 24th 2007

http://www.crowecrm.com

Summary: Darren Liu shows how to add secondary lookup's to Microsoft CRM forms.

There have been many people in the Microsoft CRM Community asking how to add a secondary lookup to the Account and Contact form. Due to an inherent limitation in Microsoft CRM 3.0, we are not able to create another relationship between an account or contact entity.

To add another lookup, we need to use JavaScript to inject some code into the CRM form. The way that I am showing here will not create a relationship between the entities. Instead, it will store the Name and the GUID with the record. I used JavaScript to add a lookup field to the form. In this sample, I will add a secondary contact lookup to an Account.

Pros: You will able to create the lookup field and also able to use the CRM lookup box. You can create as many as you want.

Cons: If the name changed for the contact, it will not update the name that is stored in the account entity. If you want to update the name, you need to write a post-callout to update the name in the account record.

Here are the steps to create a secondary lookup:

Step 1: Create two custom attributes in the Account Entity.

If you have set a different prefix for custom attributes you will have to modify the code. In the example code below our prefix in the Microsoft CRM system is new.

Display Name: Secondary Contact

Schema Name: new_secondarycontactname

Type: String

Description: Stores the Contact name

Display Name: Secondary Contact Value

Schema Name: new_secondarycontactvalue

Type: String

Description: Stores the GUID for the Contact

Step 2: Add two newly created attributes to the account form.

Hide the label for "Secondary Contact Value" field. We will use JavaScript to hide the "Secondary Contact Value" field later.

Step 3: Insert the following code to the Account form onLoad event.

The code below will replace the Secondary Contact text field with a Lookup box.

crmForm.all.new_secondarycontactvalue.style.visibility="hidden";

customSecondaryLookup("new_secondarycontactname"); } catch(e)

{

alert(e.description); } }}

function customSecondaryLookup(displayFieldName)

{ {

Try

{

var fld = crmForm.elements[displayFieldName];

var temp = fld.value;

if (temp.length == 0)

{

fld.insertAdjacentHTML("afterEnd","<table class='lu' cellpadding='0' cellspacing='0' width='100%' style='table-layout:fixed;'><tr><td><div class='lu'>&nbsp;</div></td><td width='25' style='text-align: right;'><img src='/_imgs/btn_off_lookup.gif' id='" + displayFieldName + "' class='lu' lookuptypes='2' lookuptypenames='contact:2' lookuptypeIcons='/_imgs/ico_16_2.gif' lookupclass='BasicCustomer' lookupbrowse='0' lookupstyle='single' defaulttype='0' req='0'></td></tr></table>");

}

else

{

fld.insertAdjacentHTML("afterEnd","<table class='lu' cellpadding='0' cellspacing='0' width='100%' style='table-layout:fixed;'><tr><td><div class='lu'><span class='lui' onclick='openlui()' oid='" + temp + "' otype='2' otypename='contact'><img class='lui' src='/_imgs/ico_16_2.gif'>" + crmForm.all.new_secondarycontactvalue.value +"</span></div></td><td width='25' style='text-align: right;'><img src='/_imgs/btn_off_lookup.gif' id='"+ displayFieldName +"' class='lu' lookuptypes='2' lookuptypenames='contact:2' lookuptypeIcons='/_imgs/ico_16_2.gif' lookupclass='BasicCustomer' lookupbrowse='0' lookupstyle='single' defaulttype='0' req='0'></td></tr></table>");

}

fld.parentNode.removeChild(fld);

fld = crmForm.elements[displayFieldName];

fld.value = temp;

Step 4: Insert the following code to the Account form onSave event.

The code below will strip out the GUID for the Contact from the return lookup HTML and save it to the Secondary Lookup Value field.

var S_CONTACT_NAME = crmForm.all.new_secondarycontactname
.parentElement.parentElement.firstChild.innerText; crmForm.all.new_secondarycontactvalue.value = S_CONTACT_NAME;

Step 5: Save the Account Form.

Step 6: Publish the Account Form.

Conclusions

As you can see from the screen below we are now able to add and use secondary lookups. Note that this type of modification is not supported by Microsoft therefore be sure to take appropriate care before using this type of customizatfr.

Secondarylookup

Darren Liu is a Microsoft CRM Specialist with Crowe Chizek and specializes in software development and data integration using tools such as .NET and BizTalk.

Filed under:
Welcome to a new blog about CRM
by Bryan Van Antwerp 05.24.07

Comments    No Comments

Crowe Chizek & Company LLC

http://www.crowecrm.com

May 24th 2007

As I write this in sunny Chicago I am reminded that any blog is only as successful as its audience or readership, therefore please feel free to post feedback about anything we post. If there is an area about CRM you would like to see discussed let us know and maybe one of our bloggers can post an article about it.

We will be aiming to be just a little different with this blog. We will cover everything around CRM technology with a focus on Microsoft CRM but more importantly we will also be covering the CRM business and processes around it. CRM, when implemented correctly can be a great asset to an organization and in contrast when implemented badly can simply become an expensive and underutilized contact management system.

Keep reading the blog as we go beyond the technology and discuss what it takes to implement a successful CRM solution.

Thanks for stopping by and don't forget to subscribe.

The Crowe CRM team

Filed under:
Integrating Microsoft CRM with your HR processes
by Bryan Van Antwerp 05.24.07

Comments    No Comments
May 24th 2007

http://www.crowecrm.com

Summary: John O'Donnell talks about why you need to ensure all departments such as human resources at your client should be aware of the pending Microsoft CRM deployment just in case they too are impacted.

In reviewing various Microsoft CRM newsgroups there are still far too many cases where people ask what should be a simple question. Our star salesman has just left the company, what do we do with his data in Microsoft CRM? A related question is that we can no longer transfer a user's data that has left our company. This happens after IT operations have deleted the user from the Active Directory.

This shows that it is common for one aspect of a Microsoft CRM implementation to be ignored and that is its impact to areas such as HR or Human Resources department in any company. When an employee decides to terminate his employment there are a set of either automatic or manual processes that are triggered such as disabling an employee's login, removing him from payroll and finally either disabling his account in the Active Directory or deleting it to stop the ex employee logging into the company network. Companies vary in size and complexity therefore the number of processes that happen when an employee joins or leaves a company can be either very simple with some manual steps or highly complex with many automatic processes being launched to add the new employee to various systems, send out welcome emails and many more.

As part of the process of designing and implementing a CRM system one aspect that can sometimes be overlooked is communicating with HR to determine how CRM should fit into the overall process for adding and removing employees.

A sample process for an employee leaving the company might be this, assuming HR does not know about the recently implemented CRM system.

•    Employee is removed from email distribution lists

•    Employee email is shut down

•    Final comments are added to employee record in the HR system

•    Employee is marked in the accounting and HR systems as no longer employed

•    Employee's final check and termination letter are sent out

•    Employee's network logon or AD account is either disabled or deleted.

If this user was a CRM user and IT had deleted their AD / network account then at this point their data in Microsoft CRM has been orphaned and also their CRM user license has been lost. So if you had a 100 user license before, now you have a count of 99. While Microsoft support can help you get around this issue, the better solution is to avoid the problem in the first place and ensure that Microsoft CRM is part of the HR process for when an employee leaves the company.

A possible process with CRM included would now look like this.

•    Employee is removed from email distribution lists

•    Employee email is shut down

•    Final comments are added to employee record in the HR system

•    Employee is marked in the accounting and HR systems as no longer employed

•    A check is performed to see if an employee was a user of Microsoft CRM

•    If yes, then the user's data should be transferred to another CRM user, their manager or the CRM administrator for safe keeping until a decision can be made on who gets the CRM data.

•    When the user's data has been transferred to another user, their Microsoft CRM user account can be disabled and their Microsoft CRM user license released.

•    Employee's final check and termination letter are sent out

•    Employee's network logon or AD account is either disabled or deleted.

At this point the user has been disabled in Microsoft CRM and their data has been transferred to another user.

The whole process of removing someone from Microsoft CRM is a simple one however the process needs to start and end with your HR department.

How to reassign a Microsoft CRM user's data and disable a user.

To re-assign a user records simply open up the users record in Microsoft CRM then click Actions – Reassign Records and choose the user to assign the records to.

To disable a user open up their Microsoft CRM user record and click Actions – Disable and confirm you want to disable their record. After doing this the user will not be able to connect to Microsoft CRM and their user license will go back to the license pool.

Screenshot_2

Comments

Microsoft does not yet supply command line tools that can add and remove users from a Microsoft CRM system. If your companies IT uses heavily automated processes for handling HR procedures then you may want to consider using the Microsoft CRM SDK to build a set of command line tools that can perform general CRM administration tasks without having to log on and use the web interface of Microsoft CRM.

Summary

The impact to your company's existing processes and systems will increase as Microsoft CRM becomes more widely used in your organization.

As part of your Microsoft CRM deployment make sure that you do your research and totally understand any and all departments that your CRM system will impact beyond the usual sales and client services departments. In this article we have talked about the impact to HR when Microsoft CRM is deployed but there could be many other systems that are impacted but are not found until your system goes live.

Filed under: