viernes, 31 de octubre de 2014

XrmToolbox: Import/Export NN relationships

Las relaciones N-N son una funcionalidad bastante interesante en Dynamics CRM, que permiten de forma sencilla relacionar dos tipos de entidades sin la necesidad de la creación de una entidad intermedia.

Si bien en realidad con esta funcionalidad se crea una tabla de relación intermedia, esta tabla no puede ser modificada ni personalizada.

Esto último provoca que las relaciones N-N sean complicadas de mover de un entorno a otro, ya que no podemos hacerlo a través del asistente de importación de CRM desde XML/CSV.

La herramienta de Import/Export NN relationships, nos da la posibilidad de exportar los registros de relación N-N a un fichero en formato CSV y luego importarlo en otro entorno.

En el caso que enseño a continuación, he creado una relación N-N entre Cuenta y País (personalizada) para enseñar como funciona.

Lo primero que hay que hacer es cargar los metadatos y seleccionar la entidad:

clip_image002 

Luego le damos a Exportar los datos en un .csv:

clip_image004

Lo que nos genera es un fichero con el siguiente formato:

clip_image006

Y luego si queremos importar, seleccionamos el fichero csv y le damos a importar:

clip_image008

En la parte inferior, nos va dejando un log de cada uno de los registros importados.

Una aclaración importante con esta herramienta es que para que todo funcione, es necesario que los GUID (códigos internos automáticos de los registros en CRM) deben ser los mismos, ya que sino no nos funcionará.

 

http://xrmtoolbox.codeplex.com/

jueves, 30 de octubre de 2014

XrmToolbox: User Roles Manager

La gestión de roles de seguridad y la asignación de los mismos es una tarea fundamental en la fase de puesta en marcha de los proyectos.

Ya no solo por la seguridad a aplicar, ya que en muchas implementaciones se decide que “todos vean todo”, sino más por el tema de limitar la funcionalidad a lo que el usuario realmente necesita hacer.

La Asignación de los roles de seguridad se puede hacer al crear los usuarios o equipos, pero también se puede hacer después.

La user Roles Manager tool nos permite realizar acciones masivas a los usuarios y equipos en relación con sus roles de seguridad.

Al acceder a la herramienta cargamos primero los usuarios:

clip_image002

Luego del lado derecho podemos consultar los usuarios y equipos sobre los que quiero actual, aquí disponemos además de todas las vistas de sistema publicadas:

clip_image004

Seleccionamos los roles de seguridad y tenemos las siguientes acciones:

·         Añadir los roles seleccionados a los usuarios o equipos seleccionados

·         Quitar los roles seleccionados a los usuarios o equipos seleccionados

·         Quitar los roles actuales de los usuarios o equipos seleccionados y añadir los nuevos roles seleccionados (solo quedarían disponibles los seleccionados ahora)

 

clip_image006

Se aplican los cambios:

clip_image008

En entornos sencillos o con pocos usuarios, esto no tiene tantas ventajas, pero en entornos con muchos usuarios, cobra mucha importancia.

http://xrmtoolbox.codeplex.com/

miércoles, 29 de octubre de 2014

XrmToolbox: Solution Components Mover

El trabajo con Dynamics CRM a veces nos lleva a tener muchísimas soluciones que agrupan muchos componentes.

A veces nos vemos ante la necesidad de hacer copias de soluciones, o una solución más completa, estar seguro que incluye todos los elementos de otra solución anterior.

Para solventar estos escenarios, Tanguy incluyó en su XrmToolbox el Solution Components Mover.

Consiste en seleccionar una solución de origen y una solución de destino y después poder seleccionar que elementos queremos mover de una a otra.

Al entrar, cargamos las soluciones:

clip_image002

Seleccionamos origen, destino y le damos a Copy components:

clip_image004

Y luego podemos seleccionar que tipos de objetos queremos mover:

clip_image006

Finalmente se añaden los componentes y termina el proceso:

clip_image008

Como muchas de las soluciones incluidas en el XrmToolbox, no es una solución compleja, pero es una solución que automatiza ciertas tareas que normalmente deberían hacerse de forma manual, para evitar errores y agilizar el proceso.

http://xrmtoolbox.codeplex.com/

martes, 28 de octubre de 2014

XrmToolbox: Synchronous events execution order editor

Con el plugin registration tool que viene en la SDK, podemos registrar nuestros plugins (.dll) en Dynamics CRM.

Estos plugins pueden tener una serie de clases que son configuradas para ser llamados en determinados pasos (steps) de Dynamics CRM (por ejemplo Create, Update, etc.).

Cuando tenemos mas un método esperando ser disparado en un mismo mensaje y momento, debemos asignarle un “Execution order” que nos permite configurar que se ejecuta primero y que se ejecuta después.

El problema es que esto en el PluginRegistrationTool no se ve muy cómodo, ya que debemos ir a cada step a ver que valor tienen, y no podemos verlo en un listado. El tema es que esta herramienta nos agrupa por Dll y no por evento.

El “Synchronous events execution order editor” del XrmToolbox, nos permite verlo agrupado por mensajes, y así ver en un evento determinado que plugins se disparan y poder así determinar de mejor manera el orden de ejecución de  los mismos.

La funcionalidad consiste en cargar los eventos con plugins relacionados, seleccionar el evento y actualizar el orden:

clip_image002

Luego publicamos los cambios:

clip_image004

Y listo!

http://xrmtoolbox.codeplex.com/

lunes, 27 de octubre de 2014

XrmToolbox: View Transfer Tool

La vida de los proyectos de Dynamics CRM es dinámica y suelen surgir cambios sencillos que se implementan rápidamente. Uno de ellos es el de los cambios en las vistas.

A veces nos piden cambios en vistas, que no de por sí deberían requerir la importación de una entidad completa, ya que a lo mejor estamos en el desarrollo de algo en un formulario, que no queremos subir.

Para realizar movimientos de definiciones de vistas entre entornos, tenemos el View Transfer Tool.

Esta sencilla herramienta, nos permite seleccionar una entidad y unas vistas de la misma para ser movidas de un CRM de origen a un CRM de destino.

Primero cargamos las entidades:

clip_image002

Luego seleccionamos la entidad y las vistas:

clip_image004

Seleccionamos la conexión del CRM de destino:

clip_image006

Introducimos el password:

clip_image008

Confirmamos que esta ok:

clip_image010

Le damos a Transfer views:

clip_image012

Y Publicamos:

clip_image014

Esta solución esta muy bien, pero hay que tener en cuenta una cosa muy importante. Desde donde ejecuto el XrmToolbox, debo tener acceso a los entornos de origen y destino. Esto en la mayoría de los clientes no suele ser sencillo, incluso a veces imposible, pero vale la pena saber que existe esta solución para entornos de no producción.

http://xrmtoolbox.codeplex.com/

 

domingo, 26 de octubre de 2014

CRM 2015: Creación de campos Consolidados

Una de las nuevas funcionalidades que mas interés están levantando (y con razón) es la de la creación de campos consolidados o “Rollup”.

El objetivo de estos campos es evitarnos los típicos plugins que hasta ahora estábamos teniendo que desarrollar para hacer cálculos de registros “hijos” relacionados con un padre, para consolidarlo en un solo campo con un total.

De esta manera podremos en CRM 2015 crear un campo que nos muestre el total de oportunidades ganadas relacionadas con una Cuenta.

Primero creamos el campo de tipo divisa, con la opción de tipo de campo=”Consolidado”:

image

Si hacemos clic en “Editar” definimos que queremos calcular:

image

Luego añadimos los campos en el formulario y publicamos:

image

Al crear un campo de tipo consolidado se crean además dos campos mas de forma automática:

  • Un campo de estado
  • Un campo de fecha de última actualización

Ahora ya podremos acceder a ver este campo consolidado en el formulario de Cuentas. Lo que se debe tener en cuenta es que:

  • Este campo se actualiza de forma asíncrona
  • Para que sea síncrono, se podría hacer una llamada por SDK
  • También puede ser actualizado de forma manual en el formulario
  • El cambio de este campo no dispara Workflows o plugins relacionados

El resultado es el siguiente:

image

un saludo!!

viernes, 24 de octubre de 2014

XrmToolbox: Assembly Recovery Tool

¿Alguna vez necesitaron recoger una .dll de algún plugin o una actividad de workflow?

No importa el motivo, pero es algo que a veces ocurre. Necesitamos la .dll que se ha subido ya sea para decompilarla (ver como está hecha) o para subirla a otro entorno pero manualmente. Las dll al final están guardadas en campos de una tabla de SQL Server, pero descargarse estos valores puede ser complicado.

El ASsembly Recovery Tool nos permite descargarnos estas .dll almacenadas en el servidor, en una carpeta local.

Su funcionamiento es sencillo, primero cargamos los assemblies del servidor:

clip_image002

Seleccionamos las dll que queremos y hacemos click en Export to disk:

clip_image004

Listo, tenemos las dll en nuestro local:

clip_image006

J

http://xrmtoolbox.codeplex.com/

 

jueves, 23 de octubre de 2014

XrmToolbox: Form Libraries Manager

Cuando desarrollamos soluciones dinámicas y abiertas, que se aplican a muchos formularios el problema surge cuando tenemos que desplegar esa solución a todos los formularios.

Para solventar este problema, nació el Form Libraries Manager, que nos permite seleccionar una o varias librerías y poder añadirlas de forma masiva a varios formularios.

La funcionalidad es básica, cargamos scripts y formularios, hacemos varios checks y añadimos o quitamos los scripts de las entidades que queramos:

clip_image002

Al añadir nuevos scripts, podemos también definir el orden en que queremos que aparezcan los mismos (al inicio o al final):

clip_image004

Al aceptar se aplican los cambios y podemos ver un log de lo que ocurre:

clip_image006

Y además todo se publica automáticamente también:

clip_image008

Simple, rápido, ágil y sobre todo NECESARIO!

 

http://xrmtoolbox.codeplex.com/

miércoles, 22 de octubre de 2014

XrmToolbox: Form Parameter Manager

Los formularios de Dynamics CRM, están preparados para poder recibir parámetros en la URL como QueryString.

Estos parámetros nos permiten escenarios de integración diversos y pueden ser configurados en las propiedades del formulario:clip_image002

Para mas información acerca de como utilizar estos parámetros dirigirse a la SDK: http://msdn.microsoft.com/en-us/library/gg334436.aspx

El Form parameter manager nos permite gestionar estos parámetros desde un sitio común.

Al acceder, cargamos los formularios, le damos a crear parámetro y listo:

clip_image004

clip_image006

Y además se publica automáticamente también:

clip_image008

 

http://xrmtoolbox.codeplex.com/

martes, 21 de octubre de 2014

XrmToolbox: Sync Filter Manager

La gestión de los filtros de información que se llevan los usuarios cuando se van a Offline con el cliente de Outlook, puede traer mas de un dolor de cabeza para su configuración.

Lo mejor es poder configurar las mismas dentro un sitio común, en lugar de ir a cada uno de los equipos de los usuarios, abrirles el Outlook y configurarlo.

Para esto existe el Sync Filter manager, que es una de las herramientas mas complejas y completas del XrmToolbox.

Básicamente dispone de 5 pestañas:

·         Filtros de sincronización de sistema

·         Plantillas de filtros de sincronización

·         Filtros de sincronización de usuarios

·         Vistas del sistema

·         Usuarios

Filtros de sincronización de sistema: aquí se pueden consultar este tipo de filtros y acceder al Fetch relacionado.

clip_image002

Plantillas de filtros de sincronización: desde aquí se pueden aplicar plantillas a los usuarios y definir cales los las predeterminadas

clip_image004

Filtros de sincronización de usuarios: para consultar los filtros de los usuarios y poder activar o desactivar las mismas.

clip_image006

Vistas del sistema, para crear nuevos filtros basados en estas vistas

clip_image008

Usuarios: para recomponer los filtros predeterminados de los usuarios

clip_image010

Sinceramente esto tiene muchísimo trabajo por detrás, y nos sirve para tener control de lo que se están configurando los usuarios a nivel de filtros de offline, pero lo mejor es la posibilidad de poder configurarlo desde un sitio común para todos los usuarios.

http://xrmtoolbox.codeplex.com/

lunes, 20 de octubre de 2014

XrmToolbox: Web Resources Manager

Hoy hablaremos de una herramienta útil sobre todo para aquellos que desarrollamos con Dynamics CRM.

La SDK de Dynamics CRM nos ofrece a los desarrolladores el Developer toolkit (http://msdn.microsoft.com/en-us/library/hh372957.aspx). Estas son unas extensiones al Visual Studio que nos permiten crear workflows, plugins o trabajar con web resources.

El tema de trabajar así con el developer toolkit es que si bien los web resources se implementan de forma correcta directamente al CRM, lo que no hace es publicar los mismos. Además al implementar una solución de Developer toolkit, se vuelve a subir todo, con lo cual si tenemos muchos web resources, puede ser algo mas lento.

Bueno, para aquellos que quieran trabajar de forma mas ágil o rápida y que puedan momentáneamente prescindir del TFS, la herramienta Web Resource Manager, es lo mejor.

Lo primero que se debe hacer es cargar los web resources de forma general o de una solución especifica:

clip_image002

Seleccionamos que tipos de web resources quiero importar:

clip_image004

Desde aquí podremos editar nuestros Javascripts, Css o HTMLS con un editor simple:

clip_image006

Y luego desde aquí mismo, poder Guardar, subir y publicar con un simple “CTRL+S” + “CTRL+U”:

clip_image008

Efectivamente esto tiene la ventaja de la velocidad, sin duda.

Pero tiene algunas desventajas, como limitaciones del editor que no tiene intellisense, o que no podemos usar TFS.

http://xrmtoolbox.codeplex.com/

viernes, 17 de octubre de 2014

XrmToolbox: View Layout Replicator

Algo que está en al ADN de Dynamics CRM desde el inicio es el tema de las vistas. Son la base de navegación y la forma en que los usuarios interactúan con la plataforma.

Han evolucionado con el tiempo añadiendo nuevas funcionalidades, pero hay algo que no cambia mucho que es el tema de las columnas y los datos a mostrar en las mismas.

En los proyectos de CRM, se suelen tocar siempre las vistas y en muchos casos se suelen crear muchas vistas de sistema, por ejemplo por estados.

Como todos conoces, la edición de unas 10 vistas iguales pero con distintos filtros en CRM con unos 10 o 15 campos, puede llevar un tiempo. Además de que es posible que se nos escape algún campo, o algún ancho, etc.

Para estos escenarios existe una de las herramientas del XrmToolbox que más utilizo, que es el View Layout Replicator.

La funcionalidad es muy sencilla, cargamos las entidades, seleccionamos la entidad y la vista a copiar y luego seleccionamos a que vistas las queremos copiar:

clip_image002

Le damos al botón de “Save Views”:

clip_image004

Luego al botón de Publish entity:

clip_image006

Y listo!! Increíble pero real, en solo 5 segundos tenemos personalizadas las vistas que deseemos.

http://xrmtoolbox.codeplex.com/

jueves, 16 de octubre de 2014

XrmToolbox: Easy Translator

La gestión de traducciones estándar de Dynamics CRM, es un punto que permite gestionar traducciones mediante la exportación / importación de un fichero de Excel.

Uno de los problemas que tenemos con esta funcionalidad es que por un lado no podemos aplicar buenos filtros sobre lo que queremos exportar, y tampoco se sabe muy bien que se está traduciendo ya que falta información de contexto como por ejemplo el formulario, la sección, etc.

El Easy translator, nos ayuda y mucho en esta gestión de traducciones, dándonos muchísima información del contexto de lo que se quiere traducir.

Al cargar las entidades, podemos seleccionar las entidades a exportar y que datos se desean exportar:

clip_image002

Luego damos a “Export translations”:

clip_image004

Que nos genera un Excel completísimo para poder editar lo que se desee y como se ve en las pestañas, están agrupadas por sitios funcionales:

clip_image006

clip_image008

Finalmente podemos volver a importar este Excel con las modificaciones realizadas:

clip_image010

Es muy importante tener en cuenta que el Excel no debe ser modificado en su estructura, para que luego pueda ser importado correctamente.

 

http://xrmtoolbox.codeplex.com/