sábado, 10 de septiembre de 2016

Encriptar Campos en Dynamics CRM con MD5 (Workflow Tools)

Muchas veces necesitamos almacenar en Dynamics CRM campos como contraseñas, que por temas legales o de seguridad no deberían ser almacenadas en texto plano para que no san leídos.

Para esto, algo bueno es disponer de la posibilidad de encriptar cadenas de texto con MD5, ya que de esta manera almacenamos una imagen de ese valor original.

Esta vez he utilizado un código bastante estándar disponible en la clase MD5CryptoServiceProvider  (https://msdn.microsoft.com/en-us/library/system.security.cryptography.md5cryptoserviceprovider(v=vs.110).aspx)

Lo he añadido como una nueva funcionalidad en las Workflow Tools, que son las herramientas que estoy evolucionando y compartiendo en las comunidades desde Codeplex. Todas las funcionalidades, código fuente y documentación está disponible aquí: https://msdyncrmworkflowtools.codeplex.com/

Para utilizar esta nueva funcionalidad de encriptación, seleccionamos la acción:

wf1.gif

Luego debemos pasar el string o text que queremos encriptar:

wf3.gif

Luego podemos obtener el parámetro de salida con el valor encriptado y utilizarlo como parte del workflow:

wf4.gif

Y aquí les dejo un ejemplo donde lo añado como dentro del campo de comentarios de la cuenta:

wf5.gif

Sinceramente, esto es una funcionalidad que muchos de nosotros ya hemos desarrollado en muchos proyectos, pero seguro que teniéndola en las workflow tools, no la desarrollaremos mas Winking smile

NOTA: Solamente un tema mas, como parte de esta versión de las Workflow Tools, he añadido una nueva pequeña funcionalidad, que nos devuelve el usuario que ha iniciado el flujo de trabajo, para mas detalle ver: https://msdyncrmworkflowtools.codeplex.com/wikipage?title=Get%20Initiating%20User&referringTitle=Documentation

Espero les guste!!

un abrazo

domingo, 4 de septiembre de 2016

Actualización de Objetivos desde Workflow (Workflow Tools)

Buenas a todos. El verano se esta acabando y mis vacaciones ya son historia, así que me toca volver de nuevo a reactivar mi blog y contribuciones a la comunidad.

Siguiendo la línea de mis publicaciones de este año, voy a seguir mejorando la herramienta de workflows que está teniendo una gran aceptación, unas 400 descargas mensuales me indican que es una solución que al menos despierta interés en la comunidad.

Esta vez sigo mejorando los workflows para poder hacer algo que solo se puede hacer o por código o manualmente en Dynamics CRM. O al menos hasta hoy.

Como todos saben, el módulo de objetivos tiene una funcionalidad “asíncrona” que va recalculando como se va con el objetivo, sumando los valores reales definidos en el mismo. Este recalculo se hace en el server y solo puede ser forzado mediante este botón en la barra de comandos de los objetivos:

SNAGHTML3ca387be

Hoy he decidido que podamos hacer que este recalcular se pueda automatizar a través de un Workflow.

Como siempre, esta nueva funcionalidad ha sido añadida a las Dynamics CRM Workflow Tools, disponible en Codeplex: https://msdyncrmworkflowtools.codeplex.com

Todo el código fuente, descargas y documentación están disponibles allí.

Para utilizar el mismo, debéis instalar la solución en vuestro entorno de CRM, y seleccionar la acción de Goal Recalculate:

SNAGHTML3ca5bd1c

Luego, podéis simplemente pasarle un parámetro con el Objetivo que queréis recalcular:

SNAGHTML3ca63058

Listo, así de simple. La librería sigue creciendo y espero ideas para añadir cosas, por favor compartir vuestras ideas para hacerlo mejor!!

abrazo!

@demian_rasko

domingo, 3 de julio de 2016

Creación de Relaciones N-N desde Workflow–Asociaciones (Workflow Tools)

Hola, hoy he añadido una de esas funcionalidades que son muy necesarias en los Workflows.

Cuando creamos relaciones de tipo N-N, muchas veces nos olvidamos que este tipo de relaciones luego no pueden ser creadas desde Workflows. La sorpresa nos llega tarde, cuando necesitamos crear una de estas y no lo podemos hacer. Entonces empiezan los desarrollos.

En este caso, he añadido una nueva función que permite asociar entidades. Como siempre todo esta documentado y disponible el código para ser seguido en Codeplex: https://msdyncrmworkflowtools.codeplex.com/

Como siempre explico como funciona. Primero seleccionamos la accion:

SNAGHTML54516534

Y luego introducimos el nombre de esquema de la relación N-N y la URL del registro a asociar:

SNAGHTML54520211

Espero les guste esta nueva funcionalidad, que creo muy necesaria.

abrazo!

@demian_rasko

sábado, 25 de junio de 2016

Añadir/Quitar usuarios de Equipos desde procesos (Workflow Tools)

Hoy he continuado con la solución de los Workflows.

El otro día, un colega MVP me recordaba que no había acciones para añadir/quitar usuarios miembros de equipos, así que obviamente, me puse a ello. Este tipo de pequeños “retos” me da vuelta en la cabeza hasta que los hago, así que no podía esperar mas…

Como siempre, todo el código y la solución para descargarla está en Codeplex: https://msdyncrmworkflowtools.codeplex.com/ 

La idea es simple, se puede pasar un usuario y un Team, y se puede añadir o quitar usuarios de los mismos.

Para su utilización, seleccionamos primero la acción que queremos ejecutar:

SNAGHTML2fd99e38

Y luego le pasamos los dos parámetros:

SNAGHTML2fda61a8

y listo Smile simple como siempre.

Espero seguir contribuyendo a que cada vez se escriba menos “código” en Dynamics CRM, y podamos juntos ir haciendo los proyectos mas fácil, rápido y mantenibles.

Un abrazo!

@demian_rasko

sábado, 18 de junio de 2016

Geolocalizando direcciones–Latitud/Longitud– con Bing Maps (WorkFlow Tools)

Hoy sigo con mi aventura de los Workflows, al final todo lo que se me ocurra lo meteré aquí, lo que permitirá que cada vez “piquemos” menos código Winking smile.

Esta vez, me meto de lleno en la Geolocalización. La idea es simple: dado un “string” con una dirección, vamos a obtener la Geolocalización desde Bing Maps, y devolver la Latitud y Longitud.

Estos valores son muy necesarios para hacer cálculos posteriores relacionados con Geo posicionamiento.

Como siempre, el código está disponible y abierto a todo el mundo en Codeplex: https://msdyncrmworkflowtools.codeplex.com/

La idea de su funcionamiento es simple, primero seleccionamos la nueva actividad:

SNAGHTML704a807

Pasamos los parámetros de entrada:

La dirección debe ser introducida como se completaría en los mapas de “Bing”. La clave de Bing Maps debe ser válida. para obtener una clave ver este enlace: https://msdn.microsoft.com/en-us/library/ff428642.aspx

SNAGHTML70508c5

Finalmente podemos utilizar el resultado que es de tipo “Decimal” de la Latitud y Longitud. En este ejemplo, los guardo en los campos correspondientes de la Cuenta:

SNAGHTML706fcf4

Espero les guste!! Tiren ideasss!!!

@Demian_rasko

domingo, 12 de junio de 2016

Envíos de Emails desde Workflows (Workflow Tools)

Hoy voy a cubrir un requerimiento que ya estaba resuelto, pero que un cambio en el producto que desde la versión 2015 Update 1 perdimos todos.
Como siempre, todo el código esta abierto y publicado en Codeplex: https://msdyncrmworkflowtools.codeplex.com
Desde la versión de CRM 2011, si nosotros desde un Workflow creábamos un email y luego le actualizábamos el estado a “Envío Pendiente”, luego el CRM se encargaba de realizar el envío. Pues bien, desde la versión 7.1 ya no funciona así.
Entonces, a petición de un seguidor de las Workflow Tools, se me ha solicitado el añadir una solución para cubrir esta funcionalidad “perdida”. Para esta solución, me he inspirado en un artículo de otro MVP llamado George Doubinski (https://mvp.microsoft.com/ru-ru/PublicProfile/4020416?fullName=George%20Doubinski) en el blog del “Tip of the day”: http://crmtipoftheday.com/2016/03/17/reliably-send-email-in-workflow/
La idea es muuuuy simple, pero es tan simple como necesaria y útil. para ser utilizada, primero seleccionamos la acción “Send Email”:
SNAGHTML3158f4ed
Luego pasamos el parámetro de entrada del Email que queremos enviar:
SNAGHTML31596809
Y finalmente podemos utilizar un parámetro de salida con el asunto del email enviado, con el token de CRM añadido:
SNAGHTML3159f11f
Un abrazo a todos!!
@demian_rasko

sábado, 4 de junio de 2016

Enlaces directos a registros en movilidad –Mobile Deep Link- (Workflow Tools)

Esta vez, la idea de la nueva funcionalidad ha surgido de nuevo de la comunidad de MVPs. En este caso ha sido Jerry Weinstock (https://mvp.microsoft.com/en-us/PublicProfile/4029113?fullName=Jerry%20Weinstock) el que me dió una nueva idea para añadir.

Siento repetirme para los que ya hayan leído artículos anteriores, pero para aquellos que no, todo este desarrollo lo tengo disponible para descarga y con el código compartido en Codeplex: https://msdyncrmworkflowtools.codeplex.com/

Como todos saben, una de las nuevas funcionalidades en Dynamics CRM 2016, es la posibilidad de abrir a través de un enlace, directamente registros de CRM o vistas de App móvil (MoCA o la App móvil).

De esta manera, se permite por ejemplo el enviar un email con un enlace que al hacer click, en lugar de abrir el navegador, abre directamente la App móvil en el registro que queremos.

Para desarrollar esta funcionalidad, me he basado en lo documentado en este artículo: https://msdn.microsoft.com/en-us/library/mt607595.aspx

Ahora voy a pasar a enseñar como funciona. Primero seleccionamos la acción “Entity Mobile Deep Link”:

SNAGHTMLae27502

Luego pasamos el parámetro de la URL del registro como parámetro de entrada:

SNAGHTMLae319ae

Como resultado de la ejecución se crean 3 variables:

  • Mobile Deep Link Edit: Enlace directo al registro consultado
  • Mobile Deep Link New: Enlace directo al formulario de creación para el tipo de entidad seleccionado
  • Mobile Deep Link Default View: Enlace para ir directo a la vista predeterminada del tipo de entidad seleccionado

Estas variables que pueden ser utilizadas en el Workflow. En este caso, lo uso en un Email:

SNAGHTMLae4a6f5

He creado un ejemplo, en donde recojo estos enlaces y los envío por email. El workflow me ha quedado así:

SNAGHTMLae5f639

Al ejecutarlo, en mi tablet recibo el email y lo lea desde la App de Outlook del tablet:

SNAGHTMLae6fbb3

Al hacer click en cualquier de los enlaces, me pedirá confirmación, ya que lo que se hace aquí es una llamada de una App móvil (app de outlook) a otra App móvil (MoCA para Dynamics CRM):

SNAGHTMLae7f2a5

En enlace directo al registro de CRM me abre el MoCA en el registro seleccionado:

SNAGHTMLae86872

El enlace de creación me dirige directamente al formulario de creación de Cuentas:

SNAGHTMLae8ef84

Y finalmente el de la vista predeterminada, me muestra directamente la vista de Cuentas Activas:

SNAGHTMLae98607

Espero les guste esta nueva funcionalidad, que hace que cada día las Workflow Tools crezcan mas!

un abrazo!

@demian_rasko