MVP 2012

mvp_logoUna semana de celebraciones compañeros, España gana la Eurocopa y Microsoft me nombra MVP :)
Estos años de duro trabajo con Dynamics CRM han dado su fruto. Ahora intentare diafrutar al maximo esta oportunidad para continuar creciendo profesionalmente y seguir aportando a la comunidad técnica todo lo posible.
Aprovecho este post para darle las GRACIAS a Marco Amoedo, mi mentor  y maestro en este mundillo tecnico de CRM, asi como algunos de mis compañeros Wael Hamze y Rhett Clinton, otros grandes profesionales de CRM  con los que tanto he aprendido.


Speaking at eXtremeCRM 2012 Berlin

Let’s start the new year 2012 with new challenges. I’m pleased to announce that I will be one of the speakers in the eXtremeCRM 2012 Berlin conference. This event, well known among the community, is the premier partner event focused exclusively on Microsoft Dynamics® CRM and dedicated to advancing best practices and strategies for Microsoft Dynamics CRM organizations. There are two separate eXtremeCRM events held each year, one in Europe and the other in the United States.

eXtremeCRM Objectives

· Deliver a clear understanding of Microsoft’s strategy and product roadmap for Microsoft Dynamics® CRM and how it relates to xRM

· Teach partners how to position the Microsoft Dynamics CRM / xRM branding and messaging to their clients and prospects

· Create a connection between Microsoft product experts, peers and Microsoft Dynamics CRM ISVs to the reselling community

· Help partners understand how to increase the profitability of your practice

· Deliver best practices for xRM implementations

· Teach the partners how to compete successfully against CRM competitors

· Teach partners how to leverage Microsoft Dynamics CRM as a platform and how the new release extends those capabilities

· Generate excitement within the channel to sell more Microsoft Dynamics CRM solution

Have a look at the AGENDA.

What will I talk about?

Web Services & Code Generation Deep Dive

Enterprise applications require quick answers to aggressive and demanding requirements, at the same time that they keep a robust entity model and robust business processes. Code generation is a key point to achieve these goals. During this session we will understand different ways to generate code based on a Microsoft Dynamics CRM 2011 solution. We will also see how to customize the code generation process and integrate it with the Developer Toolkit.

Silverlight & Microsoft CRM Development Enterprise Architectures

Silverlight is the perfect complement to extend and improve the users experience of Microsoft Dynamics CRM platform. During this session we explain an interesting scenario where PRISM, Silverlight and Microsoft Dynamics CRM are joined to get an elegant solution, based on a smart enterprise architecture.


Don’t miss this opportunity, I’ll see you there!

[CRM 4] Unable to obtain DNS hostname of Active Directory domain controller

In CRM 4, are you trying to create an organisation, import an organisation or register some plugins and you are getting the following error:

[…] Unable to obtain DNS hostname of Active Directory domain controller […]

Weird, isn’t it?

In my case I was trying to register some plugins and I got that messages from the CRM traces.

Finally, I found the problem and the solution:


  • Active Directory contains many domain controllers.
  • You have insufficient permissions to query all domain controllers.


  • Install last rollup (I got 17 and it works fine)
  • Add the entry PreferredDc in HKLM\Software\Microsoft\MSCRM with the closest domain controller (run this command > nltest /dsgetdc:<DomainDNSName> in your CRM server)

Original article from Microsoft Support:;EN-US;954811

[CRM 2011] Early bound types and plugins

Have you tried to use early bound types in plugins? After run crmsvcutil to generate the early bound types, you probably want to use them in your plugins. If the generated code is in the same assembly that the plugins, you won’t get any problem.


However, in a medium-big project, you may want to separate common functionality, as business processes or entity wrappers, from the rest.


How are you going to deploy that Common library? Either you can put it in the GAC or merge it with the Plugins assembly. However, as it is, you will get an “Unexpected error” the first time you try to use the IOrganizationService with early bound types inside of your plugins. Example:

public class PreCreateContact : BasePlugin
   protected override void ExecutePlugin(IOrganizationService service, ITracingService tracingService)
       Task newTask = new Task();
       newTask.Subject = "Testing";
       service.Create(newTask); //Here you will get the error


To avoid this exception, you should add the next line to AssemblyInfo.cs in your Plugin project

[assembly: Microsoft.Xrm.Sdk.Client.ProxyTypesAssemblyAttribute()]

[CRM 2011] Data, Metadata and Code Generation

Following up my previous webcast about Data, Metadata and Code Generation, which can be watched online in any time, I wanted to share the resources (pptx and source code) that I showed during the event. In addition, I want to take this time to explain few more details.

On one side, we were talking about how to consume the CRM services to handle data and metadata based on three tools: Visual Studio Service Reference, CrmSvcUtil.exe and DataSvcUtil.exe. As summary, I prepared the next table with the possible cases to evaluate:


Go to this link, and download the VS2010 solution. As you can see below, you will find four projects according to the tool and the scenario: Early-Bound, Late-Bound and Metadata.



From the other side, we saw how to extend the tool CrmSvcUtil.exe to customise the code generation process following the next interfaces (these interfaces are defined inside of CrmSvcUtil.exe):


Go to this link and download the VS2010 solution where you can find three projects:


CrmSvcUtil project is the source code of CrmSvcUtil.exe, which has been reflected for debugging and educational propose Smile . You can see a new App.config with the corresponding parameters. CodeDomXrmServices is the project that contains the extensions. In this case, we have extended ICodeWriterFilterService to filter the entities, as well as to allow the generation of Picklist and Status. Finally, TestCrmSvcUtil is a simple project to test the result generated by CrmSvcUtil.

I hope you find this helpful

[CRM 2011 Webcast] Data, Metadata and Code Generation in CRM 2011

Dynamics CRM 2011 offers a new WCF service layer based on two endpoints: SOAP and REST. During the next webcast (Tuesday 12th April,19.00(GMT+01:00) Madrid, París), we will see how to use both of them, their supported operations and how to generate code from them easily for the line of business applications. Basically, these are the points to review:

  • Data: Early and Late bounds

  • Metadata

  • Code generation

    • Visual Studio Service Reference

    • CrmSvcUtil.exe

    • DataSvcUtil.exe

  • Extending CrmSvcUtil.exe

 Event registration:

Web Service Data in Dynamics CRM 2011 for Silverlight applications as web resource

This post sums up the two endpoints provided by CRM 2011, SOAP and REST, which can be used by our integrated Silverlight applications.

• Both of these Web services rely on the authentication provided by the Microsoft Dynamics CRM application

• They cannot be used by code that executes outside the context of the application

• In this release of Microsoft Dynamics CRM the SOAP endpoint provides an alternative way to perform operations that the REST endpoint is not yet capable of



Download resources Webcast CRM 2011 + Silverlight

Related to my webcast (Spanish), I would like to share the resources (slides and code) I used for the demo. Download the resources and you will find:

  • Slides (PPTX)
  • CRM Solution
  • VS2011 Solution with Dashboard and Form integration demo

Basically, demo shows a dashboard and form integration using the two communication models between Silverlight and CRM:

  • JavaScript bridge:
    • System.Windows.Browser.HtmlPage
    • System.Windows.Browser.ScriptObject
    • Xrm.Page
  • CRM WCF Services:
    • REST endpoint (used in demo)
    • SOAP endpoint

To try the demo, assuming you have a CRM 2011 deployment, you will need to follow the next steps:

1) Import the CRM solution into your organisation

2) Create an additional website for the picture service. As you can see in CRMForm.Web project, there is a web handler (Receiver.ashx) that will be in charge of upload the pictures. Below, you can see that web site next to the CRM one. From VS you can publish the website directly over there.



3) Fix the Picture service url in the CRM resource properties. For the dashboard application:



And for the Cheese entity form:



4) Try it!

If you get errors and you don’t know where they are coming from , probably you will need to debug the Silverlight application integrated in CRM. Only you will need to attach VS debugger to the Internet Explorer process and refresh the page:



I hope you like it and let me know if you have any problem.

Webcast: Integración de aplicaciones Silverlight en Dynamics CRM 2011

El próximo miércoles 23 de Marzo a las 19:00 (GMT+01:00, Madrid, París) se
emitirá un webcast sobre dos tecnologías del momento: Dynamics CRM 2011 y
Silverlight 4. La agenda será la siguiente:

  • CRM
  • Microsoft Dynamics CRM 2011
  • Dynamics CRM 2011 + Silverlight 4
  • Silverlight Out-of-the-box
  • Demo
    • Integración en Dashboards
    • Integración en Formularios
    • Debugging Silverlight en CRM 2011
  • Próximos Eventos

Aquellos interesados podeis registraros en la siguiente URL:

Espero que os guste.

Un saludo

I will be in the MindCamp 3.0

Let’s enjoy a technical and geek weekend with some colleagues and
friends. During three days, a group of 30 crazy minds will be together
sharing technical knowledge, enjoying games and drinking beer Smile


As one of the speakers, I’ll give a session about Silverlight integration in Dynamics CRM 2011, where
I’ll show how flexible is the new version of CRM to host Silverlight
application in different scenarios as dashboards and forms. Without
discover more secrets, you can see below the dashboard demo, where “My
Cheese Company” has decided to improve its CRM system Smile


Ir arriba