XRM Tooling – New Login Control

Posted by on July 14, 2014 in   |  Microsoft Dynamics CRM 2013,   |  Microsoft Dynamics CRM Online  |  commentsComments (0)

With the latest CRM 2013 SDK, Microsoft has provided a new XRM Tooling library to connect to CRM.  Along with the new Tooling library comes a brand new Login control that is styled with the 2013 look and feel and can be used for custom WPF apps. 

In our new video below, I demonstrate how to easily setup the new Login control so you can be on your way with your custom CRM WPF app.

Prerequisites:

 

CRM Online Service Update 3 Rollout

Posted by on July 3, 2014 in   |  Microsoft Dynamics CRM Online  |  commentsComments (0)

CRM Online Service Update 3 is being rolled out this week.  To find out if your organization has been updated, click the gear in the top right corner and click About to check the build number.  The build number for this update is 6.1.0.1043.

This update resolves a handful of issues both performance and usability related.  Here are some of the most notable fixes:

  • Duplicate records created if Save and Save and Close is pressed multiple times
  • Unhandled exceptions in asynchronous plugin instantiation causes Async service to crash
  • Option set not selected on first click
  • SQL deadlock and performance issues after Spring Release ‘14 update was applied
  • Multiple navigation and command bars show up via associated grid navigation

It is nice to see a steady release of fixes from Microsoft.  Especially with a focus of frustrating usability issues and performance optimization.  For a full list of fixes, check the KB article which can be found here.

CRM 2013 Spring ‘14 Package Deployer Tool

Posted by on July 1, 2014 in   |  Microsoft Dynamics CRM 2013,   |  Microsoft Dynamics CRM Online  |  commentsComments (5)

The Package Deployer is a new tool that was released with the CRM Spring ‘14 update and provides administrators with an easier way to deploy to CRM organizations.  The Package Deployer can deploy one or more CRM solution files as well as import data and can even be extended to execute custom code to handle any edge cases while deploying to your CRM org.

Sounds great, so how do we get started?  Well first, you will need to have Visual Studio (2012 or 2013) installed, which we be used to create a package.  Next, download the latest SDK that was released with the Spring ‘14 update which can be found here.  After the SDK is installed, browse to SDK\Templates folder and run the CRMSDKTemplates.vsix to install the necessary Visual Studio Templates.

Now that we have everything setup, we can start to build our deploy package.

  • Open Visual Studio
  • Go to File –> New –> Project
  • Select CRM SDK Templates on the left
  • Select CRM Package Deployment Template and click OK

image

This will create a structure in the Solution Explorer like shown below:

image

The PkgFolder is where you put any CRM Solution files that you would like to be deployed as well as any import data files. 

In my example I have a solution “MySolution1” and “MySolution2” as well as a contacts.csv data import file.

image

Now you can open the ImportConfig.xml and update it with your package files.  At the top of the config file you can also set if you want to install the out-of-the-box sample data as well as if you want to wait for the sample data to install before deploying your package.  There are two agent desktop settings as well that can be used when deploying Unified Service Desk.

In my example I have the package deploying sample data as well as waiting for it to finish before deploying the package.

<configdatastorage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                   installsampledata="true"
                   waitforsampledatatoinstall="true"
                   agentdesktopzipfile=""
                   agentdesktopexename=""
                   crmmigdataimportfile="">

In the solutions node you can define each of your solutions that should be deployed.

<solutions>
    <configsolutionfile solutionpackagefilename="MySolution1.zip" />
    <configsolutionfile solutionpackagefilename="MySolution2.zip" />
</solutions>
 
 

Lastly, you can define any data import files to be imported with the deploy.

<filestoimport>
    <configimportfile filename="contacts.csv" filetype="CSV" associatedmap="" importtoentity="contact" 
                      datadelimiter="" fielddelimiter="comma" enableduplicatedetection="true" isfirstrowheader="true"  
                      isrecordownerateam="false" owneruser="" waitforimporttocomplete="true"/>
</filestoimport>

That’s it for the ImportConfig.xml.  Here is my full config for reference.

<?xml version="1.0" encoding="utf-16"?>
<configdatastorage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
                   installsampledata="true"
                   waitforsampledatatoinstall="true"
                   agentdesktopzipfile=""
                       agentdesktopexename=""
                   crmmigdataimportfile="">
  <solutions>
    <configsolutionfile solutionpackagefilename="MySolution1.zip" />
    <configsolutionfile solutionpackagefilename="MySolution2.zip" />
  </solutions>
  <filestoimport>
    <configimportfile filename="contacts.csv" filetype="CSV" associatedmap="" importtoentity="contact" 
                      datadelimiter="" fielddelimiter="comma" enableduplicatedetection="true" isfirstrowheader="true"  
                      isrecordownerateam="false" owneruser="" waitforimporttocomplete="true"/>
  </filestoimport>
</configdatastorage>

 

One last thing to note is that the PkgFolder contains a Content folder with a WelcomeHtml and EndHtml folder.  Within each of those folders are a Default.htm page.  These pages can be customized to your needs to provide a unique welcome and end page during the deploy process.

image

Now you can build the solution in Visual Studio (Build –> Build Solution) which will create a dll that we will use for the Package Deployer Tool.  Go to the bin\Debug folder, copy the PkgFolder as well as the dll named the same as your Visual Studio project and paste them into SDK\Tools\PackageDeployer.

Run the PackageDeployer.exe and a login screen will appear.

image

Select your organization and login.  The next screen will display an iframe showing the content from the WelcomeHtml folder.  As mentioned before, you can customize and brand the html page to suit your needs.

Click Next and you’ll see a screen that lists out the solutions and any files you have included to import.

image

Click Next again and the Package Deployer will attempt to import the included solutions and files.  Once it is finished, it will give you a status on what succeeded or failed.  You will also see another screen showing the content from the EndHtml folder which can be branded and customized as well just like the Welcome screen.

As you can see, the Package Deployer tool is a great asset for administrators and customizers.  It is now easy to make your own branded installation wizard that covers most aspects of the deploy process so you can handle it in one fell swoop. 

Dupe Detection on Create/Update Returned to Dynamics CRM 2013…with a bug

Posted by on May 28, 2014 in   |  Microsoft Dynamics CRM,   |  Microsoft Dynamics CRM 2011,   |  Microsoft Dynamics CRM 2013,   |  Microsoft Dynamics CRM Online  |  commentsComments (1)

One of the biggest features removed when Microsoft Dynamics CRM 2013 was released was Duplicate Detection firing on creates/updates.  While duplicate detection remained via scheduling system jobs, the popular feature of seeing the pop-up appear on creates/updates was removed.

Needless to say the CRM community was in uproar, prompting some users and partners to create their own solutions to backfill the gap that was left by removing this 2011 feature such as this utility by Jason Lattimer.

With the Spring 2014 release that’s started to trickle out to CRM Online orgs, Microsoft has taken this community feedback and put duplicate detection on creates/updates back in.

image

However, be aware that while Microsoft has pleased many by making this functionality available once again, they didn’t quite get it right.  If you disable duplicate detection rules from running on creates/updates within the settings, the rules still fire and your users will still see the dialog when they create or update records that match a duplicate detection rule.

image

The only way to disable duplicate detection from firing on creates / updates is to uncheck the “Enable duplicate detection” checkbox which in turn disables it across the board (on data imports, from MS Outlook, and via scheduled system jobs).  Even if you uncheck “Enable duplicate detection” and recheck it (while leaving the creates/updates unchecked), after republishing your rules, the dialog will still fire on create and update. 

Note:  If you uncheck “Enable duplicate detection” and recheck it, you’ll have to republish your rules as disabling it system wide unpublishes all rules.

Hopefully Microsoft will release a patch soon for this slight oversight so that users can take full advantage of the duplicate detection feature as they did pre-CRM 2013.

Controlling Access to Access Team Templates

Posted by on May 23, 2014 in   |  Microsoft Dynamics CRM,   |  Microsoft Dynamics CRM 2013,   |  Microsoft Dynamics CRM Online  |  commentsComments (0)

One of the great new features of CRM 2013 is Access Teams.  Access Teams provides a great alternative over Sharing as Sharing should always be used as an exception and not the rule.  Too much sharing will lead to a large PrincipalObjectAccess (POA), which can lead to poor CRM performance.  This blog goes into details on recommendations to keep the POA table as small as possible.

For one of our customers we had a perfect scenario to use Access Team Templates.  The scenario is users should only have access to read their own records.  However, if they’re assigned a to-do that’s grouped together as part of a larger deliverable, they need to be able to see all details of that larger deliverable.  Therefore, adding them to the Access Team of the parent record with Read access, and allowing native CRM customizations to cascade that access down to the child records, the user is now able to see all data in this one grouping of work that they normally wouldn’t with normal security roles.

 

image

image

 

Access Teams are driven by the Access Team Templates (shown above, and available in Settings –> Administration –> Access Team Templates).

However, there’s something you should be aware of.  If the Access Team Template is ever deleted, all Access Teams that were created and use that template will be deleted from the system.  Therefore you need to provide tight security over who can create / update / delete Access Team Templates.

This is where the tricky part came in.  How do you drive permissions to Access Team Templates?  In native security roles there’s no “Access Team Template” or anything similar to that available in the list of entities or miscellaneous privileges.  So what drives this access?

Through painful trial and error, we identified the “not so obvious” Customizations entity (shown below) drives these permissions.  Therefore it’s recommended you remove Delete privileges to Customizations to prevent Access Team Templates from being deleted (for other obvious reasons as well).  Thankfully out of the box only the System Administrator and System Customizer roles have this privilege.

 

image

Big changes coming to the next major release of Dynamics CRM

Posted by on May 15, 2014 in   |  Microsoft Dynamics CRM,   |  Microsoft Dynamics CRM 2013,   |  Microsoft Dynamics CRM Online  |  commentsComments (0)

Yesterday Microsoft announced some big changes to the supported configurations for the next major release of CRM after the upcoming Service Pack 1 and Spring ‘14 release.  This time around Microsoft is being more aggressive than they have in the past when removing supported software. 

The biggest changes to support being the removal of the following CRM and SQL Server operating systems:

  • Windows Server 2008
  • Windows Server 2008 R2
  • Windows Small Business Server (All versions)
  • SQL Server 2008
  • SQL Server 2008 R2

As well as the removal of the following browser versions:

  • Internet Explorer 8
  • Internet Explorer 9

Some other notable changes are the removal of read-optimized forms and the 2007 SDK SOAP Endpoint that has been deprecated for awhile now.

It’s good to see Microsoft being more aggressive with future releases as they can focus more on providing the best product for the latest technology.  We also welcome the early communication as it gives customers a chance to prepare for the new changes.

If you have any questions or concerns about this announcement, head to our Contact Us page or post a comment below.  We would love to hear your thoughts.

Official announcement - http://blogs.msdn.com/b/crm/archive/2014/05/14/important-information-about-supported-configurations-in-the-next-major-release-for-crm.aspx

CRM 2013 – Save & Close is back!

Posted by on March 20, 2014 in   |  Microsoft Dynamics CRM,   |  Microsoft Dynamics CRM 2013,   |  Microsoft Dynamics CRM Online  |  commentsComments (0)

Microsoft is currently rolling out UR 2 for CRM 2013 Online.  This update provides several fixes that are listed in the KB article here.  To check if your Online org is on UR 2 yet, click the ‘gear’ icon in the top right corner and then click ‘About’.  The version should start with 6.0.2 for UR 2.

 

image

 

One of the UR 2 enhancements that isn’t documented (that we know of) is the return of the Save & Close button.  When auto-save is enabled, the Save & Close button will exist only on the Create form for a record.  When auto-save is disabled, the Save & Close button will exist on both the Create and Update forms.

 

image

 

The Save & Close button was definitely missed but we’re glad to see it back!  Be on the lookout for your UR 2 update (and the Save & Close button) over the next few days.

Microsoft Announces new Enterprise License

Posted by on March 13, 2014 in   |  Microsoft Convergence,   |  Microsoft Dynamics CRM,   |  Microsoft Dynamics CRM 2013,   |  Microsoft Dynamics CRM Online  |  commentsComments (0)

A lot of great news came out of Microsoft’s Convergence last week in Atlanta.  If you weren’t able to attend, you can watch the sessions online using Microsoft’s Virtual Convergence.  Attendees can log onto the Convergence Website and navigate to Attendee Tools to to get access to PowerPoint decks and additional recordings.

The investments Microsoft is making in Social, Service and Marketing is exciting to see with Microsoft Social Listening, Unified Service Desk / Parature / service web enhancements, and Microsoft Dynamics Marketing.  We’ll be writing about these in the upcoming weeks.

However, Microsoft also recently announced their pricing and licensing for Dynamics CRM.  One of the big bits of news from this announcement is that Microsoft is announcing a new Enterprise License that is available for $200 per user per month.

With this new license, customers will receive:

  • Dynamics Marketing (previously Marketing Pilot)
  • Unified Service Desk and additional Case Management Enhancements
  • Limited Time Offer:  US and Canada customers purchasing 10+ Enterprise seats of Dynamics CRM will receive an equal number of Parature seats.

This information is subject to change and Microsoft stated that as general availability of this functionality approached, they’ll have more details on these offers.

Font Files as CRM Web Resources

Posted by on July 19, 2013 in   |  Microsoft Dynamics CRM,   |  Microsoft Dynamics CRM 2011,   |  Microsoft Dynamics CRM Online  |  commentsComments (1)

Font Awesome is a great set of free icons that utilize font files.  It is a nice addition to any page, including custom pages hosted in Microsoft CRM.  Unfortunately, CRM only supports a handful of web resource types and font files (such as .eot or .woff) are not on the list.  Luckily though, we have an easy workaround to spoof CRM into allowing us to upload font files as well as being able to successfully reference them from our custom page.

First, simply rename the font files to add ‘.css’ to the extension.

image

Next, upload the font file (with the .css extension) to CRM as a CSS file type but remove the ‘.css’ from the web resource name.

image

Once the web resource is saved and published, we can now reference the font file that is hosted in CRM.

<style type="text/css">
        @font-face {
              font-family:'FontAwesome';font-style:normal;font-weight:normal;
              src: url('../new_/fontawesome_webfont.eot');
        }
</style>


 
And there you have it.  We can now utilize any font files or the sleek Font Awesome icon library from within CRM!

Orion is Coming – Be Prepared

Posted by on June 18, 2013 in   |  Microsoft Dynamics CRM,   |  Microsoft Dynamics CRM 2011,   |  Microsoft Dynamics CRM Online  |  commentsComments (0)

Microsoft published a blog post last night about some new changes that the next major release of CRM is bringing.  An SDK article lists out several features that are being removed which can be found here.  In this post, I wanted to highlight three major changes as far as CRM development is concerned.

The first change is the removal of CRM 4.0 JavaScript Form Scripting support.  This change has been known about for awhile as the support no longer exists with UR 12 due to cross-browser capabilities.  Microsoft has provided a helpful tool to assist in identifying potential issues with JavaScript and HTML web resources.  The tool can be found here and for more information, check out this post we published in December

The second change I wanted to address is that Microsoft will be making major changes to the DOM due to the new enhanced UI.  Any JavaScript that modified the DOM will most likely break due to the new changes that are coming.  A popular scripting customization that could have issues would be modifying the color of fields or labels on the CRM form.  Another DOM manipulation I’ve seen a lot is turning a normal CRM text field into an option set for the sake of being able to make a custom multi-select option set.  These unsupported scripts would need to be upgraded or removed and tested thoroughly before upgrading to Orion.

The third major change is the removal of the 2007 endpoints as well as legacy features such as the ISV folder, 4.0 plug-ins and 4.0 workflow activities.  Luckily, Microsoft has provided a very useful tool to help identify any legacy features being used by your CRM environments.  The tool can be found here and it contains a “readme” file for instructions and more information. 

Note: Run the tool with the /? command-line argument to see the usage instructions.

image

I have used this tool personally and it is a huge time saver when trying to identify these legacy features.  In addition to the legacy tool, there are a great set of articles to help with upgrading your code - http://msdn.microsoft.com/en-us/library/gg334220.aspx.

The rest of the changes coming in Orion are as follows:

If you have any questions or are seeking help in upgrading your code, head to our Contact Us page and also let us know your thoughts about these changes in the comments section below!


Contact Us for a Quote, or Personalized Demonstrationof Salesforce.com or Microsoft Dynamics CRM for Your Business.

Contact Us