Jun
21
Filed Under (Dynamics CRM) by Aneesha on 21-06-2008

The Dynamics CRM custom search which I maintain now includes 135 sites. This list will grow…..

(0) Comments    Read More   
Jun
21

All views and forms in Dynamics CRM are directly accessible via a url. I’ve usually had to click ctrl+N to view the url of a form opened in a window. Now I just fire up Fiddler, and refer to the log if I ever need to know the url of a form, a view or an icon. Fiddler does a great job of logging HTTP requests.

(0) Comments    Read More   
May
03
Filed Under (Dynamics CRM) by Aneesha on 03-05-2008

I just made a custom Google search for Dynamics CRM, with the hope to improve Dynamics CRM information sharing.

Please contribute sites to include in the search.

(0) Comments    Read More   

Usability is an important consideration in any CRM installation and customization project. A proven method to improve usability is to reduce the number of steps/clicks to get something done. Within Dynamics CRM 4, it takes 3 steps to add a New Case to a Contact, once the Contact has been located:

1. Double-click on a Contact listed in the Contact Grid View. The Contact will be displayed in a new window.

2. Click on Cases within the NavBar.

3. Click on the New Case button.

These steps can be reduced by including a New Case button on the Contact Entities Grid View toolbar. The New Case button simply needs to open a new window and pass the appropriate parameters to the Create Case form. An easy way to find the querystring parameters that need to be passed to the Create Case Form is to view the Browser Navigation Bar. Press Ctrl+N while the form is displayed, to view the url and the querystring parameters. You can also refer to the MSDN documentation on URL Addressable Forms and Views.

Here is the URL to create a new case for a Contact with a GUID of:

http://localhost:5555/MicrosoftCRM/cs/cases/edit.aspx?_CreateFromType=2&_CreateFromId=%7b1120590A-37D0-DC11-AA32-0003FF33509E%7d#

_CreateFromType is set to 2, because the Case is being attached to a Contact.

_CreateFromId is set to the GUID of the contact.

MicrosoftCRM is the name of the CRM instance if running multiple organizations.

The trick is going to be getting the GUID of Contact selected in the Grid. After some web searching I found a Javascript method that can be called to returned all an array of all selected items - getSelected(’crmGrid’). This is not a supported customization, but if it does not work in the next version of Dynamics CRM, the Button could be removed and users would return to using the 3 step method to add a Case to a Contact.

We really only want a single Contact selected when the New Case button is clicked. We use simple Javascript to check the length of the returned array and display appropriate alert messages:

selected_contact = getSelected('crmGrid');

if (selected_contact.length==0)

{alert('A Contact must be selected before a Case can be added.')}

else if (selected_contact.length==1)

{

window.open('/CRMInstancename/cs/cases/edit.aspx?_CreateFromType=2&_CreateFromId='+ selected_contact, 'CreateNewCase','top=100,left=175,width=800,height=600,menubar=no,resizable=yes')}
else
{

alert('A Case can\'t be added to multiple Contacts. Please select a single Contact.')

}

The entire Javascript code block will be compressed to a single line and passed to the Javascript element of a button.

Let’s move on to adding the button to the Contact Grid’s Toolbar. It is always a good idea to export the current ISV.Config file instead of using a stored version. New entities and extensions may have made changed to the ISV.Config - you don’t want to lose these. The button is added to the <Grid> tag for the Contact entity. Replace CRMInstance in the url with the name of your instance.

<ImportExportXml version=”4.0.0.0″ languagecode=”1033″ generatedBy=”OnPremise”>
<Entities>
</Entities>
<Roles>
</Roles>
<Workflows>
</Workflows>
<IsvConfig>
<configuration version=”3.0.0000.0″>
<Root>
<MenuBar>
</MenuBar>
</Root>
<Entities>
<Entity name=”contact”>
<MenuBar>
</MenuBar>
<Grid>
<MenuBar>
<Buttons>

<Button Client=”Web, Outlook” Icon=”/_imgs/ico_16_112.gif” PassParams=”1″ WinMode=”0″
JavaScript=”selected_contact= getSelected(’crmGrid’); if (selected_contact.length==0){alert(’A Contact must be selected before a Case can be added.’)} else if (selected_contact.length==1) {window.open(’/MicrosoftCRM/cs/cases/edit.aspx?_CreateFromType=2&_CreateFromId=%7b’+ selected_contact[0].substr(1,selected_contact[0].length-2) + ‘%7d#’, ‘CreateNewCase’,'top=100,left=175,width=800,height=600,menubar=no,resizable=yes’)} else {alert(’A Case can\’t be added to multiple Contacts. Please select a single Contact.’)};”
>
<Titles>
<Title LCID=”1033″ Text=”Add Case” />
</Titles>
<ToolTips>
<ToolTip LCID=”1033″ Text=”Add Case” />
</ToolTips>
</Button>
</Buttons>
</MenuBar>
</Grid>
</Entity>
</Entities>
</configuration>
</IsvConfig>
<EntityMaps />
<EntityRelationships />
<Languages>
<Language>1033</Language>
<Language>1036</Language>
<Language>1031</Language>
<Language>3082</Language>
</Languages>
</ImportExportXml>

We can now import the ISV.Config customization. Don’t forget to enable the ISV.Config changes

image

Click on Contacts, a New Case button will be displayed on the Grid Toolbar. Test the button by selecting no Contacts, a single Contact or multiple Contacts.

image

Download the ISV.Config file.

(1) Comment    Read More   

The ISV.Config file is an xml file that allows menu items, menus, toolbar buttons and navbar items to be added to your instance of Dynamics CRM. After a fresh install of Dynamics CRM or an upgrade, export the ISV.Config file and save it as a reference. You’d think that as the instance has not been customized, that the ISV.Config file would be blank but what you find instead are working examples of all interface extension points.

The default Dynamics CRM 4 ISV.Config file: ISV.Config

(1) Comment    Read More   

There are lots of tips on how to use JScript to customize Dynamics CRM at client-side runtime. Examples include removing the Sub-Account navbar or loading a form tab by default. While these customizations are not supported as the DOM is accessed directly, they are sometimes mandatory to meet client requirements. Finding the element id does not need to be a tedious task, thanks to the IE Developer Toolbar.

1. Press ctrl+N to open the current window and display the IE Menu.

2. Select View, Explorer Bar, IE Developer Toolbar from the menu. The IE Developer Toolbar will be displayed at the bottom of the window.

3. Click on the Inspect button. Hover the cursor over elements and then click to view the elements attributes.

image

I use Firefox and Firebug so much that I’d forgotten about the IE Developer Toolbar. Sadly, Dynamics CRM does not if open in Firefox. I am at least glad that I remembered about the IE Developer Toolbar.

(0) Comments    Read More   
Jan
22
Filed Under (Dynamics CRM) by Aneesha on 22-01-2008

I’m just getting into Microsoft Dynamics CRM and was looking for a way to run up the trial locally. Unfortunately I don’t have Windows 2003 or SQL Server 2005 licenses. Luckily I stumbled upon the Microsoft Dynamics CRM 3.0 Virtual PC Demonstration - August 2007 Release, which is just what I needed to play around with Dynamics CRM - Windows 2003, SQL Server 2005, Exchange Server, Visual Studio, etc. All I needed to run everything was to purchase a copy of Virtual PC 2007. So I go to lookup the price of Virtual PC 2007 and its actually free. Wow — so now I have a trial of Dynamics CRM 3.0 that I can play with at home until it expires. Now I only wish I could get a Virtual PC Demonstration of Dynamics CRM 4.0.

(0) Comments    Read More   

I have worked with learning applications and Learning Management Systems for the majority of my career. First I worked on an in-house LMS, called OLT that was developed, enhanced and maintained by QUT. It was a great experience - there is nothing like being able to access every bit of code and make the enhancements/customisations that your users require. When the transition was finally made to Blackboard, as a Developer I found it hard to work within its extension framework (Building blocks).  The mindset was different - you could plug in tools buts not interact with other tools. The only way to change terminology was via the language pack. Simple things like adding a field to a form were just not possible. My impression was that you had to adapt your institution to the LMS. …and this lead to me having a tainted view of commercial software and a general view that off-the-shelf can’t be customizable.

I have since moved on - still in edu land, but away from the LMS. I now have an opportunity to learn and implement Microsoft Dynamics CRM. I have spent the last few days reading and experimenting with the software. It has been a big eye opener for me. Dynamics CRM from the ground up has been built to be customised. The business world is not content to adapt their process to off-the-shelf software! I can’t help but think that learning management systems would be much more useful (educationally sound), if they allowed the 11 ways that Dynamics CRM can be customised. 11 is not enough, but its like 11 more than the LMS allows today!

…. and fingers crossed that Dynamics CRM will one day soon run in FireFox. So I guess thats 1 thing Dynamics CRM can learn from the LMS.

(0) Comments    Read More