Author: Jukka Niiranen

  • CRM Anywhere not here yet, Q2 2012 Service Update functionality delayed until Q4 2012

    The big question on the minds of many Dynamics CRM customers and consultants has lately been: when is the Q2 2012 Service Update / R8 / Update Rollup 9 / “CRM Anywhere” update going to be released? Even though Microsoft has a policy of not announcing any official dates for new software releases beforehand, the agile release policy they announced back in Q2 2011 as well as the name of the update announced in February 2012 were all indicating that a release was imminent before the end of Q2 2012. Since then, we’ve seen Q2 turn into Q3 and no news has been shared regarding the planned schedule for the release. Until now, that is. On July 6th 2012 we finally received an announcement on what’s going on. Let me quote the important bit for you:

    On July 19th, as we committed, our Q2 release will include Microsoft SQL Server 2012 support, Industry templates and certifications for our online service. After listening to the feedback from our customers and partners we are delaying availability of Microsoft Dynamics CRM Mobile and cross-browser support. These were previously scheduled to be delivered in the Q2 2012 Service Update, and we now plan to deliver them in the service update scheduled for Q4 2012.

    In short, “CRM Anywhere” has been postponed from Q2 2012 to Q4 2012. A six month delay on using Microsoft Dynamics CRM on Chrome, Firefox, Safari and any non-PC hardware. Well isn’t that just splendid. I’m sure none of the Microsoft partners had started selling the Dynamics CRM product to any Macintosh shops in preparation for Q2 2012…

    OK, I won’t bash MS about this any more than the above comment, because I fully understand the situation they are facing. To be honest, I’ve had some serious doubts about how the cross-browser support would have played out if delivered in Q2 as planned. Even though the standard UI of an out-of-the-box Dynamics CRM implementation can surely be transformed into a standards compliant version if given enough resources, it’s a very tricky situation when it comes to customizations and extensions created by the CRM ecosystem. VAR’s, ISV’s, sysadmins, basically anyone with access and know-how on tweaking Dynamics CRM to do what is required of it have been doing just that for several years now. As a result, there’s a huge amount of unsupported scripts out there that simply would not work in the brave new cross-browser world.

    Sometime ago (2 weeks ago, actually), the CRM team released a Custom Code Validation Tool that was designed to help these same people to resolve breaking script issues when upgrading to the next release of Microsoft Dynamics CRM. That’s certainly a great help in proceeding with the task at hand, but unfortunately it was a bit too late when compared to the original target schedule of “CRM Anywhere”. If you run the tool on even the official CRM Demo Builder environment created by Microsoft, it won’t pass without “red” and “blue” errors either. In short, there are not very many environments out there right now that are capable of demonstrating Microsoft Dynamics CRM on an Apple OS X machine running Safari, at least with any impressive customizations and integrations to external data sources.

    Would you have felt comfortable with releasing an update into the wild that would have wreaked havoc in many customer and demo environments? Would that have really conveyed the proper image of “CRM Anywhere” to the potential and existing customers? Most likely it would have not. There are times when you need to be able to announce breaking changes (like with current Windows Phone 7 devices not being able to run Windows Phone 8 apps due to a shared Win8 core architecture, as we’ve recently discovered), but probably this was not one of those times really. Ultimately, I think the decision that Dennis Michalis and his team has made must be the right one, as they certainly would not have made it lightheartedly. The business benefits of a CRM system must triumph the technological benefit of cross-browser support and the customers would presumably agree. Could the announcement have become sooner? Definitely it should have, but it didn’t, and that’s what we now need to adjust to now.

    Still, one may ask how did we end up in this situations? It’s a design decision Microsoft has made back in the days (as I’ve blogged about earlier) and now they’re paying the price for it. So, that’s how it is and that’s just life. You could find some resemblance to the situation from Dynamics CRM ISV’s and VAR’s investing their efforts on developing Silverlight add-ons and then finding out last fall that Windows 8 Metro browser would not be supporting any plugins (including Silverlight, but excluding Adobe Flash). Life, as we know, goes on nonetheless as the ecosystem will find ways to route around the problems, much like the Internet as a fault-tolerant system was originally designed to do.

    What’s up with the mobile support delay then? After all, CWR Mobility has built clients for iPhone, Android iPad etc. and has been selling them throughout the whole 1H/2012. In fact, since the Microsoft Dynamics CRM Mobile product delivered and supported by Microsoft was only going to cover CRM Online customers, not on-premises or hosted environments, it’s perfectly justified to present the question “what do you mean it’s delayed until Q4”? What exactly did the mobile client announced in Q2 2012 Release Preview guide contain from a functional perspective that customers couldn’t already acquire directly from CWR Mobility? If you ask me, this is more about adjusting the commercial story of “CRM Anywhere” rather than physical limitations, but we can of course hope that the Q4 2102 launch will bring us significant functional improvements as well as a more coherent process for customers wishing to deploy the mobile clients.

    How about the rest of the mobile/social/local/etc. CRM market in general, will that just run over Dynamics CRM now as a result of this? I personally don’t think so. If you look at some of the competing CRM products out there, we’ve seen Salesforce.com announce their Touch client for mobile and tablet devices already last September, but it remains in beta as of now. After all, it’s quite easy to create great looking concepts of the way the social business of the future should operate, but very rarely is there a chance to start from a pure, clean slate. If you have no legacy processes and apps to worry about, you probably have no valuable, long lasting customer relationships either, which sort of undermines the whole effort.

    Let’s remember another important aspect here: Windows Reimagined a.k.a Windows 8 is one of the biggest gambles Microsoft has ever made and it’s due out in Q4 2012 (unconfirmed, as usual, but you get the drift). If the next Dynamics CRM Service Update is scheduled to be released in the same timeframe, then do you think that there would be any chance of receiving an actual Metro client for CRM at the same time? We can always hope of course, and the Worldwide Partner Conference 2012 to be held next week could well shed some light on this topic, one way or another. Personally I think it’s a bit of a long shot still to make it into the same time frame as Windows 8, but even a preview/beta would be way cool. I guess we’ll learn about that soon enough as WPC 12 kicks off.

    Finally, if cross-browser support has now been delayed to Q4 2012, then I think there’s one favor that we can ask from the Dynamics CRM product team: could you please enable also the customization part of the UI to be cross-browser by the time Q4 2012 Service Update rolls out? It’s not that I have anything against Internet Explorer as such, but I think the #MSDYNCRM community deserves a tiny little upside in all this, don’t you think?

  • CRM adventures in Azure: changing the virtual machine size

    CRM adventures in Azure: changing the virtual machine size

    After having managed to overcome my previous challenges of deploying SQL Server 2012 Reporting Services on a virtual machine running in Windows Azure, I was well underway in configuring my Dynamics CRM environment to contain the tools and data needed for developing, testing and even demonstrating custom solutions right in the Microsoft cloud.

    I had started off with a medium size virtual machine that had 2 CPU cores and 3.5 GB memory. While I’ve been able to successfully use CRM 2011 + SQL 2012 on such a setup as a personal development box, I have to say it’s not exactly the fastest thing around. With me being the only person working with the environment currently, it wouldn’t have been such a big issue, but upon trying to import one 5 MB solution file into a CRM organization I started running into timeout issues, leading to the following message:

    It’s not very uncommon to experience timeouts with CRM when working with large solution files. There are various settings that you can modify to overcome this issue, including the OLEDBTimeout, Web.Config parameters etc. However, I wasn’t having success with the solution import regardless of having applied the registry and settings changes, so I thought why not crank it up a bit and give my virtual machine some more resources. After all, isn’t that one of the selling points of on-demand cloud computing? If you need more power, just adjust the lever and consume the resources as you see fit.

    I proceeded with shutting down my virtual machine from Windows and going to the Azure management portal. After finally getting the portal to confirm that the machine was in a stopped state, I changed the virtual machine size from medium to large (4 cores, 7 GB). Great, now let’s fire it up once again by clicking on Restart and… it doesn’t start. Trying it again and still the only result I get is the following notification in hte Azure portal:

    The virtual machine cannot restart. The current virtual machine state is RoleStateUnknown.

    Ok, I’ll wait a while, I thought to myself. After a few minutes and some more clicks on the Restart button I was starting to get a bit anxious on why my server wasn’t booting up. I started googling for the error message and discovered a discussion thread that indicated I wasn’t the only person in the world suffering from this problem. The RoleStateUnknown message appears to be a known issue that the Windows Azure team will be fixing by the time the Preview phase is over, but for the time being, this is something you can expect to happen if you power off a virtual machine in Azure on a bad day. If the error message does not go away, the only workaround you have is to create a new copy of your virtual machine.

    While there are ways to do the process through PowerShell to export & import the virtual machine, I decided to take the GUI route and just click on the Delete button on my virtual machine. I must admit that particular action doesn’t feel quite right, deleting the very server you’re trying to get back up, but in this context it’s actually not as catastrophic or irreversible as it sounds at first. You see, the server really is just a VHD disk that has been assigned the hardware, IP and other pieces that make it operational. It’s also worth noting that this is the way how you can stop incurring costs from your virtual machine. If you just shut down your VM, you will still be charged for it, but if you delete the server, you’ll have an image available that you can later on use for creating a new server.

    After deleting the server, I created a new one with the same configuration. OK, not exactly the same, as both the [servername].cloudapp.net DNS entry and the IP address will change in the process. Also do note that the remote desktop port will be different, so only updating the server name in your RDP settings won’t allow you to connect, as I quickly discovered after clicking on Restart.

    Oh yeah, I had that extra F-drive on my machine, too! Better remember to attach that disk as well, since that’s where my CRM databases are located. I hit a restart on the SQL Server service, but noticed that the databases still weren’t available. Then I remembered what Shan McArthur had accidentally demonstrated in his Windows Azure 2012 Spring Wave webinar session on XRMvirtual earlier this week. Although the D-drive on an Azure virtual machine is great for storing temporary data that doesn’t need to be consuming that precious C-drive, the fact that the D-drive is only a temporary storage means also that any directory which you create on that disk will not be available once you spin up a new virtual machine from the same VHD. A quick peek into the Windows application log confirmed that this was what was keeping my SQL Server from starting up, as it wasn’t able to locate or create Temp DB and log it needed.

    “FCB::Open failed: Could not open file D:\SQL\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Data\tempdb.mdf for file number 1.  OS error: 3(The system cannot find the path specified.).” There we go, that was the path that was missing from my D-drive. In a default configuration the temporary database would have been under C:\Program Files, but I had put it on D:\SQL instead, so I needed to manually go and create the folder. After this my virtual machine was again able to run CRM the way that is was meant to be. I’m sure there’s a PowerShell script sample out there somewhere for those who wish to automate the directory existence verification and creation upon restart of their servers, but this shouldn’t be a too frequent problem unless you go deleting your Azure virtual machines on a regular basis, so I didn’t bother looking up one right now. The main thing for me was I had my CRM test server running now on double the capacity.

    As a side note, once I opened up Excel, I was greeted by this Microsoft Office Activation Wizard. I guess that proves that it’s now really a whole different machine I’m working on, even though I booted up from the same VHD that I had already activated on the previous day. Hardware based license management feels a bit funny when operating in such an intangible environment as Azure, but that’s how it is…

    Finally, let’s get back to the topic mentioned in the title of this blog post: What is the right way to change the size of your Windows Azure virtual machine? It turns out that you can actually do this right from the Azure management portal without shutting down your server. That’s what it says on the Azure community pages:

    NOTE: If you are attempting to just change the size of your Virtual Machine, you can do this without stopping the Virtual Machine. You can go into the “Configure” tab on the virtual machine in the management portal and select the Virtual Machine size. This will change the size without first stopping, which will allow you to avoid this issue in this scenario.

    Will be interesting to see how the Windows server will cope with disappearing CPU cores and memory if I decide to go back from Large to Medium, but I’ll leave that experiment to the next time. Now let’s see if I could get that solution file imported first…

  • CRM adventures in Azure: SQL Server 2012 updates

    CRM adventures in Azure: SQL Server 2012 updates

    Windows Azure Pricing Calculator for Virtual MachinesAfter Microsoft announced their latest enhancements to the Windows Azure service catalog in the beginning of June (although still in a preview phase), I wanted to test the Azure Virtual Machines for running a Microsoft Dynamics CRM 2011 server instance in the Microsoft hosted cloud. Since we now have an excellent step-by-step tutorial available from Shan McArthur / AdxStudio, it was a breeze to get going with the installation process. You should also check out the Gold Coast blog by @devkeydet for some really helpful articles, such as Building a CRM 2011 dev box using a Windows Azure Virtual Machine. With high quality community content like this available, who wouldn’t want to build a CRM server in Azure?

    Hopefully I’ll get a chance to write some of my own experiences on working with Windows Azure in the future, but the first issue I ran into is actually more related to SQL Server in general.

    Side-by-side was not on my side

    In addition to Azure, I also wanted to utilize the latest SQL Server 2012 version to investigate what new reporting capaibilities it might offer compared to the trusted old SQL 2008 R2. The SQL 2012 installation went through without any errors but after I tried to launch the CRM installation I discovered that Reporting Services was not running. In the application log I had the following errors:

    Service cannot be started. System.IO.FileLoadException: Could not load file or assembly ‘ReportingServicesNativeServer, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91’ or one of its dependencies. The application has failed to start because its side-by-side configuration is incorrect. Please see the application event log or use the command-line sxstrace.exe tool for more detail. (Exception from HRESULT: 0x800736B1)
    File name: ‘ReportingServicesNativeServer, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91’ —> System.Runtime.InteropServices.COMException (0x800736B1): The application has failed to start because its side-by-side configuration is incorrect. Please see the application event log or use the command-line sxstrace.exe tool for more detail. (Exception from HRESULT: 0x800736B1)
    at Microsoft.ReportingServices.Library.ServiceAppDomainController..ctor()
    at Microsoft.ReportingServices.Library.ReportService.OnStart(String[] args)
    at System.ServiceProcess.ServiceBase.ServiceQueuedM…

    Activation context generation failed for “F:\SQL\Microsoft SQL Server\MSRS11.MSSQLSERVER\Reporting Services\ReportServer\bin\ReportingServicesNativeServer.dll”.Error in manifest or policy file “C:\Windows\WinSxS\manifests\amd64_microsoft.vc80.atl_1fc8b3b9a1e18e3b_8.0.50727.4053_none_8a1a02152edb659b.manifest” on line 0. Invalid Xml syntax.

    After a bit of googling I landed on a blog post on SQL Server VC++ Installation voes, which seemed to describe the exact same issue I was facing. I tested the sxstrace tool and the System File Checker (SFC) referenced in the post, reproducing the same results as the author was getting. It turned out that this side-by-side (SXS) error was caused by a manifest file that was empty. A similar discussion was also found in the Windows Azure Virtual Machines for SQL Server MSDN forum, so figured I must be on to something.

    Just before I was about to start modifying the manifest file properties and copy pasting the content there, I noticed that there was one detail which stopped me from proceeding: both of the posts were referencing an x86 processor architecture file (x86_microsoft.vc80.atl_1fc8b3b9a1e18e3b_8.0.50727.4053_none_d1c738ec43578ea1.manifest), whereas my error was related to the amd64 version (amd64_microsoft.vc80.atl_1fc8b3b9a1e18e3b_8.0.50727.4053_none_8a1a02152edb659b.manifest). So, I needed to hunt down the correct manifest file content for the 64-bit version with the proper hash value, but unfortunately this was where my googling came up short.

    After being a bit more creative with my search terms, I discovered the Microsoft knowledge base article 2688946: FIX: Error message when you install SQL Server 2012: “The identities of the manifests are identical but their contents are different”. The article also said that the fix for this issue was released in Cumulative Update 1 for SQL Server 2012. So, off to KB 2679368 then to request a download link for the CU1 file. Looks like MS doesn’t want just anyone installing these, so they make you fill in a form with your email address + captcha in order to get the file, but luckily that’s all there was to the process.

    I was a bit puzzled by the fact that the CU1 installer said “This installation provides updates for the Community Technology Preview (August CTP)“, but apparently it’s fully valid for the RTM version, too. I guess the components in SQL tend to be less strict about versions, since the SQL Server 2012 Reporting Services Configuration Tool still has “SQL Server 2008” in the process description… Anyway, after applying CU1 I was able to start the Reporting Services service and proceed with the CRM installation. Success!

    The lesson: there’s always an update hiding somewhere

    When building your development or demo environment, it’s important to be aware of the fact that what you get from the MSDN subscriber downloads site is mostly RTM bits. Especially when going for SQL Sever 2012 as the database for Dynamics CRM 2011, you should not use these files at all, because the installation won’t work. Just grab the product key from MSDN, but go to Microsoft Download Center here (direct download link to CRM 2011 Server) to get the new version that includes Update Rollup 6. Otherwise you won’t be able to configure the Reporting Extensions and will get the error “Unable to validate SQL Server Reporting Services Report Server installation. Please check that it is correctly installed on the local machine.” See this thread on the CRM Forum for some more info.

    Shortly after completing the CRM installation I discovered that there is in fact already a Cumulative Update 2 for SQL Server 2012, too. Wow, things move fast nowadays! Didn’t SQL 2012 get released just recently? Well, it turns out that actually the first cumulative update to SQL Server 2012 was released only 9 days after the general availability (GA) of SQL 2012. Let’s have a look at the Incremental Servicing Model of SQL Server in a bit more detail to understand what’s going on.

    It looks like also the SQL Server team have adopted a fairly agile release policy that mirrors the Dynamics CRM release roadmap concepts to some extent. What they call a Cumulative Update (CU) seems to correspond to the Update Rollup (UR) in the Dynamics CRM lingo, meaning they are both collections of hotfixes, released on a bi-monthly target schedule. However, unlike CRM Update Rollups that are nowadays delivered through Windows Update / Microsoft Update, the SQL CU’s won’t be delivered through this mechanism, because those updates need to fall into the General Distribution Release (GDR) category as defined by Microsoft (you didn’t think it was going to be that simple, now did you?). So, that’s why after installing SQL 2012 + CRM 2011 on a new Windows server you’ll automatically get Update Rollup 8 for CRM, but no updates for SQL. If you need the latest hotfixes, you should acquired the Cumulative Update package through the KB pages.

    Finally, yes, there will also be a Service Pack 1 for SQL Server 2012 released eventually, as many people will refrain from deploying a production database on a new version until this traditional MS software milestone has been reached. Whether the SP1 for SQL 2012 will be a similar release as the Q2 2012 Service Update for Dynamics CRM (to be released sometime in Q3) I’m not so sure, since in the world of CRM these Service Updates contain significant new functionality in addition to the previously released hotfixes. The latest information on SQL updates can be found from the SQL Release Serivces Blog. Note that there are no Service Packs available for Dynamics CRM, so the terminology used in describing the release policies will likely remain different from other Microsoft products like SQL or Windows. For a more detailed description of the CRM update terminology and delivery mechanisms, please see my previous post on the topic.

  • When will my cloud get updated? CRM Online and Update Rollup status

    The benefits of running your Dynamics CRM application in Microsoft’s cloud is that you don’t have to worry about installing update rollups to your server, since MS takes care of all that maintenance. The downside is that you can’t be sure when exactly the updates take place. As we’re coming closer to the expected release date of Dynamics CRM R8, it’s a good time to reflect on the past update schedules of CRM Online.

    As of mid-June, CRM Online organizations are still running only the Update Rollup 5 version (at least on the EMEA CRM4 data center), while on-premises environments may already be running Update Rollup 8. No matter if you use an existing environment or sign up for a new trial organization, the version you get is 5.0.9688.1561. This corresponds to roughly the build number of on-premises UR5, which is 5.0.9688.1533, whereas Update Rollup 6 is 5.0.9690.1992 already. How can you check the version of your CRM Online application? Simple: on the browser client just click File – Help – About Microsoft Dynamics CRM. You’ll see version from the top of the pop-up screen.

    So, where do I go to translate those ten digits into a human readable version name? For the list of detailed build numbers, related KB articles and other information, be sure to bookmark this page on the Dynamics CRM In The Field blog: Microsoft Dynamics CRM 4.0 and 2011 Update Rollup Release Dates, Build Numbers, and Collateral. That page is being updated as new rollups are released and it also has in the past contained projected release dates of upcoming updates as well. Has, since at the time of writing it no longer does. Also note that the CRM Online build numbers and release schedules can and will differ from on-premises, as we’ve already seen.

    How to check the Update Rollup version on CRM Online

    Back when Update Rollup 7 was released on March 22nd, the accompanying post on the CRM Team blog promised the CRM Online Datacenter update schedule to “Mid to Late April, 2012”. This was also the information on the related article KB 2600643, but things have changed since then, as now all the post UR5 KB articles read:

    For online customers Infrastructure improvements are being made to CRM Online. Because of this, update rollups will not be applied to servers until the improvements are complete. Through the System Notifications page for the system maintenance window, you will be notified of when your organization will be updated to the new infrastructure. The latest updates will be applied at that time. 

    It’s no secret that Microsoft is working on bringing the Dynamics CRM Online and Office 365 clouds onto a single platform and unifying many of the surrounding components, such as subscription management or user authentication. This has apparently caused the planned schedules of Update Rollups to CRM Online get changed from those earlier communicated. When UR5, also known as the Q4 2011 Service Update, was released, it was deployed first to CRM Online environments before becoming available for on-premises and hosted environments. Since then we’ve seen UR6, UR7 and UR8 all get released to the on-premises environments first, with CRM Online remaining in the “UR5+” status for quite some time. Note that the builds are not exactly the same and there are likely to be differences in what the terminology means for different platforms. For example, UR6 brought support for SQL Server 2012, but we’ve already heard Microsoft say that CRM Online was running on SQL 2012 long before that.

    What the current status of updates to the Microsoft hosted cloud means that CRM Online customers are not yet able to leverage enhancements brought in UR6-8, such as the read-optimized forms introduced in Update Rollup 7. Also any server side bugfixes and functional changes beyond UR5 must be assumed to be lacking from CRM Online organizations, although we can’t know for sure what may have been applied as hotfixes. For example, problems with connections not merging when deactivating duplicate records was fixed in UR7.

    On the client side things are a bit different, since all the Update Rollups are rolling onto CRM Outlook clients through Microsoft Update. There is no longer a separate client version for Online and on-premises, so everybody gets the same hotfixes. Even though Microsoft recommends that the client and server Update Rollup versions should be kept close to one another, they don’t need to be identical. Here’s what it says on the CRM In The Field blog:

    The general rule of thumb is to try to keep the versions in sync as much as possible. However, it is permissible (though not recommended as a long-term solution) to run mismatched Update Rollup versions on Outlook client and server, as Microsoft does do some testing of such combinations.

    So, since the CRM Online version difference is obviously well known by MS, the UR combinations shouldn’t be an issue for Outlook users who’ve deployed the latest Microsoft Update packages. Even if you’re using the offline database in your CRM Outlook client, I assume compatibility between the CRM Online database has been taken into consideration. Of course in the field of IT, you should never assume anything, rather you should test any Update Rollups in a dedicated test environment, but smaller CRM customers may not always have that luxury. Which gets us to the following rule of thumb: don’t ever be the first one deploy the latest Update Rollup once it’s released. Wait a few weeks and check out the CRM forums and blog posts to read about the experiences other users have with the latest update, only then decide to deploy the update onto production devices (first onto your own test servers and clients, if you have them available). The Dynamics CRM community tends to be quite effective in reporting new issues that arise with UR’s, so leverage the wisdom of the crowd and save yourself from some unpleasant surprises.

    The big question that many people are searching for an answer to is: when exactly will Dynamics CRM R8 / Update Rollup 9 / Q2 2012 Service Update be released? (In case that previous terminology trio made no sense to you, be sure to read my explanation of the “Dynamics CRM update & version madness”.) I wish we knew, but in reality only Microsoft has that information and it hasn’t been publicly communicated. We’ve got less than two weeks to go on the Q2 of 2012, which makes it a tight schedule to keep if also Online organizations would need to be updated in addition to releasing the on-premises bits. We need to remember that R8 is a very significant update due to the added cross browser support, which will surely keep many CRM developers busy with fixing legacy scripts, so any issues that the R8 beta program may have revealed certainly need to be thoroughly investigated and I’m glad if Microsoft is taking extra time to get the whole CRM Anywhere experience right with UR9.

    Status update 2012-06-20: As reported on XRM Services blog, the US data center CRM Online organizations were updated to 5.0.9690.2174 on June 19th, which translates to Update Rollup 7+ but still a bit below the Update Rollup 8 available for on-premises environments. A similar update has been scheduled to take place on EMEA data centers one week later, on June 26th. Since it’s quite unlikely that there would be several maintenance breaks on consecutive weeks, this appears to indicate that at least for CRM Online customers the long awaited R8 release, also known as Microsoft Dynamics CRM Q2 2012 Service Update, appears to be delayed from the original schedule and now seems to become “Q3 2012 Service Update”. It is of course still possible that the on-premises bits for Update Rollup 9 will be released before the end of June.

    Status update 2012-07-04: It’s Q3 now and we know for sure that the release of R8 has been delayed from Q2 2012. The service break for CRM Online on June 26th in EMEA didn’t actually bring any updates to the CRM application, but now there’s another maintenance break scheduled for July 11th. Since the US data center went from UR5+ to UR7+ in the previous round, this may just be EMEA catching up on the delayed Update Rollups.  I’ll update the post again as we see the results or hear announcements from Microsoft so watch this space.

    Status update 2012-07-07: Finally we have a release date of July 19th for CRM Online. However, the “CRM Anywhere” functionality has been dropped from the update and will not arrive until six months later in Q4 2012. Read my analysis on the announcements from this blog post.

  • Why Microsoft needs to buy Yammer

    Edit 2012-06-25: it has now been confirmed, Microsoft has acquired Yammer. The rest of the post is still valid, so please do read on.

    There’s a rumor going around as of June 14th that Microsoft is about to buy Yammer for over $ 1 billion. While Yammer is not strictly speaking about CRM or even social CRM, they are very much about the social business transformation that is shaking up all the tools that businesses use, including CRM. That’s why I thought I’d share some thoughts and examples of why I think this deal would be really important for Microsoft.

    First, a couple of tasks that are not too much fun with the Microsoft business apps as of now.

    Sharing content is not fun

    Our corporate intranet was upgraded from SharePoint 2007 (BPOS) to 2010 a few months ago. I was interested in trying if I could leverage the built in social capabilities for replacing our Yammer network (free version, in limited use, shadow IT at its best) for sharing interesting online articles with our team. In Yammer you get a cool graphical preview of the shared URL’s target page, you can add tags right under your post (or through hashtags), mention people in posts, follow them etc. All the good stuff that’s made Twitter what it is + then some.

    Looking for a way to properly do this in our SharePoint intranet got me really confused:

    Should I write my comment + URL on the little note board in my personal page? Hmm, no this doesn’t achieve what I want. Do I put it on the callout box on top of my profile picture? Naah, that just works for short “working on CRM implementation at Singapore” type of updates, not URLs. Looks like there’s no good user experience for link sharing round here, and even if there was, how would people actually discover my content? Or if they would, what place could they use for replying and starting a discussion around the topic?

    The sheer amount of effort I was required to put in investigating how the SharePoint social features work is already a showstopper, as most other users won’t be interested in making that kind of an investment. On Yammer and other modern social tools they don’t need to RTFM. If you know how to use Facebook, then you know enough about Yammer to get started. Which is why I’ve sticked with Yammer for content sharing and left SharePoint mainly for document management purposes.

    Sure, a lot of social functionality could be developed by using SharePoint 2010 as the platform for it. Unfortunately the word “could” very often gets replaced with “won’t” in real life. I call it the 90-9-1 rule of business apps. 90% of customers stick with the out-of-the-box functionality, either by choice or by ignorance. 9% invest resources into configuring and customizing the functionality to meet their own requirements. Only 1% go and develop something really cool that squeezes out all that “could” juice from the application by building advanced integrations & custom UI’s.

    “But wait, isn’t SharePoint 2013 going to kill all the other enterprise social software with its new social features?” I’d love to see that happen, but there’s been some doubts expressed about this and I think the rumors sound all too plausible (see: Microsoft: SharePoint 2013 Will Suck at Social – Get Something Else!).

    Searching for content is not fun

    Dynamics CRM is a great platform in so many ways, but one thing that’s severely lacking in it is the search capabilities. No, not the Advanced Find query editor, which is awesome (well, as awesome as FetchXML limitations allows it to be, but anyway). I mean the kind of searches we do on 99% of our daily applications: free text search.

    If I want to look up opportunity records that contain the text “foo” and “bar”, I can’t just type it into a search box like in Google as only a single search term is supported on Quick Find (yeah, I know Outlook client is a different app). Alternatively, if I want to look for “foobar” from all my records in CRM, I’ll need to acquired a global search add-on from a 3rd party, since Dynamics CRM doesn’t provide a cross-entity search capability. (Oh, and did I mention you can’t search the Activity Feed post content at all?) Sure, you could again build a solution for this with BCS and SharePoint, but that get’s us back to the 90-9-1 rule…

    Yammer sure promises a lot with its Universal Search functionality, with advertised capabilities to search across LoB apps like SAP or SharePoint. Whether they can deliver, I’m not sure yet, since at least the free version’s search is often unable to find content that is there. Still, they support the “human” way of searching for unstructured content, which means they can always improve the functionality, simply because they have it to begin with.

    Why Yammer wouldn’t solve everything

    If Microsoft buys Yammer tomorrow, will these things get fixed overnight? No, probably they won’t. Their logo will surely find its way into all presentations in a heartbeat, but the practical implications may be less immediate. Consider Skype, how much has that acquisition changed the lives of Microsoft customers? Not very much yet, probably Windows Phone 8 will be the first real evidence of Skype being an MS product. Another example could be Microsoft’s deal with CWR Mobile, which will initially only change the purchase process and branding of Microsoft Dynamics CRM Mobile for CRM Online users. Since Yammer has just recently announced their own integration to Dynamics CRM, that would most likely be the extent of MS’s offering for quite some time.

    When a solution comes from the outside, integrating it into the portfolio with the rest of the products can be troublesome. Dynamics CRM is pretty much an in-house product that Microsoft has developed internally, unlike for example their ERP products they’ve acquired from elsewhere. My knowledge of NAV, AX, SL, GP or C5 is very limited and I don’t claim to understand the day-to-day challenges that accounting people face when dealing with legislative quirks that us CRM guys don’t need to worry about, but: five products vs. one?

    Sometimes you may not have the choice of buy vs. build if the market is expecting you to make big acquisitions to prove that you haven’t fallen behind your competition on investment levels. Oracle and Salesforce.com sure have been big spenders when it comes to anything related to social. $5 billion and $3 billion respectively, as illustrated on this infographic,  all spent on buying themselves a suite of applications that can deliver a social CRM / social business platform when combined.

    Should Microsoft go on a similar shopping spree? I don’t think trying to buy your way into social business is necessarily the right or only answer. What’s most importnat in my opinion is that after adopting the cloud Microsoft will set its next focus to be adopting social, for real. Betting on the cloud is starting to pay off for Microsoft the way I see it. Now it’s time for their next move. All in, once again?

  • Activity Feeds in R8: from follow to filter

    One of the functional areas to receive an update in the Dynamics CRM R8 release in Q2 2012 will be the Activity Feeds, which were originally introduced as an optional solution in the previous R7 release. In R8 we’ll get the ability to filter the content of the feed, but what are the implications of this enhancement in practice? Bigger than you might imagine at first.

    While the concept of a wall with an activity feed fits well within a modern business application that must not only provide a method to enter  & query data but also allow users to discover relevant information and comment on it, there was a slight handicap in the initial version of the Dynamics CRM Activity Feeds. This was the requirement that you had to explicitly tag the records you wanted to follow, before anything would show up on your wall. What may initially appear as a convenient way to select the updates you’re interested in seeing on your personal feed can soon become difficult for the users to actively manage.

    Let’s imagine a scenario where a user is interested in regularly monitoring the activity feed posts around prospect accounts that have open opportunities. How would the Activity Feeds functionality meet this requirement? Before R8 you would have needed to perform Advanced Find queries on the records that match a certain criteria, then select all (max 250 at a time) and click the “Follow” button on the ribbon. Of course if any new records were created or modified after your search, you wouldn’t have seen updates related to them unless you performed the query again and again. The most advanced users could of course have created a workflow rule that adds the follows based on new events in the database, but a process like that would hardly be obvious for the majority of CRM users. Automating this with a centrally managed workflow or plugin to automatically generate follow records for the appropriate audience on the other hand requires the type of top-down information system planning that doesn’t fit well with the whole idea of social business and its empowered end users.

    In R8 all this will change. The system now allows you to define dynamic filters for retrieving posts regarding records that meet the filter criteria. Rather than individually cherry picking records on your follow list, you can now look at the available Activity Feed posts which reference records of a particular type, such as the aforementioned “prospects with open opportunities”.

    In short, you don’t need to follow records anymore. It’s now optional.

    Ok, so anyone can then go and create a filter for exactly the types of records that they want to see posts from, set that as their default posts view and just enjoy the feed, right? Well, unfortunately not quite. Only the system administrator or system customizer can create new system views and promote them to become available filters for Activity Feed posts. So, how do you create a new filter for Activity Feeds then? Here are the steps:

    1. Go to the Customizations menu, open a suitable solution with the entity you wish to create filters for.
    2. Build a new system view and set the filter criteria of the view to match the filter you want to apply on records from which the related Activity Feed posts should be available. Publish your customizations.
    3. Go to the Activity Feeds Configuration menu and open the Post Configuration record for the corresponding entity (if one doesn’t exist, create a new one with the schema name of the entity).
    4. From the Filters subgrid, select your new view and click Show on the ribbon. No need to publish anything, as this is configuration data (not metadata) and the changes will take place  right away.

    It looks like any new Activity Feed filters published will become visible in the selector menu on the wall by default. The user has the option to click “modify this list” and access a view called My Filters. If any of the filters made available to the whole organization are not relevant to them, this is where the users can set to hide them from their Activity Feeds menu. As a little extra touch, the sort order of the filters can be also adjusted.

    While this means that the users have some level of control over the filters visible to them, the same will not be true for the actual system views that need to be created and published for the whole organization to see, in order to make the filters available to the users who may need them. Personal views will not appear as Activity Feed filters, at least not in the R8 release.

    All in all, it may not be the most elegant solution for the problem of filtering Activity Feed posts, but it definitely does make the whole feature considerably more useful. The pain of getting users to go and follow records in CRM is reduced, as is the need for creating workflows or writing plugins that add the follow records automatically based on some business logic. Also, the benefits of the Activity Feed will be much more apparent for a user who is simply browsing the system contents, as he or she will be able to access a list of account related posts with the simple selection of one filter.

    Looking at the rest of the Activity Feed functionality, there is no further automation regarding the creation of auto posts in the R8 update as far as I know. Default entities have Activity Feed Rules available but for custom entities or events not included in the out-of-the-box rules, you’ll need a workflow or plugin to create the post. One thing that’s important to understand is that the Activity Feeds are not about showing all the updates taking place regarding a record. That’s what auditing is for. Unless you have configured yourself an auto post to be added whenever a record X of entity Y is created, nothing will show up on your wall, regardless of the new filtering capabilities.

    In R8 the follow limit in CRM Online will be increased in R8, but there’s still a hard limit of maximum 1000 follows per user. On-premises servers will have the possibility of increasing this limit, but performance impact is to be expected at some point due to the complex nature of the underlying Fetch XML queries used in constructing the result views for the walls. A very welcome new feature is the ability to enable also organization owned entities for Activity Feeds. This means you can add a wall on a competitor entity form, for example, which was previously not possible.

    What we’re still lacking is the ability to perform searches on the content of Activity Feed posts. Even though the underlying data is in a way structured by containing references to the related records, we’re not able to use any keyword in the actual post text content to perform searches on posts. OK, in theory we are able to perform Quick Find searches on the data if we manually add the post entity into the sitemap, but we’re unable to open the post and comments from there, as the post entity does not have any form that could be used for viewing the content outside of the wall (“the walled garden of activity feeds…”).

    Click to vote for the feature enhancement suggestion on Microsoft Connect

    I find the lack of a search feature on the social content stream quite a strange oversight from Microsoft’s part, considering this is already a v2 release of the solution. If any ISV’s are looking for a new product to develop, then how about creating an Activity Feeds Search solution that offers a custom UI to browse the content of the posts? For the others, why not log in to Microsoft Connect and vote for my product suggestion to Allow Activity Feeds post content to be searched. Thanks for your contribution.

    (For any of you wondering where to get the new, updated version of Activity Feeds, you’ll need to wait for the R8 to be officially released, as described in my previous post. The post here is written based on the R8 beta functionality.)

    Update 2012-07-30: even though the updated Activity Feeds functionality in R8 seemed quite polished, it now looks like these new features have also been postponed by 6 months until the Q4 2012 release, alongside cross-browser and mobile support. I find this decision particularly hard to understand, since the only thing you would need for the new Activity Feeds solution to work in an Update Rollup 8 environment would be a few expansions to the database schema, as far as I can see. Could there be some implications from the recent Yammer acquisition that have forced the Dynamics CRM team to halt any updates to their home brew feed functionality, that’s something we’ll probably never know for sure.

  • Dynamics CRM update & version madness explained

    Things used to be simple back in 2005 when I started working with Microsoft Dynamics CRM (known as only Microsoft CRM back then). You pretty much knew that there would be a version update every 2-3 years. In between, there would be a number of hotfixes created to address software bugs, which were packaged as “Update Rollups”. CRM 3.0 received in total three such packages. CRM 4.0 things kicked up a notch as we started getting these Update Rollups (UR) based on a regular schedule, one update every 2 months (until they were put on hold after UR21). CRM 2011 adopted the same UR release schedule, but in addition to that, Microsoft announced that they would adopt a new agile release model.

    Exactly one year after the announcement we find ourselves in situation that may seem quite confusing to the casual observer. There are new releases in the horizon on a continuous basis and it’s easy to lose track of what exactly is meant by which update. Well, here’s my shot at explaining what’s going on.

    What’s the “R” in R8?

    R8 means Release 8. OK, so what are the previous seven versions then? They don’t refer to CRM 1.0, 1.2, 3.0, 4.0 or 2011 (there never was a 2.0, as some of you will remember). This R-based naming policy comes from the CRM Online product, which used to have its own release schedule with no UR’s and a slightly different code base from the on-premises product. The first R was presumably released when CRM Online was announced in April 2008. Things changed when Microsoft Dynamics CRM 2011 was released on January 15th, 2011, after which both the Online and on-premises version have pretty much gone hand in hand.

    The “Rx” naming signifies a new functionality release and should never be used to refer to Update Rollup versions. Don’t shorten UR8 to R8, because the two are not the same (even though they are intertwined as we’ll later see). The Update Rollup version numbers always start from 1, so there’s been an Update Rollup 1 for both Dynamics CRM 2011, CRM 4.0 as well as CRM 3.0. Makes googling for information all the more merrier, eh? The Rx releases are a product of the cloud era and until we reach the next era beyond cloud apps, I don’t expect Microsoft to start the numbers from R1 all over again.

    What’s the Q2 2012 Service Update?

    Since it would have been confusing for on-prem customers to first release Microsoft Dynamics CRM 2011, then follow it up with a “Release 7” all of a sudden, Microsoft decided to come up with a different naming policy for these new, agile releases. Unfortunately, the naming policy they chose gave us monsters like “Microsoft Dynamics CRM 2011 Q4 2011 Service Update”. Wow, how catchy, and only 50 characters long! As a result of this, what was originally supposed to be just internal jargon became the preferred option for human communication and we learned to know the update as R7. 50 vs. 2 chars, which one would you expect to fly in the age of Twitter? ‘Nuff said.

    Most of you must surely be already familiar with the contents of R8, the next release, and if you’re not, here’s a link to the Release Preview Guide. The real catch is in how the promised new features will actually be delivered. The correct answers to this question are:

    • In multiple Update Rollup versions
    • As solution files
    • Through Microsoft hosted, subscription based services or 3rd party licensing
    • In other Microsoft products

    A, B, C, D – tick ’em all. This is the reason why there will not be any single place where you can “download R8”.

    What will the Update Rollup 9 contain?

    The official release announcement of Q2 2012 Service Update will most likely coincide with Update Rollup 9. However, if you study the contents of the Guide, you’ll find features that have already been released before UR9. Rapid View Forms were introduced in March as part of UR7 and re-labelled as Read-Optimized Forms. The same is true for SQL Server 2012 compatibility.

    As we know from the previous R7 release, Activity Feeds are delivered as a solution package that you will need to download from the Dynamics Marketplace and configure manually. The Activity Feeds solution is not a part of the “core” Dynamics CRM product. However, there are parts of it that have been built into the platform, which is why at least Update Rollup 5 is required in order to install the solution. Similarly, you will need to get an updated version of the Activity Feeds solution after installing Update Rollup 9, otherwise you won’t see the new features.

    A key deliverable of Update Rollup 9 will be the cross-browser compatibility that makes Dynamics CRM available on Chrome, Firefox and Safari. Since this is such a significant change to the platform, Microsoft has been kind enough to grant access to the R8 beta release for anyone who’s willing to follow these steps. Please note that the beta bits available for download cannot be upgraded to the final release of R8, so use them in a test environment only.

    Extended browser support is completely separate from the mobile device support promised in R8. While you will be able to run CRM on an iPad Safari browser, the mobile UI demoed by Microsoft in numerous occasions is only available as 1) a subscription service from Microsoft, if you’re running Online or IFD, or 2) a perpetual license to be purchased from CWR Mobility if you intend to host the required service on your own server. Trying to access your Dynamics CRM environment after UR9 installation with an iPhone will most likely just give you the simplified Mobile Express user interface already familiar from the CRM 4.0 days.

    Oh, and do note that the Microsoft Dynamics CRM Mobile released for Windows Phone 7 back in Q4 2011 Service Update is a completely separate product, even though it carries exactly the same name as the new offering developed by CWR Mobility and later on re-labelled by Microsoft. Since CWR Mobility didn’t have a Windows Phone client, this mobile app will likely remain on a separate development roadmap from the CWR-based offering.

    What’s the role of SQL Server 2012 in all this?

    If you haven’t seen the cool drag & drop report designer or the animated bubble chart demo of Power View, take a look at this video:

    Wow, wouldn’t that look nice on a Dynamics CRM dashboard! Well, even though Power View is listed as one of the R8 features, there’s a couple things you should know:

    • It’s not available in the cloud. Sorry, CRM Online users. Maybe in R9 then?
    • CRM dashboards are a different data visualization technique that will remain “as is” for R8, not integrated with Power View.
    The pre-configured Power View templates promised in R8 will be delivered as a Dynamics Labs solution, probably as a download from the Dynamics Marketplace. The same goes for the PowerPivot models to be included. Note that if you want to publish these PowerPivots to your organization, you’ll need an on-premises SharePoint Server 2010 with Enterprise CAL’s to view their contents on a browser window in your intranet.

    In addition, if you plan to use SQL Server 2012 for hosting your Dynamics CRM database and Reporting Services, it’s good to know that you can’t achieve this configuration with the RTM bits for Dynamics CRM 2011. Update Rollup 6 has established a new baseline for CRM and you’ll need to download the server installation files from Microsoft Download Center, otherwise you’ll run into the following error while trying to install the Reporting Extensions:

    Unable to validate SQL Server Reporting Services Report Server installation. Please check that it is correctly installed on the local machine.

    What time is Metro?

    Putting things into perspective, Dynamics CRM is a small fish in the tank compared to the big whale that is Windows 8. Since R8 will be out well before Windows 8, there isn’t yet a 100% support provided for the Internet Explorer 10 browser provided with it. Hopefully the remaining issues will be addressed by upcoming UR’s as Windows 8 is nevertheless just around the corner. Presumably we’ll see a proper Metro app for Dynamics CRM once R9 is released later this year. After all, the Windows RT tablets will not be able to run Outlook and we’ll need some solution for activity tracking to and from CRM.

    When it comes to Windows Server 8, official support has not been announced. However, that doesn’t mean you couldn’t install Dynamics CRM 2011 Server on a Windows 8. Daniel Cai has done just that and offers a tutorial for anyone wanting to test R8 on the very latest Microsoft products available.

  • Cross-browser support implications for CRM developers and users

    Soon the R8 update of Microsoft Dynamics CRM will be upon us and the application will officially open up to browsers other than Internet Explorer. What this means is CRM will also be accessible through different devices than just Windows PC’s: Macs, Linux machines, iPads and other tablets. Exciting times for all CRM geeks around the world, myself included, which is why I already wrote some of my thoughts on the topic after the Q2 2012 Service Update contents was revealed (see the post “To the eXtreme, part 2: The future of the web caught up with IE and Dynamics CRM”).

    More supported browsers & devices will inevitably mean more work for CRM developers, as testing your application on IE alone will no longer be enough. As we get closer to R8 go-live before the end of Q2, the need for more detailed information on the practical implications is surely growing. Luckily XRM Virtual had managed to get Karun Krishna from Microsoft to give a webinar on the topic of cross-browser development on May 1st. The Live Meeting recording is now available for viewing at the XRM Virtual site. Apparently also Karun’s slides were shared during the live session, but since the recording didn’t contain them, I decided to write down a few notes of mine from the contents of the presentation.

    First up is the detailed browser support matrix seen below, which expands the list previously provided in the R8 release preview guide. Included are new yellow boxes for Internet Explorer 10 on Windows 7 and Windows 8, which indicate a “supported but not full fidelity” user experience for Dynamics CRM. Also the Firefox support on Mac OS X appears to have fallen onto this level where some display/functionality bugs will exist.

    Microsoft Dynamics CRM 2011 cross-browser support matrix

    In his presentation, Karun explained that while the CRM team tried to use HTML5 compliant techniques wherever possible, there were still some areas where an alternative approach had to be used in order to replicate the existing Dynamics CRM functionality across non-IE browsers. Any IE specific APIs have been removed, but as the w3C standards are still evolving, there isn’t necessarily always one single right way to implement a specific functionality in the cross-browser world. Therefore a feature detection approach for checking for browser capability differences is recommended over developing for any specific browser version. The webinar included examples and best practices on API’s and XML processing, so be sure to view the recording for details.

    It was announced already earlier that using browsers other than Internet Explorer for the administration and customization menus of Dynamics CRM would not be supported. Sorry guys, you’ll still need to boot into Windows on your MacBook if you intend to do any customization work. Some additional information was now provided on features that will not be supported on other browsers than IE. These include:

    • Workplace calendar
    • Services (scheduling) and service calendar
    • Editors for workflows and dialogs
    • Lync based presence information

    One thing to note is that the old crmForm object API from CRM 4.0 days will continue to work only for Internet Explorer. Therefore if you have any scripts in place that have not been updated to use the Xrm.Page methods, these won’t work for users on Chrome, Safari or Firefox.

    Finally, while iPad 2 support with iOS 5 is provided, it’s important to note that this is simply the support for usage through Safari browser, not a dedicated application optimized for the tablet environment. For the premium UX you’ll need to acquire/subscribe to an add-on app like the Microsoft Dynamics CRM Mobile for iPad, of which you can view screenshots in this post. The browser experience on an iPad 2 will have the following known limitations/issues:

    • No popus. Since Dynamics CRM by default opens a wealth of windows and dialogs, this doesn’t match well with the “flat” UI’s of tablet apps.
    • Touch events compared to mouse events will cause some lack of functionality (no right click, double click)
    • iFrame scroll bars may be missing.
    • Window closing has issues due to a focus related bug in the .close API
    • No Silverlight. Well, no surprise there…

    Edit 9.5.2012: The long awaited R8 release for Microsoft Dynamics CRM 2011 is now available as a beta version! PartnerSource login is required for the beta program sign-up and download (CustomerSource might also work) at http://bit.ly/crmr8beta. If you want to test your Dynamics CRM solutions in a cross-browser environment (Safari, Chrome, Firefox) before the official release of Update Rollup 9, then this is the program for you. Please note that the beta version of R8 will not support an upgrade to the final version of R8, so you should apply it to a dedicated test environment only.

  • File storage and CRM: what you should know

    File storage and CRM: what you should know

    Dynamics CRM is a great system for managing your customer data. “Alright, so can you tell me how do I upload all my customer document folders in here?” Well, you don’t. Or more precisely, you better not do it. You see, while it’s more than likely that you have lots of files regarding your existing and potential customers, putting these into your customer relationship management system is rarely a sensible approach. Let me illustrate a few issues that you will encounter if trying to use file attachments in Dynamics CRM as document management solution.

    Storage cost

    Due to some recent announcements on pricing & functionality related updates in Microsoft’s cloud based services in April 2012, I decided to do a little comparison of storage costs between three services. SkyDrive, a consumer focused product that has very recently acquired Dropbpx-like skills of synchronizing content from one or more client PC’s (or mobile devices) into the cloud. SharePoint Online, the SaaS edition of Microsoft’s collaboration / content management platform that’s currently licensed to around 125 million business users around the world in all it’s editions. Finally, CRM Online, the Microsoft hosted version of Dynamics CRM. All of these products include some base level quota for storage, but since the subscription prices per user are not really comparable due to the application functionality included in each, I’ve instead chosen to compare what is the cost of an additional 50 GB storage on each service.

    See the percentage difference in the table when compared to SkyDrive? While a pure file system storage service in the cloud for consumers is practically free these days, as we move towards more structured databases with metadata and workflow related functionality wrapped around the file, things tend to get more expensive. SharePoint Online has just recently cut it’s storage prices by a whopping 92%, yet it remains almost five times as expensive as SkyDrive. Since the price per GB on Dynamics CRM Online has not changed (at least yet), CRM in turn is 50 times as expensive as SharePoint Online. (Note: storage space ain’t cheap on other cloud based CRM systems either, including Salesforce.com).

    Ok, so maybe you’re managing your own servers and SAN’s, which means the direct cost per GB isn’t dramatically different between file shares and database blobs. Let’s look at some application level features that will affect your CRM users nonetheless.

    Search experience

    If we put our files into a structured database that has lots of customer information already, surely that makes them easier to discover when needed? Well, to some extent it does, but not necessarily the way you’d expect. “Did I attach that document to an account, opportunity or contract?” When it comes to Dynamics CRM, you’ll need to be able to answer this question before performing your search, as there is no out-of-the-box way to perform search across multiple entities. Also, instead of entering a natural search phrase like “online migration scribe”, you’ll need to build your query one parameter at a time in Advanced Find, specifying which values should be found in which field or related entity.

    Chances are you found this blog post through Google. That’s the way us humans tend to find what we’re looking for nowadays: free text searches on whichever keywords we have in our minds, rather than selecting a combination of attribute values that correspond to the parent object of the file we are after. Oh, and in case you wanted to search for text from inside the document, forget about it. Attachment contents is not indexed in Dynamics CRM, only fields on the entities directly are available for the search tools.

    Editing experience

    Do you ever need to revise the documents you’ve once created? Having the file as an attachment on a CRM record doesn’t quite give you the same kind of flexibility as a network drive or a document management system. You can’t directly open a document from the system into your MS Word, start editing it and save the changes. Rather you’ll need to store it temporarily on your local hard drive, then upload it back to CRM. The number of clicks and dialog windows involved in the process will not exactly encourage your end users to share information through CRM if they need to go through these steps repeatedly.

    How about archiving different revisions of the document? Let’s not even go there, at least with CRM alone.

    What should we do with our files then?

    While it’s certainly not the end all, be all solution for document management, you should definitely give SharePoint a go and see if it delivers the type of functionality your CRM users would benefit from. The built-in integration between Dynamics CRM 2011 and SharePoint 2010/Online removes much of the pain points mentioned above. Even though it may not cover all the customer document management scenarios directly (access rights, custom folder/site structures etc.), storing files in SharePoint document libraries instead of Dynamics CRM will automatically help you address many of the aforementioned issues related to content search, storage and editing. Also, the CRM SDK provides further extension points for SharePoint document management functionality development, combination with SharePoint’s extension points. You can see an example of such a scenario in this post on the CRM Consultancy blog.

    Thanks to the cloud version of SharePoint Online supporting Dynamics CRM integration starting from November last year, you can easily test the document management functionality in your existing Dynamics CRM 2011 / Online environment by signing up for an Office 365 trial account. With Office 365 E package subscriptions starting at € 7.25 per user per month, even if you’d use the whole subscription for nothing more than complementing the functionality of your CRM system, the cost wouldn’t be all that high, just 18% of a CRM Online subscription price.

    Better yet, if you sign up for Office 365 first and then later on purchase CRM Online, you’ll gain the luxury of using a single Microsoft Online login across both systems (see this post for the steps). Others will need to keep using Windows Live ID for Dynamics CRM until the transition to a single platform on Microsoft’s end has been completed sometime in the future.

  • Top Dynamics CRM links in Q1 2012

    In addition to Surviving CRM, I also maintain a blog called Microsoft Dynamics CRM Links. However, it’s not an actual blog but rather my public bookmarking service for collecting interesting tools, solutions, add-ons, services and other sites that are related to Dynamics CRM. If I discover a useful new tool on, say, CodePlex, I simply create a new blog post using the tool’s name as the title, the URL as the body text and add a few tags for link categorization. I keep the list on WordPress.com because it provides a great cloud based app for managing any content, not just blog posts.

    Even though the primary purpose of the site is for me to personally keep track of interesting links that I may need to come back to later on, there are also other people who have discovered the site, most likely through a search engine. One day I was looking at the statistics that WordPress.com collects and thought that this actually provides an interesting view to what the Dynamics CRM online community is currently searching for. In the spirit of open data, I decided to publish a snapshot of the website visit stats to show what’s hot in CRM right now and also promote some of the most useful tools and apps out there, to help more people discover them. So, without further ado, here’s the list of…

    Most popular Microsoft Dynamics CRM links, Q1 2012

    1. Auto Number for Microsoft Dynamics CRM 2011
    2. Hierarchical Treeview for Dynamics CRM 2011
    3. CRM 2011 User Settings Utility
    4. Ribbon Workbench for Dynamics CRM 2011
    5. MS CRM 2011 Twitter Integration by Pragmasys
    6. MS CRM 2011 Pragma Toolkit: Ribbon, Sitemap Editor
    7. CRM 2011 TreeView for Dependent Picklist
    8. Silverlight CRM Attachment Image
    9. KingswaySoft SSIS Integration Toolkit for Microsoft Dynamics CRM
    10. CRM 2011 Visio add-in: Business Unit Org Chart
    11. Ribbon Editor for Microsoft Dynamics CRM 2011
    12. Dynamics CRM Dashboard for Microsoft Lync by Orbit One
    13. Powertrak In-line Editable Grids for Microsoft Dynamics CRM 2011
    14. Metadata Document Generator for Microsoft Dynamics CRM 2011
    15. CRM 2011 Attribute Mapping
    16. CozyRoc SSIS+ with Dynamics CRM Connection Manager
    17. CRM 2011 Attachment Image Browser HTML Web Resource
    18. Skype Connector Tool for Microsoft Dynamics CRM 2011
    19. Bing Maps Browser for Microsoft Dynamics CRM 2011
    20. Dynamics CRM 2011 Script# Xrm.Page library
    21. Web Resources Manager for Microsoft Dynamics CRM 2011

    There we have it, the most in-demand apps or tools for Dynamics CRM! Just don’t take the list ranking too seriously, as this isn’t a very scientific way to analyze the true popularity of the links. Some of them have been published earlier, some during Q1. Some have better keywords for search engine optimization. The page view volumes are quite limited, as the top page received 145 hits during three months. Nevertheless, I think the data still gives a fairly realistic view of the functionality people working with Microsoft Dynamics CRM are typically searching for, such as:

    • Auto-numbering
    • Hierarchical data visualization
    • Ribbon & sitemap editing tools
    • Displaying images on forms
    • VoIP integration (Lync & Skype)
    • Customization documentation generator

    One way to look at it would be that these are all features/areas where Microsoft could improve the out-of-the-box functionality that Dynamics CRM 2011 delivers. Luckily there’s an active ecosystem around the platform that is creating either commercial or free solutions to address these areas. Especially the open source tools on CodePlex or free code samples published on various CRM expert blogs are highly valuable resources that I’m thankful for, which is why I attempt to do my own little part by sharing the best links with others. I encourage you all to do the same.