Mostrando entradas con la etiqueta Funcionalidades. Mostrar todas las entradas
Mostrando entradas con la etiqueta Funcionalidades. Mostrar todas las entradas

lunes, 10 de abril de 2017

Eliminando valores de desplegables (Workflow Tools)

Las últimas semanas han sido días movidos, sobre todo por haber participado como Speaker en el Extreme365 de Lisboa (http://www.extremecrm.com/2017Lisbon), y luego por el anuncio de Microsoft acerca de que dejarían de soportar Codeplex (https://blogs.msdn.microsoft.com/bharry/2017/03/31/shutting-down-codeplex/).

Ahora estoy aprendiendo a utilizar Github, y despidiéndome de Codeplex. Ya tengo todo movido al nuevo entorno y funciona de maravilla. Además he empezado también a trabajar para esto con Visual Studio 2017, cosa que aprovecho para recomendar a todo el mundo.

Hoy estoy volviendo a publicar nuevas funcionalidades en mis ya conocidas Workflow Tools y a la vez he resuelto un bug que había en las funciones de Asociate/Dissaociate.

La funcionalidad de hoy va relacionada con la eliminación de valores de picklists, para dar por completo las funcionalidades de Picklists que ya había comenzado con la creación de los mismos.

Como siempre, el código siempre está disponible, pero a partir de ahora estará en Github: https://github.com/demianrasko/Dynamics-365-Workflow-Tools

Para utilizar esta acción, seleccionamos la acción:

image

y luego rellenamos los parámetros:

image

Espero les guste!!

@demian_rasko

sábado, 24 de diciembre de 2016

Eliminar relaciones N-N o desasociando registros (Workflow Tools)

Buenos días a todos!

Hoy es nochebuena, y como “regalo” de navidad, una nueva actualización de las Workflow Tools.

Hace unos meses, en julio, cuando publique la funcionalidad de asociación de registros (http://www.demianrasko.com/2016/07/creacion-de-relaciones-n-n-desde.html) quise publicar también la des asociación de estos. El problema es que en esos días tuve alguna incidencia y no conseguí hacerlo funcionar. Posiblemente sea a causa de las altas horas de la noche en las que suelo hacer esto, y probablemente mi mente estaba ya demasiado agotada. La cuestión es que a petición de algún usuario en Codeplex (https://msdyncrmworkflowtools.codeplex.com/discussions/660101) he decidido volver a intentarlo, y esta vez si que ha ido bien.

Por lo tanto, esta nueva versión ya lo incluye. Como siempre, todo el código fuente y documentación esta disponible en Codeplex: https://msdyncrmworkflowtools.codeplex.com/

Para utilizar esta funcionalidad, primero seleccionar la acción:

SNAGHTML9831c5d

Y luego rellenar los dos parámetros:

image

Los parámetros son:

  • Relationship Name: donde debemos introducit el nombre de esquema de la relación N-N
  • Record URL: con la URL del registro que queremos relacionar al registro principal del contexto de ejecución del workflow.

En esta release, también he incluido un “arreglo” a una incidencia que había con los “Query Values”. Resulta que en la versión inicial había un error al ejecutar esta acción en los casos en que el parámetro “Attribute2” estaba vacío. Daba un error de Null…. El tema es que parece que al haber parámetros opcionales en la entrada que están vacíos, luego en los parámetros de salida daba una exception. Si se rellena un valor de un campo (aunque no se quiera utilizar), se resuelve. En la nueva verión los dos parámetros son obligatorios, con lo cual esta resuelto.

Espero paséis todos una feliz nochebuena y que esto les sea útil!

Sigo abierto a recibir feedback de nuevas funcionalidades a crear!

Un abrazo a todos

@demian_rasko

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

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

domingo, 3 de abril de 2016

Eliminación de registros desde Workflows (workflow Tools)

En los últimos días, me han contactado algunas personas reportando un par de incidencias en mi componente de Workflow Tools que comparto en Codeplex: https://msdyncrmworkflowtools.codeplex.com/

En concreto tenía dos “bugs” en la funcionalidad de Clonado relacionado con los estados de las Citas y con los activity party, y otro “bug” en el de “Check User in Role” cuando había roles en varias Unidades de Negocio. En fin, estos temas me los han reportado en la misma página de Codeplex, y ya los he resuelto.

Adicionalmente hoy he añadido una funcionalidad que misteriosamente no existe de forma “estandar” en Dynamics CRM. Es el tema de borrado de registros. El nuevo paso que añadí, permite eliminar registros desde un workflow de dos formas:

  • Desde la URL del registro
  • con el GUID y el tipo de registro

Como siempre, explico como funciona. Primero seleccionamos la actividad:

SNAGHTML4ffac40

y una vez seleccionado, tenemos dos opciones de borrado. Primero con la URL del registro:

SNAGHTML50020c4

y luego, con el GUID y el tipo de registro:

SNAGHTML5005f83

Los parámetros son entonces:

  • Delete Using Record URL: Para seleccionar el modo de eliminación
  • Record URL: Requerido si "Delete Using Record URL" es true
  • Entity Type Name: nombre de esquema (en minúsculas) del tipo de entidad a ser eliminado. Requerido si "Delete Using Record URL" es false
  • Entity Guid: Guid del registro a ser eliminado. Requerido si "Delete Using Record URL" es false

Esta historia sigue creciendo y creciendo!! cada vez mas cosas se pueden hacer sin abrir el Visual Studio!!! Winking smile

espero les guste, y como siempre, se acepta sugerencias de mejora!

un abrazo!

@demian_rasko

domingo, 28 de febrero de 2016

Creación de un Worker Role de Azure conectado con Dynamics CRM Online

Hola, hoy voy a cambiar un poco la línea de mis últimos “posts”, para empezar a meterme un poco mas en el mundo de Azure.
Como todos saben, Azure es una de las áreas de mayor inversión por parte de Microsoft y semanalmente tenemos noticias de nuevas funcionalidades en el Cloud.
Hoy, quiero hablar de lo que se llaman “Worker Role” de Azure.
Para la descripción de los Worker Roles, cito la siguiente información:
<inicio de la cita>
La arquitectura de un servicio alojado en Windows Azure se basa en componentes auto-contenidos desarrollados típicamente con código .NET. Estos componentes son conocidos en Windows Azure como roles.
El siguiente diagrama explica su arquitectura:

Existen dos tipos de roles en Windows Azure:
  • Web rol: Un ‘web rol’ es una aplicación basada en web accesible mediante HTTP o HTTPS. Un web rol es alojado en un entorno de ejecución que soporta un subconjunto bastante amplio de ASP.NET y Windows Comunication Foundation.
  • Worker rol: Un ‘worker role’ es un proceso que corre en segundo plano. Sería el equivalente a un servicio de Windows en la plaforma Windows Azure. Un worker rol se puede comunicar con los servicios de almacenamiento y de colas de Windows Azure, incluso puede comunicarse directamente con otros roles.
(fuente de esta descripción: http://www.estoyenlanube.com/recursos/windows-azure/arquitectura-de-una-aplicacion-windows-azure/)
<fin de la cita>
En este caso, lo que voy a hacer, es crear un “Worker Role”, enfocado en la realización de tareas contra un Dynamics CRM Online, en este caso, la creación de una Cuenta, cada 10 segundos. Es algo simple, pero que puede enseñar fácilmente como funciona.
Los pasos a seguir para el desarrollo de este servicio en la nube son los siguientes:
Creación del proyecto “Servicio de nube Azure”:
SNAGHTML29446e52
Seleccionamos el tipo de Worker Role:
SNAGHTML29452aad
En el proyecto de tipo worker role (que es una dll), primero añadimos las librearías de la SDK de CRM que vamos a utilizar y luego desarrollamos dentro del método “RunAsync” la lógica de negocio que queremos que se ejecute. En este caso, nuestro código se conecta con un CRM Online, y crea una cuenta, luego espera 10 segundos, y se volverá a ejecutar, igual que como funciona un servicio de Windows.
SNAGHTML2946fde7
Una vez desarrollado, podemos depurarlo en local, o podemos publicarlo. Para publicar el servicio en Azure, hacemos click derecho en el proyecto de Cloud Service y le damos a publicar:
SNAGHTML294a1d95
Nos pedirá autenticarnos con nuestro usuario de Azure:
SNAGHTML294a85e4
Definimos una serie de parámetros en el segundo paso:
SNAGHTML294aef5c
y confirmamos y todo se despliega “mágicamente” en la nube:
SNAGHTML294b2939
En mi CRM Online, ya puedo ver que se empiezan a crear nuevas cuentas:
SNAGHTML294c8474
Dentro de mis servicios en la nube, además puedo ver como va de rendimiento, y consultar su uso mediante muchas métricas de CPU, red, disco, etc.:
SNAGHTML294ea223
Excelente! he tardado solo 5 minutos y ya he publicado un servicio en mi cuenta de Azure, que se ejecuta constantemente allí, de forma igual a la que funciona un servicio de Windows.
Este tipo de servicios, pueden ser muy útiles en implantaciones de CRM Online, para ejecutar procesos constantes por ejemplo de sincronización de información, o de comunicaciones.
Espero les haya gustado, y les pueda dar ideas para nuevas implementaciones en la nube Winking smile
un saludo
@demian_rasko

sábado, 16 de mayo de 2015

Como configurar Parature KB en Dynamics CRM Update 1

Dynamics CRM o la familia de Dynamics CRM sigue creciendo. Muchos ya conocen Dynamics Marketing o Social Engagement, pero también hay otro producto llamada Parature, que es una solución global enfocada al servicio al cliente.

Esta solución, está cada vez mas integrada con Dynamics CRM, y de hecho el Update 1 (solo online de momento), permite la integración de la KB de Parature, dentro de los formularios de CRM.

Hoy voy a explicar paso a paso como configurar y utilizar esta integración.

Lo primero que hay que hacer es configurar Parature dentro de Dynamics CRM en la zona de Administración de servicios:

image 

Y luego abre esta pantalla:

image

Allí debemos seleccionar:

  • Instancia de Parature (debe estar en la misma instancia de Office365)
  • Id del departamento
  • Dirección URL del portal

Para recoger el Id del departamento, debemos ir a Parature y copiar el número que pongo a continuación:

image

Y para la URL del portal la que enseño a continuación:

image

Luego de haber rellenado esos dos valores, damos a siguiente y nos aparecerá lo siguiente:

image

Luego vamos a crear un artículo nuevo en la KB de Parature:

image

image

La enviamos para revisión:

image

Y la aprobamos y publicamos:

image

Una vez aprobado el artículo, ya podemos crear casos en CRM y en el “Panel social” tener acceso al mismo:

image

Si hacemos click sobre el título, podemos previsualizar el artículo:

image

O en una ventana emergente:

image

Además podemos enlazar en artículo con el caso:

image

Los artículos relacionados aparecen aquí:

image

Mediante esta configuración tan sencilla nos permite añadir los artículos de KB de Parature dentro de CRM, con toda la potencia y versatilidad que da Parature, y con toda la trazabilidad y seguimiento que puede darnos Dynamics CRM.

Espero les haya gustado.

@demian_rasko

martes, 28 de abril de 2015

Integración con OneNote con CRM 2015 Update 1

Unos de las nuevas funcionalidades que mas interés está levantando del Update 1 que viene en estos días, es la integración con OneNote.

Esta integración permite crear Blocs de OneNote Online, relacionado con registros de CRM (Cuentas, Contactos, etc.).

Para habilitar esta integración, lo primero que hay que hacer es habilitar la integración con Sharepoint del lado servidor, y luego habilitar que entidades queremos que puedan tener OneNote:

image

image

Una vez configurado, podremos utilizar el OneNote en el cliente de tablets o “moca” como se muestra a continuación. La primera vez que se accede a un registro, y aún no se ha creado el bloc de notas, aparece un mensaje como el siguiente:

image

El bloc de notas de un registro, se crea en el momento que se accede desde el cliente web al registro, y se seleciona OneNote desde la pestaña del panel social del registro:

image

Una vez creado, podemos ir al moca de nuevo y poder editar allí las notas:

image

Editamos las notas, y ya está.

image

Desde OneNote podemos añadir dibujos, imágenes o fotos con la cámara, entre otras muchas funcionalidades que nos da OneNote.

El bloc de notas esta almacenado en SharePoint Online, y queda relacionado con el registro de CRM, que se podrá acceder también desde el cliente web, en el formulario en el panel social.

Espero les haya gustado esta integración.

un saludo

@demian_rasko