read more..
Preview some upcoming features in Q2 "R8" such as mobility, BI and Analytics enhancements from Reuben Krippner a MSFT Technical Product Management Lead in this video.
One of the most talked about improvements in CRM Anywhere is the introduction of a new mobility component dubbed Microsoft Dynamics CRM Mobile.
Cross-Browser Support
Microsoft Dynamics CRM Mobile isn’t the only reason Microsoft is calling the coming update CRM Anywhere. Users of CRM Online 2011 will now be able to access the application using the following browser versions (see below).
To understand why this is so important for CRM Online 2011, let’s turn to a few third-party statistics on browser usage around the world. The following table compiles several different studies for easy comparison.
You should notice that while Internet Explorer is definitely in the lead, other browsers remain popular. Since users of Firefox, Chrome, and Safari cannot use CRM Online 2011 now, CRM Anywhere will literally double the potential user base of CRM Online 2011.
Are you beginning to understand why Microsoft named its latest update CRM Anywhere? CRM Online 2011, already a versatile application, is being fully extended to mobile devices and all major browsers! When you include the social-media enhancements, you start to see why we think CRM Anywhere is so important.
When CRM Anywhere is released, you will be able to download it either through Windows Update, or at the Microsoft Download Center. Stay tuned here and we’ll provide you with all of the information you need to update when the time comes.
It sounds like this release will still only expose Dynamics CRM records on the activity feeds “wall”, but that the Q4 2012 Service Update will extend this to external communities.
If you’re attending Convergence you’ll probably want to attend some of the sessions on this important topic.
I noticed a question today on a Microsoft Dynamics CRM discussion site asking
“is there anyone who is not trying to sell me their product, that has done something interesting with CRM and Silverlight?”
Well yes there is…
InteractiveWebs have done several interesting projects with Silverlight as an interface to Microsoft CRM.
One of the most interesting of these is a Silverlight membership login system for a grain trading company based in Australia. The business is an organisation that trades produce in a similar way to how shares are traded in the stock market. The difference being that the commodity being traded has been grown by “growers” (farmers) and represents the produce that their farm has for sale in the open grain trade market.
Interestingly, Microsoft CRM is being used entirely for the backend management of this trading. This is quite complex in it’s design as you can imagine would be the case if you were running a stock exchange using CRM.
Entities are being used to track the bidding for sales and purchasing of hundreds of different qualities of different grains, at different locations over an entire country.
Of note to the Silverlight interface, is the fact that there are an ever increasing number of records within this system in the order of 65,000,000 records of some CRM Entities.
In it’s simplest function, the Silverlight interface is a membership system.
Allowing users to login and manage the buying and selling of commodities. Very similar to how users of a Stockbroking system would login and buy and sell their shares. But of course the user data is all being driven from a CRM backend running CRM 2011 with IFD.
The membership login is using custom attributes within CRM Contacts to authenticate and allow login.
Once logged in the user can modify personal details that are saved back to the CRM Contact entity.
Data is retrieved live using XRM to interface with CRM on the fly. Silverlight gives a clean and robust interface for users.
Just like with the sale of share, there is some paperwork generated with the buying and selling of commodities. Broker Notes, Freight Invoices, and Monthly trade Statements are example of just a few. Originally the thought was to interface with a Microsoft SharePoint server to store the related .PDF documents generated for these items. Instead we took the simpler approach of attaching the .PDF documents to the relevant records in the custom entities that are used to track each trade.
This data is simply stored as CRM Notes with Attached Files (.pdf) to the custom Entities.
Then in the Silverlight interface we allow users to open (on the fly) these notes and attached .pdf files to view the “paperwork” associated with each sale.
Summary data is presented that is referencing custom attribute data, and able to be exported live from Silverlight to Excel.
Or clicking on the PDF icon, will open the associated attached note from CRM and open the .pdf record live.
Example of PDF data.
Growers of commodities can create new stock records, listing the gran they have, quality, quantity, location etc in a simple user interface.
Listing too the price they wish to achieve in order to sell the produce.
Doing this creates a new record in a custom Entity in CRM directly, and this data is used in the bidding and selling process.
The data is available to Silverlight users in their record of stock.
Similar in concept to a statement of shares for a stock market trader.
So far, these are reasonably simple interfaces using XRM to CRM. Reading, writing, opening attached files etc. Where it gets interesting is in some real time graphing that we do to show bids on stocks / commodities.
For this we are needing to access tens of thousands of records that represent different bids for different commodities and work out on the fly the best or highest bid, and show that to the client in a fast loading graph.
This is where Silverlight and some cleaver XRM calls to some cleaver processes in CRM delivers a great result.
With the great graphing tools in Silverlight, the graph draws in real time and animates the loading of data. It has a full screen mode:
And is really a great use of Silverlight for this particular task.
One of the features we built on this interface is the ability to “Run Out of Browser”. So the client can right click the interface and select to “Install to this computer”.
This adds the project to an Out of Browser Silverlight experience that can be launched as any other application or program from your computer.
This feature of Silverlight can run on a Mac or PC, and delivers an experience for end users that is very similar to having a membership program installed on your computer.
The project will auto update if we modify the web based source version with a new release automatically. The client is promoted with a messaging saying the program will close to update, then opens with the new version automatically. Truly using the best experience that Silverlight has to offer.
Uninstalling the out of browser app is as simple as a right click in the app, and selecting from a dropdown “Remove this application”.
Kind of like a windows 8 experience with any pc.
Silverlight… ahhh what to say about Silverlight….. where to start.
1. We drank the Kool Aid. Microsoft told us how great Silverlight would be, how it would segregate the design team from the development team and deliver the benefits of keeping people within their specializations.
2. We spend years of time investing in Silverlight development. We get it, we can work with it and we can do amazing things with it. This and other cool projects including a MS Pivot interface to DotNetNuke and Microsoft CRM data.
MS Pivot and CRM – http://demo.interactivewebs.com.au/dnnpivot/dnnpivot_demo.htm
3. We kicked it’s butt. We were able to deliver anything we wanted using Silverlight and made it interface with a multitude of data sources at multiple times using XRM and other web services to pull data from both CRM and other data sources.
We get it, we can do it, we hate it and we regret the time we wasted after Microsoft mislead us into their Silverlight sphere.
Microsoft Silverlight Evangelist – We drank the Kool Aid
Silverlight never came close to delivering on any of the promises that Microsoft made about it.
It is tricky to develop in, it is poorly supported by even Microsoft, design tools are definitely lacking greatly, the development experience was a mine field of poorly documents bugs and broken features that required time and commitment to untangle the crap that Microsoft produced.
It was amazing to us how many things we were doing and solving that literally no one else was talking about. We felt like the first team walking on the Silverlight moon at every step of the way.
The end result is something that we are proud of. There are some cool features that we think make the project example above shine. But for all the time, and trouble invested to deliver it, it is just not worth it!
If looking at this and other similar projects again, we would use other technology to more quickly develop a very similar experience. There quite simply is nothing in Silverlight in interfacing with CRM that we can do easier other ways.
So there you have it. A good example of Silverlight with CRM, and the reason why we would suggest you use other technology yourself.
And check out that Silverlight Pivot link above. It is actually very cool too in what it does and how it does it. We have rigged this to work against any internet facing CRM environment including the Microsoft Hosted CRM.
We wrote this to help someone asking for a non commercial plug for a Silverlight in CRM example. We hope the above meets the requirement of that… but we are a development and CRM business, so we need to mention that if you need some cleaver interfacing with CRM. Then please contact us here http://www.interactivewebs.com/ContactUs.aspx.
We have other examples to show too.
Today we received notification during a PCI compliance check that our Microsoft CRM 2011 server was not PCI Compliant.
The cause of the lack of compliance was due to the server accepting connections via an SSL v 2.0 protocol.
Synopsis : The remote service encrypts traffic using a protocol with known weaknesses . Description : The remote service accepts connections encrypted using S S L 2.0, which reportedly suffers from several cryptographic flaws and has been deprecated for several years . An attacker may be able to exploit these issues to conduct man-in-the-middle attacks or decrypt communications between the affected service and clients . See also : http://www.schneier.com/p
aper-ssl.pdf Solution: Consult the application’s documentation to dis able S S L 2.0 and us e S S L 3.0 or TLS 1.0 instead. Risk Factor: Medium / CVS S Bas e S core : 2 (AV:R/AC:L/Au:NR/C:P/A:N/I:N/B:N)
Perhaps not the worlds biggest deal, as the SSL certificates in place are using the SSL 3.0 however we needed to remove the V2.0 for compliance with PCI.
The solution turned out to be no so easy… Mostly due to the fact that we are using a 64bit Windows 2008 server and Microsoft have only appeared to provide details on fixing 32 bit servers to remove SSL v2.
We did manage to get there and this is what we had to do
You need to run the following commands at a command prompt on the server:
REG ADD “HKLM\System\CurrentControlSet\Control\SecurityProviders\SChannel\Protocols\SSL 2.0\Server” /v Enabled /t REG_DWORD /d 0 /f REG ADD “HKLM\System\CurrentControlSet\Control\SecurityProviders\SChannel\Protocols\SSL 2.0\Client” /v Enabled /t REG_DWORD /d 0 /f REG ADD “HKLM\System\CurrentControlSet\Control\SecurityProviders\SChannel\Protocols\SSL 3.0\Server” /v Enabled /t REG_DWORD /d 1 /f REG ADD “HKLM\System\CurrentControlSet\Control\SecurityProviders\SChannel\Protocols\SSL 3.0\Client” /v Enabled /t REG_DWORD /d 1 /f REG ADD “HKLM\System\CurrentControlSet\Control\SecurityProviders\SChannel\Protocols\TLS 1.0\Server” /v Enabled /t REG_DWORD /d 1 /f REG ADD “HKLM\System\CurrentControlSet\Control\SecurityProviders\SChannel\Protocols\TLS 1.0\Client” /v Enabled /t REG_DWORD /d 1 /f
We created a batch file to make this easier.
You can download the file here, and extract the batch file. Then double click the file called: “DisableSSLv264bit.bat”.
Then Reboot the server.
All it will do is run the above commands and in the registry it will add:
and similar sets to enable SSL v3 and disable SSL v2.
Then you can use a free test service here:
to check that you are disabled.
A failure like this: http://foundeo.com/products/iis-weak-ssl-ciphers/test.cfm
indicates something did not take correctly.
If you are using a 32 bit version of windows. (Not possible with CRM 2011) but possible otherwise, then you can use the Microsoft tool here: http://support.microsoft.com/kb/187498/en-us
Something strange that we have encountered with CRM 2011 is a 404 – File or directory not found error.
What is particularly strange about this one is that the error happens from IE 9 on one computer, but the same URL and site loads correctly with another browser on another computer AND loads correctly to the authentication screens on the same computer but with a different browser.
Go figure right!
Microsoft show it as:
We tried a number of things that did not work, and we will not bother to list them all, but interesting the clearing the browser history and cache etc does not fix it but is needed to fix it.
1. Clear history and cache in the browser:
2. Close the Browser entirely
3. Navigate to C:\Windows\Temp and delete everything in that directory.
4. From this screen, got to browser history settings:
Then View Files:
5. Takes you to this location: C:\Users\XXUSERXX\AppData\Local\Microsoft\Windows\Temporary Internet Files
6. Close Outlook and IE.
7. Delete Everything in that folder that it will allow you to delete. Some files are in use and not able to be deleted.
8. Start IE, and away you go.. you should be able to access the site again.
IE really does suck as a browser, it is a real same and the worst thing about CRM 2011 is that they make you use this junk browser.
Sick of seeing the message “Your session in Microsoft Dynamics CRM is about to expire. To continue working, you must sin in again.” and would like to extend the session time so as not to bother you as often?
This is quite easy with an IFD setup of CRM 2011. We have an IFD configuration and setup that we use to test settings and some of our CRM Portal – Linking to DotNetNuke on.
Taking the server as configured as described here: http://www.interactivewebs.com/blog/index.php/server-tips/microsoft-crm-2011-how-to-configure-ifd-hosted-setup/
We ended up with an ADFS Relying Party Trust that is named “CRM IFD Relaying Party”
This is the name we must use in the Windows PowerShell program to make the necessary changes.
1. Start Windows PowerShell
2. Copy and Paste the following command into PowerShell and hit enter (you can right click to paste):
Add-PSSnapin Microsoft.Adfs.PowerShell
3. Check you have the correct name of the Relying party trust by typing the following:
Get-ADFSRelyingPartyTrust -Name "relying_party"
Where you replace “replying_party” with the name of your relying party trust. In our case we would use:
Get-ADFSRelyingPartyTrust -Name "CRM IFD Relaying Party"
You should see a bunch of junk, indicating that you have the correct name:
4. Now type the following command:
Set-ADFSRelyingPartyTrust -Targetname "relying_party" -TokenLifetime 480
Where you replace the “relying_party” with the name of your relying party. Again in our case we would use:
Set-ADFSRelyingPartyTrust -Targetname "CRM IFD Relaying Party" -TokenLifetime 480
Note that the 480 is in minutes. You can change that value up or down as required.
We chose to use 24 hours for example.
That’s all there is to it. Close the PowerShell and you are done.