Thursday, June 21, 2012

Refresh SQL Management Studio query window intellisense cache

I have been using OneNote instead of blogging to capture quick lessons learned, but I just realized that this tip didn't end up in either place, so I'm going to go back to the tried and true...blogging





Best trick for Dynamics CRM Report writers: CTRL + SHIFT + R to refresh SQL Server Management Studio query window's local intellisense cache:

Wednesday, February 1, 2012

CRM 2011 Reports SSRS Error SetExecutionCredentials

If you are getting the error below running Reports, not to worry. Generally this is an easy fix. Find out what account Reporting Services is running under and add it to the Active Directory group PrivReportingGroup. If SRS is running as a LocalService or NetworkService (local accounts), you will need to add the SRS computer object to the AD group. After doing that, just restart the Reporting Services windows service and you should be good to go! Exception information: Exception type: CrmReportingException Exception message: An error occurred during report rendering. at Microsoft.Crm.Web.Reporting.SrsReportViewer.SetExecutionCredentials(ServerReport reportObj) at Microsoft.Crm.Web.Reporting.RemoteSrsReportViewer.LoadReportAndSetParameters() at Microsoft.Crm.Application.Controls.AppUIPage.OnPreRender(EventArgs e) at System.Web.UI.Control.PreRenderRecursiveInternal() at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) An error has occurred during report processing. (rsProcessingAborted) at Microsoft.Reporting.WebForms.ServerReportSoapProxy.OnSoapException(SoapException e) at Microsoft.Reporting.WebForms.Internal.Soap.ReportingServices2005.Execution.RSExecutionConnection.ProxyMethodInvocation.Execute[TReturn](RSExecutionConnection connection, ProxyMethod`1 initialMethod, ProxyMethod`1 retryMethod) at Microsoft.Reporting.WebForms.ServerReport.SetDataSourceCredentials(IEnumerable`1 credentials) at Microsoft.Crm.Web.Reporting.SrsReportViewer.SetExecutionCredentials(ServerReport reportObj) Cannot create a connection to data source 'CRM'. (rsErrorOpeningConnection)

Thursday, December 1, 2011

Windows 8 in a VM

I finally got my VM NAT working thanks to the comments in an installation blog post. The key was changing the Adapter Type (Network - Advanced) to Intel PRO /1000 MT Desktop. As soon as I restarted the VM, it recognized the adapter.

Windows 8 on my Dell Duo has COMPLETELY REVOLUTIONIZED my tablet. With Windows 7, the Duo was better in "netbook mode" but now I rarely flip to the keyboard. The split on-screen keyboard is a huge improvement and the pinch-zoom on IE 10 is FANTASTIC.

Wednesday, September 7, 2011

Supported Extensions for CRM 2011

I thought it was worth highlighting the official Do’s and Don’ts of CRM extension.

 

It seems obvious, but no modifying the physical database schema is permitted (except indexes):

Modifications to the physical schema of the database, other than adding or updating indexes. This includes any actions performed against the database without going through System Customization. Modifying tables, stored procedures, or views in the database is not supported. Adding tables, stored procedures, or views to the database is also not supported because of referential integrity or upgrade issues. Adding indexes is supported per the guidelines in the “Microsoft Dynamics CRM 2011 Implementation Guide”. This applies to all Microsoft Dynamics CRM databases and the Microsoft Dynamics CRM for Microsoft Office Outlook local database.

 

One infraction that I have seen cause disastrous results is saved for last:

Editing a solutions file to edit any solution components other than Ribbons, Forms, SiteMap or Saved Queries not supported. Defining new solution components by editing the solutions file is not supported. Editing Web Resource files exported with a solution is not supported. Editing the contents of a managed solution is not supported.

Wednesday, August 17, 2011

TFS Build Service Tips

My organization is hosting TFS for multiple customers.  To keep everyone isolated (and happy) we have multiple Team Project Collections, but the downside is we need to setup a separate Build Controller for each Site Collection (see MSDN article for more pros/cons).  TFS 2010 changed to only allow a 1 to 1 pairing between a TFS Collection and a Build Controller.

 

Setting up a Build Controller is fairly straightforward.  Here are some tips that I have found helpful:

1.       Create an AD account for the service.  It’s easier to grant permissions to output folders and network shares using named users/groups.  Do this before running the Build Controller wizard – it will add the necessary groups and permissions for you.

2.       Run the TFS Setup and only select “Build Controller” for the install.

3.       Use the Build Controller wizard at the end of the install to connect to your Team Project Collection.

4.       If Visual Studio is not installed on the Build Controller, copy the MS Build targets from a developer machine to:
  C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0

5.       Add a Build project to copy our compiled output to an integration server (see example file below)

 

<?xml version="1.0" encoding="utf-8"?>

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

  <ItemGroup>

    <MySourceFiles Include="$(OutDir)_PublishedWebsites\<Your Web Project>\**\*.*" />

  </ItemGroup>

  <Target Name="CopyFiles">

    <Copy

        SourceFiles="@(MySourceFiles)"

        DestinationFolder="\\<Network Share>"

        />

  </Target>

</Project>

 

 

Wednesday, July 20, 2011

CRM ideas and products I discovered at WPC 2011

CRM Solutions

There are some new change management options available in CRM 2011.  With Managed Solutions, you can achieve a layered effect where one solution builds on the next and it is even possible to isolate and rollback individual solutions.  This is particularly important for teams that have multiple simultaneous development projects proceeding at different rates/release dates.  There is a good discussion of the implications of solutions as well as fundamentals of the entire CRM development spectrum in the new CRM Developer’s Training Kit.  This is tricky stuff, so make sure you get it working in a “sandbox” before trying this in your main Dev branch.

CRM Marketplace

I just attended the Microsoft Worldwide Partner Conference where I had the chance to talk to a number of ISVs and Microsoft engineers.  There are a lot of cool products emerging around the CRM platform.  There are two products that I am particularly keen to try out: NeuDesic’s Pulse and ADX Studios portals.

Pulse is a way to bring social-like conversations into CRM and SharePoint and looks like it would have fantastic application wherever team collaboration is going on.

ADX Studios (makers of the LINQ based SDK that Microsoft ships with CRM) has a number of ready-to-run public facing portals that have built-in claims based authentication to re-use Facebook, Google, and Live accounts.

Plugins, Workflows and Dialogs

Finally, I just came across this helpful CRM team blog post that outlines the best time to use a plugin vs workflow.

Wednesday, July 6, 2011

Synchronizing CRM Records in Outlook using Local Data Groups

My customer wanted to have all the Contacts owned by their Business Unit synchronized to Outlook and that is easily accomplished using the Local Data Groups feature!