Category Archives: MS CRM

Dynamics XRM Tools for CRM

Overview

Dynamics XRM Tools brings you a quality range of applications that provide a useful set of features to enhance your experience while using and developing against Microsoft Dynamics 365. This release provides an updated solution file that is supported for import into newer version of Dynamics.

The ODATA Query Designer has had an update to support the Image attribute.

Also all of the modules are now included in the one solution file which helps with networks and browsers where security does not allow modules to be downloaded from our hosted servers.

http://dynamicsxrmtools.codeplex.com/

Advertisement

Form Message for Dynamics CRM

Download Form Message for Dynamics CRM on Codeplex

The form message solution can be found on CodePlex, it allows you to place custom messages onto a CRM form where you can define text and the image icon such as Success, Error, Information, Warning and Alert.

You can also choose to display the 2 buttons that can be customised with your desired label for example OK, Cancel, or Submit, Cancel, etc… and attach JavaScript functions as call back events for each one.

Form Message with Buttons displayed
Form Message with buttons.png

Available Message Icons

alert_16.png error_16.png info_16.png success_16.png warning_16.png

Adding Form Message web resource to CRM Form
WebResource on Form.png

You can add initial/static text and an icon by supplying Custom Parameters such as text and type like this.

WebResource on Form Custom Parameters.png

Usage

Form Message Functions include

showFormMessage(message, type, iFrame, iframeLoadedCallback)
setFormMessageVisible(iFrame, isVislble)
showMessageConfirmation(iFrame, successCallBack, cancelCallBack, successLabelOverride, cancelLabelOverride)

Form Message Types include

success
alert
warning
error
info

Display Form Message

DXTools.FormMessage.showFormMessage("This is a test Message.", "success", "WebResource_HeaderMessage", function () { });

Display Form Message with Buttons

DXTools.FormMessage.showFormMessage("This is a test Message.", "info", "WebResource_HeaderMessage", function () {
        DXTools.FormMessage.showMessageConfirmation("WebResource_HeaderMessage", function () { alert("yes") }, function () { alert("no"); }, null, null);
    });
});

Download Form Message for Dynamics CRM on Codeplex

Dynamics CRM Discovery and Web Service URLs

Dynamics CRM Discovery and Web Service URL’s based on the following Dynamics CRM SDK articles.

Discover the URL for your organization with IDiscoveryService web service

Download the endpoints using the Dynamics CRM Developer resources page

Here is the information that you need:

For CRM Online customers:

The following URLs should be used to access the discovery service (use the appropriate URL for your location):

Provider: Microsoft Office 365
https://disco.crm.dynamics.com/XRMServices/2011/Discovery.svc (North America)
https://disco.crm4.dynamics.com/XRMServices/2011/Discovery.svc (EMEA)
https://disco.crm5.dynamics.com/XRMServices/2011/Discovery.svc (APAC)

Provider: Microsoft Account
https://dev.crm.dynamics.com/XRMServices/2011/Discovery.svc (North America)
https://dev.crm4.dynamics.com/XRMServices/2011/Discovery.svc (EMEA)
https://dev.crm5.dynamics.com/XRMServices/2011/Discovery.svc (APAC)

The following URLs should be used to access the Organization service(SOAP endpoint):

https://{Organization Name}.api.crm.dynamics.com/XrmServices/2011/Organization.svc (North America)
https://{Organization Name}.api.crm4.dynamics.com/XrmServices/2011/Organization.svc (EMEA)
https://{Organization Name}.api.crm5.dynamics.com/XrmServices/2011/Organization.svc (APAC)

Where {Organization Name} refers to the Organization that you specify in the URL when accessing the Web application. For example, for Contoso.crm.dynamics.com, the {Organization Name} is Contoso.

The following URLs should be used to access the Organization Data service(OData REST endpoint)

https://{Organization Name}.api.crm.dynamics.com/XrmServices/2011/OrganizationData.svc (North America)
https://{Organization Name}.api.crm4.dynamics.com/XrmServices/2011/OrganizationData.svc (EMEA)
https://{Organization Name}.api.crm5.dynamics.com/XrmServices/2011/OrganizationData.svc (APAC)

For On-premise
deployments:
http://{server}/XRMServices/2011/Discovery.svc for the Discovery service endpoint
http://{server}/{OrgName}/XRMServices/2011/Organization.svc for the Organization Service endpoint (SOAP)
http://{server}/{OrgName}/XRMServices/2011/OrganizationData.svc for the Organization Data Service endpoint (REST)
http://{server}/XRMDeployment/2011/Deployment.svc for the Deployment Service endpoint

For IFD deployments:

http://dev.{hostname[:port]}/XRMServices/2011/Discovery.svc for the Discovery service endpoint

CRM 2013 Quick View Menu with Security Applied

The Quick View Menu will now only show an entity related button to a user if they have read privileges to the entity. This is the first phase of security to be applied to the quick view menu, in the next phase it will incorporate sitemap specific privileges which are defined within the Sitemap itself.

This security is not applied to non entity specific Sitemap sub area items, only items that have Entity defined as a Sitemap sub area attribute.

Available from CodePlex http://crm2013quickviewmenu.codeplex.com/

QuickViewMenuFullView

CRM 2013 Quick View Menu with Multi-browser Support

The Quick View Menu helps you navigate to any location in Dynamics CRM quickly and seamlessly by taking your existing Sitemap and presenting it in an easy to navigate interface. The menu currently comes with a Win 8 UI look & feel while also allowing you to provide additional resource and configuration settings.

Multi-browser support tested with IE10+, Chrome, FireFox. Other browsers should work and this will be confirmed in the near future. If you have any issues with any browser please provide feedback.

Available from CodePlex http://crm2013quickviewmenu.codeplex.com/

QuickViewMenuOOB

CRM 2013 Quick View Menu

The Quick View Menu helps you navigate to any location in Dynamics CRM quickly and seamlessly by taking your existing Sitemap and presenting it in an easy to navigate interface. The menu currently comes with a Win 8 UI look & feel while also allowing you to provide additional resource and configuration settings.

Available from CodePlex http://crm2013quickviewmenu.codeplex.com/

Open Quick View from Sitemap

QuickViewMenuBar

Example of CRM Sales

QuickViewMenuOOB

Example of full OOB menu layout and style

QuickViewMenuFullView

The managed solution configuration page provides a Sitemap setting to easily add/remove the Quick View Menu to/from you Sitemap.

QuickViewConfig

Quick View Menu Summary

Current Features

  • Multi-browser support Currently tested with IE 10+, Chrome, FireFox
  • Configure Sitemap Area, Group and SubArea exclusions. (i.e. modify QuickViewMenuConfig.xml)
  • Resource management such as Sitemap item Title, Icon overrides. (i.e. modify QuickViewMenuResources.xml)
  • Win 8 UI look & feel.
  • Add/Remove Quick View Menu to/from the Sitemap easily from the Solution Configuration.
  • Horizontal Mouse Scroll.

Limitations

  • Security is not implemented yet so users can see all menu items except those specified as exclusions. If a user selects a menu option that they have no rights to normally they will just receive a standard CRM access restricted message.

Future Improvements

  • Security
  • Solution Configuration option to easily manage Sitemap Exclusions.
  • Solution Configuration option to easily manage Sitemap Resources.
  • Solution Configuration option to easily manage Colour Scheme.
  • Ability to Customize Quick View Menu layout.
  • Define User specific Quick View Menu layout.

About Dynamics XRM Tools

Dynamics XRM Tools projects aim to provide a richer user experience along with useful tools to help increase productivity.

A joint effort started by Rhett Clinton MVP, Ramon Tebar MVP and Mario Cantero.

Prepare your JavaScript for Dynamics CRM 2013

The CRM Team have posted a very good article on what to look out for with regards ensuring you are ready for Dynamics CRM 2013 form script changes. Take a look at this article to help prepare for your upgrade http://blogs.msdn.com/b/crm/archive/2013/08/23/check-your-javascript-code-to-prepare-for-your-upgrade.aspx .

You can also find the Microsoft Dynamics CRM 2013 Custom Code Validation Tool here http://www.microsoft.com/en-us/download/details.aspx?id=30151. This will help you prepare for your upgrade to Microsoft Dynamics CRM 2013. It is possible that some code will stop working or cause an error when you upgrade from CRM 2011 to 2013 so it is worth putting the time in to investigate. The Microsoft Dynamics CRM Custom Code Validation Tool helps identify potential problems so that any potential issues can be resolved before upgrading. the tool will help identify potential issues with custom JavaScript in JavaScript libraries and HTML web resources. It will detect issues in web resources that will no longer work after you upgrade from CRM 2011 to 2013. Areas that the tool will cover include CRM v4 client SDK calls, CRM 2007 end points and Common DOM manipulations.

if you haven’t already you should go take a look at What’s Changing in the Next Major Release of Dynamics CRM http://msdn.microsoft.com/en-us/library/dn281891.aspx for a broad overview of the new release.

You can download the Microsoft Dynamics CRM 2013 Software Development Kit (SDK) here http://www.microsoft.com/en-us/download/details.aspx?id=40321 to get up to speed regards the fantastic capabilities coming with CRM 2013. The Microsoft Dynamics CRM 2013 Software Development Kit (SDK) is for developers, system customisers, and report writers.

A great site to keep up to date with all the goodness is the Dynamics CRM Develop Center on msdn. http://msdn.microsoft.com/en-us/dynamics/crm/jj937218 where you can get all of the information you need to develop, design, and distribute solutions for Microsoft Dynamics CRM.

Get Ready for CRM 2013 by Donna Edwards MVP

Donna has pulled together a wealth of links to all the juicy goodness that is CRM 2013 and instead of re inventing the wheel you can go and check her page out here. http://edwardsdna.wordpress.com/2013/09/04/getting-ready-for-crm-2013/

You can also watch the CRM Community page for upcoming information here. https://rc.crm.dynamics.com/rc/2011/en-us/Dynamics-CRM-Upcoming-Release-Information.aspx

Microsoft Dynamics CRM 2013 Announcement

Today Microsoft has announced that it will make the new version of CRM, titled Dynamics CRM 2013,  available in fall 2013 (Spring in the southern hemi). Very exciting news and I’m sure many people are going to be getting very excited over the next months as more information becomes shared publically.  Read the MS News Center article here for information http://www.microsoft.com/en-us/news/Press/2013/Jul13/07-02DynamicsCRM13PR.aspx

Additional info

Microsoft Dynamics CRM customers and prospects can learn more about Microsoft Dynamics CRM at http://www.microsoft.com/en-us/dynamics/crm-vision.aspx.

Microsoft Dynamics CRM partners can follow the launch at https://mbs.microsoft.com/partnersource/solutions/CRM/CRMLaunchPage.htm.

You can follow and engage with the Microsoft Dynamics CRM community @MSDynamicsCRM, http://www.twitter.com/msdynamicscrm.

CRM Online to SharePoint Online Integration using REST and ADFS

Accessing SharePoint Online 2013 REST services with SSO via ADFS (Active Directory Federation Services) from CRM Online provides loads of potential opportunities, especially now that SharePoint offers a huge REST API. You can call REST from a CRM Online Plugin or Custom Workflow activity with no dependencies on SharePoint Client dll’s or Azure getting in the way, It is fairly awesome I must say.

I use the HttpWebRequest class to perform SOAP requests to perform the authentication part of this integration, which is totally supported within Sandboxed Plugins and Custom Workflow Activities. You can read more about the restrictions of the CRM Sandboxed environment here http://msdn.microsoft.com/en-us/library/gg334752.aspx. Once you get authenticated and obtain the cookies you are free to fire REST calls off by simply providing the cookies along with the request.

The best diagram I found to describe the authentication process visually was from Wictor Wilen’s blog http://www.wictorwilen.se/

Auth Process

I wanted to explore the issue of authentication between CRM Online and SharePoint Online from a server to server perspective and as you can imagine authentication is a big hurdle for this direct type of communication as every example I have seen so far includes Azure. Well at least until I started to look at what others were doing with Windows 8 Apps and Active Authentication. Omar Venado http://blogs.msdn.com/b/omarv/ and fellow MVP Wictor Wilen http://www.wictorwilen.se/ had some really great articles to help me build out a solution focused on this scenario. The code attached to this blog is heavily derived from Omar’s Windows 8 App code though now is useable in non Windows 8 App projects such as C# Console, SSIS Packages and of course CRM Plugin/Workflow projects. I have added some background reading at the bottom of this post so you can see the articles I used to get my code to work.

An example of how simple this code is to use

Uri spSite = new Uri(https://myOrg.sharepoint.com/sites/mySite”);

bool success = SpoAuthUtility.Create(spSite, username@domain.com, WebUtility.HtmlEncode(“Pword123”), false);

string odataQuery = “_api/web/lists”;

Uri url = new Uri(String.Format(“{0}/{1}”, SpoAuthUtility.Current.SiteUrl, odataQuery));

// Send a json odata request to SPO rest services to fetch all list items for the list.

byte[] result = HTTPHelper.SendODataJsonRequest(

url,

“GET”, // reading data from SP through the rest api usually uses the GET verb

null,

(HttpWebRequest)HttpWebRequest.Create(url),

SpoAuthUtility.Current // pass in the helper object that allows us to make authenticated calls to SPO rest services

);

string response = Encoding.UTF8.GetString(result, 0, result.Length);

You can authenticate using corporate credentials if inside your network, username/password if outside your network (e.g CRM Online O365) and you can also use your onmicrosoft.com accounts. Remember that my primary focus was on server to server integration possibilities, not user to server contexts such as in the current SharePoint CRM List Component model.

The attached C# Console app contains 3 files to provide you with an example of how to use the 2 cs classes HTTPHelper and SPOAuthUtility. To authenticate and start calling REST from CRM Plugins/Workflows simple include the HTTPHelper and SPOAuthUtility cs files into your Plugin/Workflow project.

Example App is available here https://skydrive.live.com/redir?resid=492A170E77E43399!830

Background reading

http://blogs.msdn.com/b/omarv/archive/2012/10/25/windows-8-store-apps-office-365-enterprise-preview-sharepoint-online.aspx

http://blogs.msdn.com/b/omarv/archive/2012/11/15/developing-windows-store-apps-for-sharepoint-online-with-sso-single-sign-on.aspx

http://www.wictorwilen.se/Post/How-to-do-active-authentication-to-Office-365-and-SharePoint-Online.aspx

http://allthatjs.com/2012/03/28/remote-authentication-in-sharepoint-online/