Thursday
25Jun

Dynamics CRM News

Latest Dynamics CRM news from the grapevine:

Dynamics CRM Mobile Express will hit general availability on the 10th July!

Microsoft will release the Dynamics CRMBizTalk 2009 adapter in September

We wont be seeing Dynamics CRM V5.0 until at least September 2010

There'll be a new Statement of Direction document released at the end of July

Finally, a new “Web Portal” accelerator is being developed to combine the functionality of the eService and Event Management accelerators! New features will include the ability to publish any entity (including custom) to the web.

 

Friday
01May

Dynamics CRM VPC Internet

I spent ages trying to work out why the latest Dynamics CRM VPC couldn't piggy-back off my network adapter for internet access.

You need to remove the "Default Gateway" address in the first network adapter, otherwise traffic will go nowhere!

Sunday
19Apr

Magic Quadrant April 2009

The latest Garnet Magic Quadrant for CRM Customer Service Contact Centres can be found here:

http://mediaproducts.gartner.com/reprints/microsoft/vol9/article3/article3.html

Saturday
18Apr

New Microsoft Dynamics CRM 4.0 VPC

Microsoft have released the 2009 edition of the Microsoft Dynamics CRM 4.0 Virtual PC...

It includes the following components:

  • Microsoft Dynamics CRM 4.0 Professional Edition and Microsoft Dynamics CRM 4.0 Enterprise Edition
  • Microsoft Dynamics CRM 4.0 Connector for SQL Server Reporting services
  • Microsoft Dynamics CRM Data Migration Manager for Microsoft Dynamics CRM 4.0
  • Microsoft Dynamics CRM 4.0 E-mail Router and Rule Development Wizard
  • Microsoft Dynamics CRM 4.0 for Microsoft Office Outlook
  • Microsoft Dynamics CRM 4.0 Rollup
  • Microsoft Dynamics CRM 4.0 Update Rollup 1
  • Microsoft Dynamics CRM 4.0 List Web Part
  • Accelerators for Microsoft Dynamics CRM 4.0
  • (Event Management Accelerator)
  • (Extended Sales Forecasting Accelerator)
  • Microsoft SQL Server 2008 Data Mining Add-Ins for Office 2007
  • Microsoft Windows Internet Explorer 8 for Microsoft Windows XP, Windows Vista, Windows Server 2003, and Windows Server 2008
  • Microsoft Office Communications Server 2007
  • Microsoft Office Communicator 2007 R2
  • 2007 Microsoft Office System Server Software
  • 2007 Microsoft Office System Desktop Application Software (Ultimate Edition)
  • SQL Server Native Client for Microsoft SQL Server
  • SQL Server 2005 Analysis Services 9.0 OLE DB Provider for Microsoft SQL Server
  • Microsoft ADOMD.NET
  • Microsoft SQL Server 2008 Enterprise Edition
  • SQL Server 2005 Management Objects Collection for Microsoft SQL Server
  • Microsoft Visual Studio 2008 Professional Edition and Trial Edition
  • Microsoft Activesync 4.5
  • Windows Mobile 6 Standard SDK Refresh
  • Windows Mobile 6 Professional SDK Refresh
  • Microsoft Office PerformancePoint Server 2007
  • (PerformancePoint Server Monitoring Server)
  • (PerformancePoint Server Planning Business Modeler)
  • (PerformancePoint Server Planning Server)
  • Microsoft Office PerformancePoint Server 2007 SP2
  • PerformancePoint Server Excel Add-In
  • PerformancePoint Server SP2 Excel Add-In
  • PerformancePoint Server SP2 Planning Server
  • PerformancePoint Server SP2 Monitoring Server
  • Microsoft Windows Server 2003 R2 Standard Edition, Enterprise Edition, Standard x64 Edition, Enterprise x64 Edition with Service Pack 2
  • Microsoft SQL Server Native Client for Microsoft SQL Server
  • Microsoft SQL Server 2005 Analysis Services 9.0 OLE DB Provider for Microsoft SQL Server
  • MICROSOFT SQL Server 2008 Enterprise Edition
  • Sysinternals BgInfo v4.14

Click here to download from PartnerSource!

Thursday
16Apr

Microsoft Dynamics CRM vs Salesforce - UPDATE

From PGreenblog

Also, check out my previous blog post on Salesforce.com's customisation tools for a heads up on how close the competition will be.

If I were a gambling man, I'd put my money on SFDC...

Roll on Dynamics CRM 5.0

 

Status of the Microsoft-Salesforce Shootout

I figured it was time to let you know where the MSFT-SFDC configuration Shootout stood since it seems to have disappeared. Seems to have might be the operant term here. Its alive and well. And proceeding.

For those of you who don't remember, about a year ago, I was upset with Steve Ballmer's declaration about the badness and "non-existence" of salesforce.com's configuration tools and the goodness of the MSFT CRM configuration tools so I put it to the test. Microsoft and salesforce.com agreed to a configuration shootout with each of them providing a team who would build certain processes and tasks and an independent panel of judges would decide which one did it better.

The results would be announced. Well, the rules are done; the tasks/processes are done; both Microsoft and salesforce.com have had them for a couple of months (the slow response is my fault not theirs. I've been on the road. Both have been exceptionally cooperative).

Next steps are the following:

 

  • Finalize the agreement between the companies on the rules with the judges.
  • Start the shootout
  • Judge
  • Declare winner
  • Publicize results.

 

I'm estimating that we're either going to do this in the next month or so - OR we'll announce the results at the DestinationCRM/CRM Magazine conference in August. That's a little bit self-serving on my part, but might still be a cool thing. Any preferences? Next 4-6 weeks? CRM conference? Who cares? Let me know and I'll bow to the will of the people.

Thursday
09Apr

CRiMinal

My car is due its 3rd service so I decided to use my usual dealer.

Yesterday I called up to confirm that I could get a courtesy car for the day, as I needed to get over to Amersham for work.

I was told that it shouldn't be an issue, but that nobody was available in servicing to confirm. I was then put on hold for 25 minutes, before I gave up and put the phone down.

So I drove over to Slough this morning and was greeted by the usual chap who crossed my name off the list.

"I called in yesterday to confirm I could get a courtesy car...I need to get to work"

"Well do you want me to call you a cab?", he asked

"Err...you don't have a courtesy car?"

"Nothing available...your 3rd service is £381 as quoted...do you want to continue or shall I book you in next week?"

So I was about to part with £381, I need new wipers, front tyres (£200), my first MOT (£50) is due in 2 months...and they won't:

(a) arrange a courtesy car for a couple of hours...OR

(b) offer to drive me to work or pay for my cab

Recession? What recession...

No wonder car stealers are going down the toilet... I wont use them again

CRiMinal

Monday
30Mar

LinkedIn, Redundancies and Salesforce.com

One of the most useful features of LinkedIn, is its ability to provide valuable insight into ex- or current colleagues changes in circumstance.

Next time you're logged on, check the home page 'Network Updates' or the 'Activity' section of a connected profile. Has a connection updated or added detail to their summary section? Has a connection recently received several recommendations? If yes, then the chances are they're looking for a job, or have recently lost one.

On a related note, it seems there's also been a bit of a clear-out at Salesforce.com:

http://www.destinationcrmblog.com/2009/02/08/updated-salesforcecom-loses-3-execs-one-resigns-two-laid-off/

I look forward to reading their next quarterly report...

 

Tuesday
24Feb

We Are Hiring

We are actively recruiting for experienced Microsoft Dynamics CRM consultants!

If you want to work within our successful Integrated CRM team, at the largest Dynamics partner in the UK, please contact me!

 

Tuesday
24Feb

Vodafone announces job cuts

Vodafone is the latest corporate giant to announce job cuts in the face of the recession:

http://www.guardian.co.uk/business/2009/feb/24/vodafone-job-cuts-recession

This is the first announcement I've seen that will have an impact on UK employees working with Microsoft Dynamics CRM. (Vodafone UK acquired Aspective Ltd)

Friday
09Jan

Salesforce.com Outage

Apparently an estimated 177 million transactions failed due to the latest Salesforce.com outage!

I wonder how many customer orders were not taken, or how many complaints were not dealt with timely?

 

Read more here:

Salesforce.com outage hits thousands of businesses

Salesforce.com outage provokes angry response

Salesforce Suffers System Wide Outage

Salesforce.com Network Device Failure Shuts Thousands out of SAAS Apps

 

Saturday
20Dec

Dynamics CRM vs Salesforce (Part 2 - Customisation)

This blog post is the second in a series comparing Dynamics CRM with Salesforce CRM.

I mentioned in the first post that I would highlight key weaknesses in Salesforce. To help you compete against Salesforce it's just as important to understand their strengths. Therefore I've changed the structure of this particular post...instead of providing a direct comparison of the products, I will instead focus on the strengths and weaknesses (if any) of just Salesforce CRM's customisation tools.

 

Customisation

 

The customisation tools in Salesforce CRM are powerful, which is to be expected given that the product has been around for the best part of a decade. The application can be customised heavily, without coding, using their web-based "App Setup" (customisation) tools.

It is simple to create new tabs (like areas) to display custom objects (entities), and then add custom fields (attributes), Page Layouts (form views), buttons and triggers (like plug-ins) to those objects.

Salesforce also has some interesting customisation features that don't (yet) exist in Dynamics CRM without customisation or ISV add-ons. These features are discussed in more detail below, but include built-in auditing, consoles (like dashboards), field-level security, multiple form views and record types (different views of the same entity based on security group), and auto-number and multi-picklist fields.

In order to highlight the strengths of their customisation tools I've decide to customise Salesforce using a typical customisation scenario. I'll create a Project entity, with a related Timesheet entity, and build out the custom attributes and views required for the users.

The end result will look like this:

 

Scenario Steps:

  • Create a new 'Project' entity

 

 

 

  • Create a new related 'Timesheet' entity

 

 

  • Add custom attributes to the Project entity

 

 

  • Create and customise a Project form

 

 

 

SFDC Strengths

  • Field-level security

  • Auditing is built-in

  • 'No code' formula fields


  • Drag and Drop 'form' editing
  • Auto-number and Multi-Picklist fields
  • Related entity Previews within consoles

  • Multiple form views for a single entity

  • Users can customise the form views (move sections etc)

SFDC Weaknesses

  • Cannot create custom many-to-many relationships
  • Mail Merge on custom entities doesn't work very well
  • No out-of-the-box support for exporting custom entity lists to Excel

 

In summary, the 'web-based' customisation tools are just as powerful as those in Dynamics CRM. They're intuitive and include some nice features that are not yet available in Dynamics CRM. 

When competing against Salesforce, do not expect them to turn up and demonstrate 'vanilla' Salesforce.

They even have out-of-the-box mobile support for custom entities (but I'll leave the details for later blog post!):

Tuesday
16Dec

Microsoft Dynamics CRM 4.0 List Web Part

The List Web Part has finally been released for Dynamics CRM 4.0!

Tuesday
16Dec

Microsoft Dynamics CRM 4.0 Mobile Express

Microsoft Dynamics CRM 4.0 Mobile Express is looking good!

The Mobile Express Console lets you publish existing entities (including custom entities) to mobile device users. You can modify the attribute labels for mobile use and determine whether or not an entity is editable:

 

The following screen shots show the mobile express client in use:

 

Tuesday
16Dec

Analytics Accelerator for Dynamics CRM

http://www.codeplex.com/crmaccelerators/Release/ProjectReleases.aspx?ReleaseId=20449

Some sample dashboards:

 

The first two are SSRS reports. The third is based on a SSAS cube.

Sunday
14Dec

Dynamics CRM vs Salesforce (Part 1 - Workflow)

Microsoft has published a competitive guide which should be read before competing against Salesforce.

It’s a useful document, but it’s now out of date, and is more a strategic guide rather than functional or technical comparison.

This blog post is the first in a series that highlights key functional and technical strengths in Dynamics CRM, but perhaps more importantly, weaknesses in Salesforce CRM.

I'll start with Workflow, and then cover differences in Office integration, Customisation, Analytics and Portals etc.

The final post in the series will compare the two products from a business perspective, such as Financial strenths, Communities / Documentation, Deployment options and Price etc.

If you can present to the prospect first, stress the ease-of-use, flexibility and strength of the following product features to ensure the prospect give the Salesforce.com sales engineer a hard time:

  • Workflow (Sales Process is a great example)
  • Office Integration (Outlook is a great example)
  • Price (On-Premise TCO and Hosted license costs are much lower with Microsoft)

 

Workflow

 

Considering Salesforce CRM is aimed primarily at sales-focussed organisations, its workflow is quite weak compared to Windows Worflow Foundation in Dynamics CRM 4.0.

During a demonstration of Dynamics CRM, you should stress the importance of being able to easily define a structured sales process. Show how the entire process can be driven by the outcome of automated workflow actions.

For example, before a sales person can progress an opportunity to the next sales stage, they must have completed or changed the status of previous workflow actions (e.g. they must have called the prospect, or arranged a visit by scheduling an appointment etc).

It’s also important to show how the sales process can be reviewed and managed from within the Dynamics CRM record.

Dynamics CRM Strengths

  • Ease of use. No technical skills / formulas / coding required
  • Ability to automate most system actions
  • Ability to define structured sales processes. Wait conditions can be defined based on the outcome of previous workflow actions
  • Ability to define child (sub) workflows
  • Workflow progress can be monitored within CRM records and as System Jobs. Activities can be launched from within the workflow's system job screen
  • Workflows can be easily configured to launch when the value of a single attribute (or even multiple attributes) change 
  • Ability to customise workflow itself, by creating custom workflow actions
  • Workflow technology is not proprietary and is used in other applications, like SharePoint or K2

SFDC (Comparative) Strengths

  • None 

SFDC Weaknesses

  • Cannot easily launch workflow based on the change of a particular field / multiple fields value(s):

  

  • There is no structured way of defining a workflow process based on the results of ‘previous’ workflow actions:

 

  • Limited number of action can be performed within a workflow:

      

  • Workflow progress cannot be monitored or managed within CRM records
  • You cannot call a child (sub) workflow
Thursday
04Dec

MOSS Enterprise Search in Dynamics CRM

MOSS Enterprise Search provides a powerful search engine for users looking for information stored within an intranet, electronic documents or even a Line Of Business application (like Dynamics CRM).

The UK Dynamics CRM Demo VPC showcases the use of the Business Data Catalog (BDC) to enable powerful searching across information stored within MOSS as well as Dynamics CRM.

The following post shows you how to 'refresh' the content sources (you might upload some documents or add some records to CRM and want them to appear in the search results)...and how to modify the CRM BDC definition so that CRM records can be 'popped' from the search results page. Out of the box, MOSS will display a simple profile page for the CRM record, like this one:

Refresh Content Sources

Step 1 - Navigate to the MOSS Shared Services web page:

http://moss:32901/ssp/admin/default.aspx

Step 2 - Click 'Search Settings' within the 'Search' section and click the 'Content sources and crawl schedules' link

Step 3 - Start a 'Crawl' for one or all of the available content sources:

 

Business Data Catalog

Step 1 - Navigate to the MOSS Shared Services web page:

http://moss:32901/ssp/admin/default.aspx

Step 2 - Click 'View entities' within the Business Data Catalog section:

Step 3 - Select the 'View entity' action for the BDS-CRMDB Contact entity:

Step 4 - Scroll down and modify the 'View Profile' action for the Contact entity:

Step 5 - Replace the 'Navigate to this URL' value with the Dynamics CRM Contact URL:

http://moss:5555/MicrosoftCRM/sfa/conts/edit.aspx?id={0}

Test the changes by confirming that the CRM Contact screen is now display when you click on the Contact entry within the MOSS Enterprise Search results page:

Monday
17Nov

Yahoo! AJAX Maps for Dynamics CRM (Part 4)

In the final post of this series, I have updated the .html code to enable the Microsoft Dynamics CRM Account to be popped from the Yahoo! AJAX Map Smart Window.

The code:

function createMarker(geopoint, num, name) { 

     var myImage = new YImage(); 

     myImage.src = '/_imgs/ico_16_1.gif'; 

     myImage.size = new YSize(20,20); 

     myImage.offsetSmartWindow = new YCoordPoint(0,0); 

     var marker = new YMarker(geopoint,myImage); 

     var swtext = "<A TARGET='_blank' HREF='/sfa/accts/edit.aspx?id=" + guid + "'>" + name + "</A>"

     YEvent.Capture(marker,EventsList.MouseClick, function() { marker.openSmartWindow(swtext) }); 

     return marker; 

}  

for (var i = 0; i < entityNodes.length; i++) {

     var entityNode = entityNodes[i]; 

     var guidNode = entityNode.selectSingleNode("q1:accountid");

     var nameNode = entityNode.selectSingleNode("q1:name");

     var postcodeNode = entityNode.selectSingleNode("q1:address1_postalcode");

     var guid = (guidNode == null) ? null : guidNode.text;

     var name = (nameNode == null) ? null : nameNode.text;

     var postcode = (postcodeNode == null) ? null : postcodeNode.text;

var marker = createMarker(postcode,i,name,guid);

map.addOverlay(marker); 

}

 

Monday
17Nov

Yahoo! AJAX Maps for Dynamics CRM (Part 3)

Following on from my previous Yahoo! AJAX mapping samples, the code to add 'markers' has now been updated to provide "Smart Windows" that will display the CRM Account name when clicked.

I have also updated the code to use custom logos for the markers (I've used the CRM Account icon).

In a future post I will update the code to include a handler so that the CRM Account window can be opened when the Smart Window is clicked.

 

function createMarker(geopoint, num, name) { 

     var myImage = new YImage(); 

     myImage.src = '/_imgs/ico_16_1.gif'; 

     myImage.size = new YSize(20,20); 

     myImage.offsetSmartWindow = new YCoordPoint(0,0); 

     var marker = new YMarker(geopoint,myImage); 

     var swtext = name;

     YEvent.Capture(marker,EventsList.MouseClick, function() { marker.openSmartWindow(name) }); 

     return marker; 

}  


for (var i = 0; i < entityNodes.length; i++) {

     var entityNode = entityNodes[i]; 

     var nameNode = entityNode.selectSingleNode("q1:name");

     var postcodeNode = entityNode.selectSingleNode("q1:address1_postalcode");

     var name = (nameNode == null) ? null : nameNode.text;

     var postcode = (postcodeNode == null) ? null : postcodeNode.text;

var marker = createMarker(postcode,i,name);

map.addOverlay(marker); 

}



Sunday
16Nov

Yahoo! AJAX Maps for Dynamics CRM (Part 2)

My previous blog post about mapping in Microsoft Dynamics CRM displayed a simple map with the location of a CRM Account.

The following post shows how to plot multiple CRM Accounts on a Yahoo! map.

Again, I'm using AJAX, but this time we also call the CRM Web Service in order to retrieve multiple accounts (for this example, we're retrieving All Active Accounts).

The code then iterates around the CRM Accounts and plots a marker for the Account postcode.

All the code is placed within the "ISV" folder again.

The code:

<html>

<head>

<script type="text/javascript"

src="http://api.maps.yahoo.com/ajaxymap?v=3.0&appid=***REPLACEWITHYOURID***">

</script>

<style type="text/css">

#map {

height: 550px;

width: 100%;

}

</style>

</head>

<body>

<div id="map"></div>

<script type="text/javascript">

// RETRIEVE ACCOUNTS

function displayAccounts()

{

var xml = "" + 

"<?xml version=\"1.0\" encoding=\"utf-8\"?>" + 

"<soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">" + 

"  <soap:Header>" + 

"    <CrmAuthenticationToken xmlns=\"http://schemas.microsoft.com/crm/2007/WebServices\">" + 

"      <AuthenticationType xmlns=\"http://schemas.microsoft.com/crm/2007/CoreTypes\">0</AuthenticationType>" + 

"      <OrganizationName xmlns=\"http://schemas.microsoft.com/crm/2007/CoreTypes\">MicrosoftCRM</OrganizationName>" + 

"      <CallerId xmlns=\"http://schemas.microsoft.com/crm/2007/CoreTypes\">00000000-0000-0000-0000-000000000000</CallerId>" + 

"    </CrmAuthenticationToken>" + 

"  </soap:Header>" + 

"  <soap:Body>" + 

"    <RetrieveMultiple xmlns=\"http://schemas.microsoft.com/crm/2007/WebServices\">" + 

"      <query xmlns:q1=\"http://schemas.microsoft.com/crm/2006/Query\" xsi:type=\"q1:QueryExpression\">" + 

"        <q1:EntityName>account</q1:EntityName>" + 

"        <q1:ColumnSet xsi:type=\"q1:ColumnSet\">" + 

"          <q1:Attributes>" + 

"            <q1:Attribute>name</q1:Attribute>" + 

"            <q1:Attribute>accountid</q1:Attribute>" + 

"            <q1:Attribute>address1_city</q1:Attribute>" + 

"            <q1:Attribute>address1_postalcode</q1:Attribute>" + 

"          </q1:Attributes>" + 

"        </q1:ColumnSet>" + 

"        <q1:Distinct>false</q1:Distinct>" + 

"        <q1:Criteria>" + 

"          <q1:FilterOperator>And</q1:FilterOperator>" + 

"          <q1:Conditions>" + 

"            <q1:Condition>" + 

"              <q1:AttributeName>statecode</q1:AttributeName>" + 

"              <q1:Operator>Equal</q1:Operator>" + 

"              <q1:Values>" + 

"                <q1:Value xsi:type=\"xsd:string\">Active</q1:Value>" + 

"              </q1:Values>" + 

"            </q1:Condition>" + 

"          </q1:Conditions>" + 

"        </q1:Criteria>" + 

"      </query>" + 

"    </RetrieveMultiple>" + 

"  </soap:Body>" + 

"</soap:Envelope>" + 

"";

var xmlHttpRequest = new ActiveXObject("Msxml2.XMLHTTP");

xmlHttpRequest.Open("POST", "/mscrmservices/2007/CrmService.asmx", false);

xmlHttpRequest.setRequestHeader("SOAPAction","http://schemas.microsoft.com/crm/2007/WebServices/RetrieveMultiple");

xmlHttpRequest.setRequestHeader("Content-Type", "text/xml; charset=utf-8");

xmlHttpRequest.setRequestHeader("Content-Length", xml.length);

xmlHttpRequest.send(xml);

var resultXml = xmlHttpRequest.responseXML;

var entityNodes = resultXml.selectNodes("//RetrieveMultipleResult/BusinessEntities/BusinessEntity");

// CREATE A MAP

var map = new YMap(document.getElementById('map'));

map.addTypeControl();     

map.addZoomLong();

map.addPanControl();    

map.drawZoomAndCenter("United Kingdom", 12);

for (var i = 0; i < entityNodes.length; i++) {

    var entityNode = entityNodes[i]; 

    var cityNode = entityNode.selectSingleNode("q1:address1_city");

    var postcodeNode = entityNode.selectSingleNode("q1:address1_postalcode");

    var city = (cityNode == null) ? null : cityNode.text;

    var postcode = (postcodeNode == null) ? null : postcodeNode.text;

    var newMarker = new YMarker(postcode);  

    map.addOverlay(newMarker);

}

}

window.onload = displayAccounts;

</script>

</body>

</html>

 

Tuesday
11Nov

Microsoft Dynamics CRM 5.0

A sneak peak of new features in Microsoft Dynamics CRM 5.0 (with screenshots) can be found on Simon Hutson's latest blog entry!

Looks impressive so far...