Posters del Modelo de Clientes de Microsoft Dynamics

Hace un tiempo en el Satya Nadela hablaba en su blog de unos posters que tenían pensado publicar sobre Microsoft Dynamics Customer Model con el que trabajaban en Microsoft Dynamics para desarrollar el software centrándose en las personas, en los roles y en los procesos. Satya decía que habían llegado a ese modelo después de observar el trabajo diario en distintas empresas durante meses.


Bueno pues esos posters, o por lo menos una versión pública de ellos, está disponible para descargarse en la web de Microsoft Dynamics junto con un White paper en el que se explican los detalles de los posters. Los posters me parecen interesantísimos y os recomiendo que le echéis un vistazo.


Poster Personas, Departamentos



Poster Departamentos, Trabajos



En realidad esto no tiene mucho que ver con Microsoft CRM directamente, pero para todos los que trabajamos en el mundillo del software empresarial seguro que nos puede resultar un material de consulta muy interesante. Descargadlo y me contáis que os parecen los posters, yo creo que son geniales.


Saludos


Marco Amoedo


PD: Gracias Iván por indicarme el enlace

Desarrollo de CRM Callouts en Visual Studio 2005

Hasta ahora la mayoría de los que hacemos desarrollos para Microsoft CRM 3.0 nos veíamos obligados a mantener en instalado en nuestro equipo Visual Studio 2003, además de Visual Studio 2005. El motivo era el desarrollo de callouts, ya que estos deben compilarse utilizando .NET 1.1 por que se ejecutan dentro del mismo proceso de IIS que el servidor CRM (Aplicación hecha en .NET Framework 1.1). Y como en Visual Studio 2005 no hay ninguna opción de serie que permita indicar que queremos compilar utilizando la versión 1.1 de .NET, nos veíamos obligados a seguir utilizando Visual Studio 2003 para crear CRM Callouts.


Bueno, pues ya podéis empezar a desinstalarlo, si queréis, por que gracias a una plantilla de proyecto para callouts creada por Arash ya podemos desarrollar callouts en Visual Studio 2005. Para poder utilizarla sólo necesitamos tener instalado el runtime de .NET framework 1.1, además de Visual Studio 2005, y ejecutar el instalador que podéis descargar también desde el blog de Arash. La plantilla de proyecto para Callouts incluye además todo lo necesario para desarrollar callouts, el fichero calloutbase.dll del CRM 3.0, un fichero con código de ejemplo y el fichero de configuración de callouts en blanco. En resumen, con esta plantilla tenemos todo lo necesario para desarrollar un callout en Visual Studio 2005, una gran ayuda sin duda.



Si queréis saber más leeros el artículo de Arash en su blog donde presenta la plantilla para callouts y da más detalles sobre cómo instalarla y utilizarla. Os dejo que voy a desinstalar Visual Studio 2003.


Saludos,


Marco Amoedo

Pequeñas novedades y algo más sobre mapas

Pasan los días y seguimos sin saber nada del prometido cliente móvil open source, la verdad es que ya me está tardando probarlo. Pero mientras tanto os recomiendo que le echéis un vistazo a un ejemplo que ha dejado Barry Givens en CRM SandBox, en este ejemplo se utilizan los mapas de Virtual Earth para mostrar información sobre disponibilidades de servicios. Sigue la misma línea de integración que habíamos hecho nosotros en el ejemplo que postee antes de las vaciones sobre integrar mapas en MS CRM, pero está mucho más currado, de verdad que vale la pena echarle un vistazo.


También, desde hace unos días, está disponible online en MSDN la versión 3.0.5 del SDK de Microsoft Dynamics CRM, con lo que ya podemos consultarlo desde el navegador web a través de Internet, además del formato de fichero de ayuda para consulta offline.


Últimamente me he encontrado con bastante gente interesada en conseguir ocultar campos de un formulario según el rol de usuario que lo abra, y la verdad es que no es una labor sencilla, pero tampoco imposible. En el blog de Ronald Lemmen hay un ejemplo muy bueno para hacer esto, y C360 vende una herramienta con una integración impresionante con Microsoft CRM que consigue lo mismo.


Bueno, por hoy os dejo, no he dedicado tiempo al blog estos días porque me encuentro involucrado en un complejo proyecto que me absorbe la mayor parte de mi tiempo libre… me estoy mudando de casa!! Y no veáis la de cosas que encuentras en una mudanza, ¿Alguien quiere un libro de programación en COBOL?


Un saludo,


Marco Amoedo

Mejorar la velocidad de las llamadas a los Servicios Web

Si de algo pecan los servicios web es que pueden resultar demasiado lentos para trabajos que supongan una carga intensiva, como por ejemplo, la importación masiva de registros a Microsoft Dynamics CRM. Recientemente he tenido algunos problemillas por culpa de esto, y buscando por Internet he encontrado este post de Aaron Elder (Invoke Systems), en el que nos proponen formas de aumentar la velocidad de las llamadas a los servicios web. Os recomiendo que le echéis un vistazo, sobre todo si estáis realizando algún desarrollo que haga una utilización intensiva de los servicios web de Microsoft CRM.


En el post se proponen varios métodos sencillos que permiten optimizar las llamadas a servicios web en .NET, y hacen una comparación de tiempos donde podemos comprobar la mejoría. El mejor resultado se obtiene utilizando el modo Unsafe en la llamada al servicio web junto con algunas optimizaciones de IIS, pero no lo uséis a la ligera ya que el modo Unsafe permite que usuarios con distintas credenciales utilicen una misma conexión para hacer llamadas a los servicios web. En el propio post ya advierten sobre estos peligros, aunque como bien explican, para el caso de una herramienta de importación masiva que utiliza un único usuario de CRM no supone ningún problema.


Ejemplo:







1
2
3
4
CrmService crm = new CrmService();
crm.Credentials = System.Net.CredentialCache.DefaultCredentials;
crm.Url = «http://192.168.1.25/MSCRMServices/2006/CrmService.asmx»;
crm.UnsafeAuthenticatedConnectionSharing = true; //Modo Unsafe Activado


Saludos,


Marco Amoedo

Se terminaron las vacaciones

Aquí estoy de nuevo, con las pilas cargadas después de unos días de descanso. Como veis en Geeks.ms hemos migrado a Community Server 2.1, y aprovechando la coyuntura he decidido cambiar el aspecto visual del blog, espero que os guste. Además, después de unos problemillas técnicos, ya funcionan los foros de Geeks.ms con lo que tenemos un nuevo espacio donde aprender más sobre Microsoft Dynamics CRM.


No todo ha sido divertido en estas vacaciones, porque desgraciadamente algunos desalmados (por no decir algo más fuerte) se han dedicado a desatar una catástrofe natural en Galicia. No quiero entrar en más detalles sobre esto, ni ninguna polémica relacionada, sólo quiero aprovechar este espacio para dar las gracias a los cientos de personas que al ver llegar el fuego a las casas de sus vecinos se echaron al monte para ayudar en lo que pudiesen. Personalmente nunca me había visto en medio de un incendio, y menos un infierno como este en el que veíamos peligrar las casas de familiares y amigos, la experiencia ha sido impresionante. Os dejo unas fotos publicadas en la Voz de Galicia para que os hagáis una idea.


 


Dejando a un lado mis vacaciones y prácticas de bombero, volvamos al tema central del blog. Parece que en Microsoft también se han ido de vacaciones, porque todavía no se ha liberado el nuevo cliente móvil de CRM 3.0. A pesar de que, según se comentaba en un post del blog del equipo del CRM, debería de haber aparecido hace más de una semana. En ese mismo post también podemos enterarnos un poco más de las capacidades de este nuevo cliente móvil, básicamente, se trata de una aplicación web adaptada para dispositivos, con lo que aventaja en facilidad de instalación (sólo necesitamos tener un navegador web en el dispositivo) y funcionalidad (podemos acceder a todas las entidades, incluso las personalizadas) al cliente móvil que está disponible actualmente. Sin embargo, la desventaja está en la imposibilidad de trabajar sin conexión, ya que hemos de conectarnos por GPRS (o similares) a nuestro servidor. En este otro post de Sonoma Partners hay unas capturas de pantalla muy interesantes, os recomiendo echarle un vistazo. La verdad es que me está tardando poder probar este nuevo cliente, creo que será una herramienta de grandísima utilidad, y de código libre!!



Otra pequeña novedad, que se ha producido estos días, ha sido la liberación de versiones localizadas de CRM List Web Part para Sharepoint. Con lo que el “truco” que teníamos que hacer para conseguir instalar este web part en un Sharepoint en español ya no es necesario.


Bueno, por hoy os dejo. Espero poder seguir publicando cosas interesantes sobre Microsoft CRM y las estrategias CRM en general, tengo algunas ideas preparadas pero se admiten sugerencias., si queréis podéis utilizar el formulario de email del blog para hacer peticiones y sugerencias.


¿Qué os parece el nuevo cliente móvil? ¿Será un inconveniente o una ventaja el no poder trabajar desconectado?


Un Saludo,


Marco Amoedo

Vacaciones y Libros

Oficialmente estoy de vacaciones, así que durante esta quincena no publicaré nada en el blog. O por lo menos intentaré resistir la tentación. Me tomaré unos cuantos días de descanso por mi tierra, visitaré las Islas Cies, uno de nuestros pequeños paraísos, y procuraré estar alejado del ordenador.


 


Pero antes de irme de vacaciones os quería hacer una pequeña recomendación de libros que me han parecido muy útiles e interesantes. Se trata de “Adaptarse a la marea” de Eduardo Punset y de “Los 100 errores del CRM” de Pedro Reinares.


 


                       


 


Adaptarse a la Marea” es un libro ameno que trata de mostrar como algunos conceptos de la biología y la ciencia en general pueden aplicarse a la organización de empresas. El libro está escrito en un lenguaje claro (nada técnico), y trata de mostrar las implicaciones de la ciencia en las empresas mediante ideas y ejemplos, con esto quiero decir que no esperéis un manual de tipo “cómo hacer…”. Es más bien un libro que invita a reflexionar y a descubrir como la ciencia puede ayudar en la organización y gestión empresarial. Personalmente me han llamado mucho la atención algunos de los capítulos en los que se comentan temas como la percepción de la imagen de marca, las redes sociales y optimización de procesos.


 


Los 100 errores del CRM” debería ser un libro de obligatoria lectura para todos aquellos que participen en el diseño de una estrategia CRM y la implantación de un software CRM. Este libro no trata de definir lo que está bien en CRM, al revés, trata de mostrar los errores más comunes en estas estrategias para que podamos aprender y evitarlos. Este libro trata al CRM desde un punto de vista de organización empresarial, es bastante ameno, y tiene multitud de buenos y malos ejemplos de empresas muy conocidas. Personalmente, este libro me ayudó a tener más perspectiva empresarial sobre el marketing relacional y CRMs, que la perspectiva técnica propia de mi perfil. Recomiendo a todos aquellos que tengáis un perfil técnico que lo leáis, porque estoy seguro de que en vuestro trabajo os ayudará el conocer más a fondo otros puntos de vista del CRM.


 


Ya veis que no os recomiendo ningún libro técnico, ni ningún manual de Microsoft CRM, y es que como decía un profesor: “Los informáticos deben saber de todo, porque han de diseñar sistemas de información para todo”.Vamos, que no todo va a ser saber como hacer tal personalización, o como diseñar un despliegue de MS CRM, debemos de tener conocimientos de que es CRM en sí para poder dar la solución tecnológica adecuada a cada caso.


 


Un saludo, disfrutad del verano, o el invierno para la gente que lee esto desde el hemisferio sur. Nos vemos a la vuelta de las vacaciones.


 


Marco Amoedo Martínez

Integrar Mapas de Virtual Earth en Microsoft Dynamics CRM

Hoy vamos a ver un sencillo ejemplo de cómo integrar mapas en Microsoft Dynamics CRM aprovechando el API de VirtualEarth de Windows Live! Digo sencillo, porque es solo una burda muestra de las posibilidades que nos da este API para conseguir mostrar información geográfica en el CRM.


 


El objetivo es tener una pestaña en el formulario de cuentas donde poder visualizar un mapa centrado en la dirección de la cuenta. Es decir, un mapa centrado en la ubicación de nuestro cliente.


 


 


Para ello no tenemos más que crear una página web con el siguiente código:


 


<html xmlns=»http://www.w3.org/1999/xhtml» >


   <head>


      <title></title>


      <meta http-equiv=»Content-Type» content=»text/html; charset=utf-8″/>


      <script src=»http://dev.virtualearth.net/mapcontrol/v3/mapcontrol.js»>


</script>


      <script>


      var map = null;


           


      function GetMap()


      {        


         var pais = parent.document.forms[0].all.address1_country.DataValue;        


         var provincia = parent.document.forms[0].all.address1_stateorprovince.DataValue;


         var ciudad = parent.document.forms[0].all.address1_city.DataValue;        


        


         map = new VEMap(‘myMap’);


         map.LoadMap();


         if(ciudad!=») map.FindLocation(ciudad+‘, ‘+provincia+‘, ‘+pais);


         else map.FindLocation(‘Madrid, España’);         


      }  


     


      </script>


   </head>


   <body onload=»GetMap();»>


      <div id=’myMap’ style=»position:relative; width:auto; height:auto; «></div>


   </body>


</html>


 


Si os fijáis en el código veréis que mediante JavaScript accedemos a los valores de ciudad, provincia y pais del formulario de Cuenta del CRM. Para luego utilizarlos para fijar la posición del mapa. Al acceder a esos campos estamos utilizando cross-site scripting, por lo que tendremos que habilitar explícitamente esta opción en el IFrame.Si qureis saber más sobre el API y las funcionalidades de los mapas bajaros el SDK de Virtual Earth.


 


Para guardarla crearemos un directorio dentro del sitio web de Dynamics CRM con el objetivo de poder referenciar sencillamente la página en el IFrame que vamos a crear. En mi caso C:Archivos de ProgramaMS CRMCRMWebvemapsvemap.htm


 


Una vez guardada sólo nos resta acceder a Personalización de Entidades en Microsoft Dynamics CRM y abrir la entidad cuenta. Dentro de esta buscaremos el formulario principal y lo editaremos, añadiendo una nueva pestaña que contendrá una nueva sección, que a su vez contendrá el nuevo IFrame. En las propiedades del IFrame indicaremos la url de la página que hemos creado (ie: /vemaps/vemap.htm) y habilitaremos el cross-site scripting.


 


 


 


Guardamos los cambios, salimos y publicamos las personalizaciones, y ya podemos comprobar como al abrir una cuenta tenemos la nueva pestaña con el mapa centrado en su localización


 


Esto, es un sencillo ejemplo de las posibilidades que nos brindan los IFrames para integrar aplicaciones en el CRM, y de las posibilidades que nos da el API de Virtual Earth para integrar mapas en el CRM. Imaginad mostrar sobre un mapa la distribución geográfica de nuestros clientes, calcular rutas de visita para comerciales… hay un sinfín de posibilidades. ¿Se os ocurren más? ¿Alguna experiencia con Información Geográfica?


 


Espero que os haya gustado el ejemplo, un saludo


 


Marco Amoedo Martínez