Sonoma Partners Microsoft CRM and Salesforce Blog

I feel the need... the need for speed!

While visiting one of our customers, Jim noted how ridiculously fast their Internet connection was. Our customer said they have 300 Mbps for BOTH download and upload speeds! Compared to our paltry 1.5 Mbps T-1 line from Megapath, relatively speaking we're limping along at the pace of a turtle.

Maverick from Top Gun would approve of Cogent's 100 Mbps Fast Ethernet
While we knew our T-1 wasn't the fastest option out there, Jim wanted to learn more about this smokin' fast connection.

It turns out that our customer was using a company Cogent for the Internet connectivity, so Jim procured a quote from them immediately. The good news is that our office is considered "on net" for Cogent so they were able to offer us 100 Mbps of Fast Ethernet download and upload for just $900 per month...plus Jim negotiated a free install ($1,000 value) and the first month free. So for just a few hundred dollars more per month than our Megapath T-1, we're going to increase our bandwidth by a factor of 66. It should be up and running in the next few weeks, and we can't wait!

Some other interesting things to note about the Cogent Fast Ethernet:

  • Full SLA: Their SLA guarantees 99.99% network availability, 99.9% packet delivery, less than 50 milliseconds roundtrip latency and proactive outage notification within 15 minutes.
  • Guaranteed bandwidth: Unlike cable connections, we're guaranteed 100% of our 100 Mbps bandwidth 100% of the time.
  • No router: All it takes to get connected is a Category 5 cable or cross connect plugged into your existing LAN or equipment.

While I can't recommend Cogent entirely until we test their service live for ourselves, things are looking very very promising so far.

What to do if you can't select view columns

The Microsoft CRM VPC image is a great sales tool, but we've started building our own VPC images in house for a few reasons:

  • We want to demo Microsoft CRM with Office 2007, but the current VPC only has Office 2003.
  • You can't install the Outlook v3c client on the same server as Microsoft Exchange.
  • We want a very streamlined VPC image with the bare minimum software installed so that it peforms as quickly as possible.

I recently ran into a problem with our home grown Microsoft CRM VPC where I could not select a view column. This was true for both the system view editor and the Advanced Find tool. Therefore, I could not resize the columns or move their positions. This was frustating, but I eventually figured out the cause of the problem so I thought we'd pass it along to everyone else. When you're browsing to the Microsoft CRM website from a Windows 2003 Server, you need to disable the Internet Explorer Enhanced Security Configuration settings.

To turn this IE security setting off, follow these steps:

1. Open the Add/Remove Programs window and select Add/Remove Windows Components.

2. Select the Internet Explorer Enhanced Security Configuration checkbox and click Details.

3. Uncheck the "For administrator groups" and/or the "For all other user groups" based on your preference.

4. Click OK, then Next, and you're done!

With these security settings turned off, you should now be able to edit the view columns so that you can resize them or reorder them to your preference.

Public CRM Live! screenshots

Wow, I just found these publically posted CRM Live! screenshots (via CRM Watcher). I know this probably won't be the final look and feel of CRM Live, but man this thing looks very sexy so far!

AdCenter integration on CRM Live!
Microsoft AdCenter is: a service that enables Microsoft Dynamics CRM to create online marketing campaigns that place key word advertising on MSN via Microsoft AdCenter. Microsoft Adcenter integration will be offered for all deployment options of Microsoft Dynamics CRM: on-premise, partner hosted and Live.

Dynamics CRM Live! Collaboration
Microsoft and its partners will facilitate the easy connection of cross organization business process. This will be enabled with a Microsoft Dynamics Live service that allows both structured information from ERP and CRM systems and unstructured information in the form of documents to be connected via SharePoint technology. It will allow partners to very easily and quickly configure scenarios that would have required complex extranet, VPN and firewall technology in the past.

Is your Microsoft CRM callout not working?

One of the more powerful customization tools within Microsoft CRM are the pre and post-callouts available on the various objects in the system. As a Microsoft CRM integrator, our company Sonoma Partners makes HEAVY use of callouts on almost all of our customer implementations. We ran into a little snafu a few weeks back with one of our customers where the callouts were simply not firing. Since we use callouts a lot, this was NOT good and we started searching for a solution immediately. Before we reveal how we fixed the problem, let's do a brief review on what purpose Microsoft CRM callouts serve.

Callouts allow developers to create custom .NET assemblies and register them on the server so they will be fired by Microsoft CRM at the appropriate time. With these custom assemblies, developers can implement an almost endless supply of business logic to dictate how the Microsoft CRM system should behave. When you should use callouts? Some typical usage of callouts include:

  • To alter data prior to submission to the database
  • To take action after an update to a record (this isn't easy to do with workflow as there is no update event in workflow)
  • When you need a synchronous transaction and an immediate response
  • To take action before or after the deletion of a record
  • When programatically accessing custom entities that are organization owned (workflow can only be used on entities with user-based ownership)

Now that you're refreshed on what callouts do, let's review the problem. We had deployed several custom callouts to a customer's server and they simply were not firing. Everything else appeared fine, but the callouts would not run.

We called into Microsoft CRM support and they suggested the following troubleshooting steps:

1. Did you put the callout.config.xml and the Crm.Callout.dll into the D:\Program Files\Microsoft CRM\Server\bin\assembly folder?
2. Did you do an IISRESET after you put the callout.config.xml and the Crm.Callout.dll into the D:\Program Files\Microsoft CRM\Server\bin\assembly folder?
3. Does the NETWORK SERVICE account have Full Control access to the D:\Program Files\Microsoft CRM\Server\bin\assembly folder?
4. Are there any errors in the Application Event Log?
5. I assume that you have tested all of these callouts and none of them are working, but please confirm that.

Of course we were on track with those five suggestions, and then they asked another question?

Please check the MSCRM registry for SetupMode=1 If it is there please change it to 0 and reboot the server.

It turns out that the customer's registry was set to 1, and after we changed it to 0 and rebooted the server, the callouts worked beautifully! We took over this customer from a previous Microsoft CRM partner so we did not perform the initial installation of Microsoft CRM. Microsoft support informed us that "This SetupMode key is added during a repair or installation to turn off callouts during that process. The repair or installation probably didn't complete successfully and this is a remnant of that." We are guessing the previous partner had some install issues and never got everything working correctly which is why this registry key was off.

A few days ago Microsoft released an official KB article #933842 that discusses these callout troubleshooting steps in a little more detail.

Live from Convergence: More software goodness

I didn't get a chance to blog yesterday because it was wall-to-wall action between the sessions, the networking, the side meetings and the events. One of the really unique opportunities at this event is the chance to receive free technical support in person. I stopped by the CRM support station yesterday morning and spent about 30 minutes getting some questions answered directly from the level 2 escalation engineers. I learned some very interesting new stuff about the CRM v3c Outlook client that I will post in the next week or so.

Last night was the Convergence welcome reception and it was one of those giant outdoor parties with lots of food and drinks. Here are some shots from the event:

Satya gave the opening keynote this morning, but I was a little disappointed that most of the demos from today were repeats of the demos we saw on Saturday. On the plus side, Ben Vollmer did a great job of presenting the Microsoft CRM v3c client during the keynote and he showed some cool Vista - CRM gadgets.

Today has been particularly busy as I been responding to the day-to-day activities back in our office in addition to attending conference events. However, I was able to get outside to check out the Microsoft Across America truck. We are definitely getting this bad boy at our next seminar/event!

Live from Convergence: Bondi

At today's closing session, Doug Burgum gave a farewell speech and it got a little emotional. I lost track of the count, but I think he received two or three standing ovations from the 4,000+ people in attendance. Doug said that today was his last Convergence conference and even though this is just my 3rd Convergence event I will miss him. I always got the feeling he was very genuine and he cared deeply about the success of Microsoft's partners and customers. He was definitely very unique compared to the typical conference speaker and I appreciated that.

After the closing session we hit up the expo (trade show) for a little bit and then headed to the Bondi bar for dinner and drinks. Philip recommended Bondi because it brought back some memories of his native Australia. I would describe the bar's ambiance as funky and they had all sorts of wild decorating accents (see photos below). Even though we had to wait an hour or so for our table, my food was worth the wait.

Live from Convergence: Day 1 is off to a great start

We are in the last group of breakout sessions on Saturday, and then we head to the Closing Session. After that...it's drink time! The opening keynote was very cool and it even had some crazy tap-dancing routine. Some of the most impressive portions of the keynote were the Microsoft Dynamics GP demos. The new GP 10.0 client looks great, and some of the R&D demos around 3D data visualization were "must see".

Microsoft CRM General Manager Brad Wilson presented a great Microsoft CRM product session this morning and Bill Patterson showed a live Titan demo running out of the Microsoft data center. It is exciting to see Microsoft starting to talk about and demo Titan publically!

Some of the new Microsoft CRM information that Brad shared with the public partner community today included:

  • Microsoft CRM now has 10,000 customers with over 400,000 users
  • The CRM product experienced 100% growth in FY 06
  • A recent Gartner report ranked Microsoft CRM customer service as one of the top applications available in the market
  • Update on Microsoft CRM to ERP integration timelines
    • Microsoft Dynamics GP available now
    • Microsoft Dynamics AX Q3 this year
    • Microsoft Dynamics NAV H1 2008
  • Regarding timing around the Titan release, they said:
    • Early customer access via Live CRM will start in Q3
    • On-premise "Customer Showcase" in H2
    • "Full RTM and RTW will occur by end of year"

RTW is a new acrononym for Microsoft! It means Release-To-Web so of course it refers to the CRM Live! offering.

The conference logistics have been solid so far, and the weather here is awesome. Here is a photo of the "Sails Pavilion" where we had lunch today.

Live from Convergence: California dreamin'

Today I flew from Chicago to San Diego for the start of Microsoft Convergence conference, and I could not be more excited! This is my third Convergence event, as I attended the 2005 one in San Diego and the 2006 conference in Dallas last year. Without speaking ill of Dallas, I am very very glad to have the event back in San Diego.

Apart from the unbelievable weather, San Diego is a a great conference venue because the convention center is located right in the trendy Gaslamp district of the city. That means we can easily walk every where we need to go without having to suffer through shuttle buses. I seriously hope that Convergence stays in San Diego every year.

This year I am looking forward to learning more and more about one thing at the conference...TITAN. Of course Titan is the internal Microsoft code-name for the next release of Microsoft CRM and it is due out later this year. I don't expect too many (any?) grandiose public announcements about Titan but I expect that there will be plenty of Titan talk at networking events, happy hours, bars, etc. Of course, our company is under strict non-disclosure agreements regarding Titan so we can't repeat what we learn on this blog until the time is right. However, I will be sure to post as much information as possible if any of CRM product teams speaks about it publically.

In addition to Titan, I am also planning to try and learn more about the following products:

  • Microsoft Office Sharepoint Services 2007 (also known as MOSS 2007). We have deployed MOSS internally and in just a few weeks we are already getting great benefits from it. We used Sharepoint 2000 before, but MOSS 2007 offers quantum leaps in functionality and ease of use...not to mention it looks great.
  • Microsoft Groove 2007- I played with Groove a few years ago just before Microsoft purchased them and the product was very appealing but not enough for me to start using it. Now with Groove 2007, I decided it was time to try it again so I installed it on my laptop. One thing that bugged me about the old version of Groove was its integration story with Sharepoint document libraries, but my tests with the new 2007 seem to indicate they got that problem licked. I'll be installing it on all my computers soon.
  • Microsoft Exchange Server 2007-  We recently did a joint seminar with a networking services firm and they did a pretty awesome demo of the unified messaging features in Exchange 2007. Our IT guys are upgrading our internal email this weekend, so I want to learn more about all the cool new things we can use the software for.

One disappointing thing about Convergence this year is that they switched their networking tool to a new company. Philip said it was "sub-optimal" but that's all he can say because he works for Microsoft. I don't work for Microsoft so I'll be more candid. It flat out stinks. If anyone from the Convergence planning committee is reading this...swtich back to the old system!! Immediately!

Well I gotta run and hit up the opening Friday night event.

Auditing Export To Excel transactions via IIS logs

Whenever I demo Microsoft CRM to prospects, one feature that I make sure that I ALWAYS show is the Export to Excel. Microsoft CRM can of course simply dump data into Excel (like many other CRM applications), but Microsoft CRM allows you to export data into a Dynamic Worksheet or a Dynamic PivotTable. By doing a dynamic Export, the Excel file maintains a live link to the Microsoft CRM database so that you can refresh the data in Excel at any time.

When executives see me demo the export the Excel feature one of the first questions out of their mouths is always "What prevents an employee from exporting all of our customer records into a file and then leaving the company!?". The answer is simple. You can disable the Export to Excel feature for users within their security role settings. But let's assume for a second that your company allows users to Export to Excel and you were curious about what type of data exports your employees have been performing. How could find out this information?

Well Microsoft CRM is really just a big giant web application at its foundation, and therefore it runs within Internet Information Services ("IIS"). And of course IIS records rather detailed log information about web site usage including IP addresses, pages requested, dates, times, querystrings and so on. Therefore to find out what types of Excel exports your Microsoft CRM users are doing, you can just poke around a little in the IIS log files.

If you're familiar with IIS, you probably already know how to find the location of the log files, but I'll give a quick recap for those who are not. On the Microsoft CRM server, open the Internet Information Services Manager and find the Microsoft CRM v3.0 website. Right-click on the website and select Properties. The following dialog will open:

Then select the Properties button, and this window will open:

From here you can see that the log file directory is c:\WINDOWS\system32\LogFiles\ and the folder for this Microsoft CRM website is W3SVC1 (but yours might be different). Now launch Windows Explorer and browse to this directory. You will see a bunch of files in this folder (one for each day) named with the exyymmdd.log naming convention.

Open any of these files with the text editor of your choice. Then search in the file for the text "mode=export". If someone exported data to Excel during that day, you'll see a line that looks something like this:

2007-03-05 00:59:14 W3SVC1 192.168.252.144 GET /_grid/print/print_dlg.aspx mode=export&multipage=0&hasfetch=0&showlive=1&enablelive=1&viewid=%7BE35F1FC9-9450-455B-8F2A-5B59BA193706%7D&viewtype=1039&otc=10016 80 - 192.168.252.200 Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+6.0;+SLCC1;+.NET+CLR+2.0.50727;+.NET+CLR+3.0.04506;+.NET+CLR+1.1.4322) 401 2 2148074254

For detailed information about what all of this stuff means, go read this. For the purposes of this post, we just care about two parts of this:

  1. The viewid of =%7BE35F1FC9-9450-455B-8F2A-5B59BA193706%7D
  2. The IP address of 192.168.252.200

One way to determine which view of data that the viewid relates to is to browse to (entering in the name of your Microsoft CRM server and the viewid you retrieved from the IIS log file):

http://<yourcrmserver>/tools/vieweditor/viewManager.aspx?id=<enterviewidhere>

If you copied and pasted correctly, then you'll see the view editor for the view that a user exported! For example, if you see the view editor for the Active Leads view then you know that a user exported the data from the Active Leads view. Now that you know what data was exported, you can use the IP address to determine which computer/user did the export. The NBSTAT -A command in DOS typically does the trick for me to translate an IP address to a NETBIOS computer name.

If you have a large number of Microsoft CRM users, the IIS log files will get quite large. Working with very large log files can be slow, and it can be cumbersome to search for the export information one day at a time. Therefore if you wanted to audit this Excel export information on a regular basis I would strongly recommend that you import the IIS log files into a SQL Server database and then write the appropriate queries, reports, etc.