lunes, 15 de abril de 2013

CRM 2011 Testing Data Creation (nueva release)

Hola a todos, he recibido algo de buen “feedback” de mi desarrollo de creación de testing data, y he decidido mejorar la solución poco a poco, para mejorarla y ofrecer una herramienta mas útil y versátil.

Para los que no la conozcan, es una solución que publiqué en Codeplex y está descrita en este post:

He añadido una nueva “release” (1.2.0.0). Hasta aquí: http://crmtoall.blogspot.com.es/2013/03/crm-2011-testing-data-creation.html

La solución de Codeplex está aquí: https://crm2011testingdata.codeplex.com

image

Hasta hoy, esta solución solo funcionaba con campos de tipo texto, ahora le he añadido el soporte para los siguientes tipos de datos:

  • String
  • Integer
  • Money
  • Boolean
  • Double
  • Picklist
  • Status

Para próximas releases iré añadiendo nuevas funcionalidades como por ejemplo:

  • Soporte para tipos statecode, lookups y partylists
  • Validaciones de todo tipo (entidades, campos, etc.)
  • Posibilidad de añadir datos estáticos (y no dinámicos), o una mezcla de ambos por ejemplo desde un csv.

Estoy abierto a nuevas propuestas…

Un abrazo!

lunes, 1 de abril de 2013

Soy MVP de Microsoft 2013!

MVPLogo2.gif

Hoy he recibido una gran noticia! Microsoft me nombra MVP para el año 2013!

Es un gran honor y un orgullo para mí este reconocimiento, pero a la vez es una nueva responsabilidad de seguir adelante.

Muchas gracias a todos y abrazos!!!

viernes, 22 de marzo de 2013

Novedades del Convergence 2013 y el futuro de Dynamics CRM

 

Guau!, no se por donde empezar, he estado mirando las nuevas novedades que nos están enseñando en el Convergence 2013 y la verdad es que este año que ya ha empezado con “Polaris” (UR12), nos traerá muchas mas novedades, algunas realmente revolucionarias.

Para empezar, el anuncio de que este mes saldrá la versión numero 15 de MarketingPilot (https://community.dynamics.com/crm/b/crmconnection/archive/2013/03/19/marketingpilot15.aspx#.UUhyphwqygw). Esta es la solución de marketing que ha comprado Microsoft a finales del 2012, y ya lo han adaptado al diseño de Microsoft. Realmente parece ser una solución excelente para la gestión global del marketing de una compañía, incluyendo e-mailings, redes sociales, presupuestos, gestión de los costes, tracking, y mucho mas.

Seguido de esto, anunciaron la compra de la empresa Netbreeze (https://community.dynamics.com/crm/b/crmconnection/archive/2013/03/19/netbreeze.aspx#.UUwWFhzHFqw). Esta solución es realmente interesante ya que lo provee es la posibilidad de hacer análisis “sentimentales” de los comentarios de los usuarios en las diferentes redes sociales, blogs, etc. Esto nos permite detectar el “sentimiento” general de nuestro producto o marca en las redes sociales. Lo que hace es analizar cada uno de los mensajes en su lengua nativa, y detectar si el cometario es positivo, negativo o neutral. Además ofrece dashboards, posibilidad de detectar a los “influencers”, y mucho mas.

Con estas dos soluciones, sinceramente todo el área de marketing cambia de manera radical, y la verdad que ya era hora, porque desde la versión 3.0 de CRM no había cambiado casi nada hasta hoy.

Por último han hablado del “roadmap”, es decir, hacia donde va Dynamics CRM. Con lo visto, creo que prácticamente es como si fuese una nueva versión de CRM, aunque no estoy seguro de si esto de las versiones se seguirá llevando, o simplemente se irán añadiendo funcionalidades en futuras releases. Como estoy viendo últimamente, “Microsoft Dynamics CRM 2011”, ahora se llama simplemente “Microsoft Dynamics CRM” (el “2011” ya casi no aparece).

El roadmap es como el siguiente:

image

Como se ve, en la segunda mitad del Año, saldrá “Orion”, y con él, el CRM que conocíamos hasta ahora, simplemente dejará de existir.

Toda la interfaz de usuario será nueva, y el principal cambio será que no existirá ningún “popup” en la navegación. Según comentan, todos estos cambios de interfaz, mantendrán la compatibilidad de lo que ya había, pero seguramente que a los que implantamos CRMs nos surgirán muchos nuevos desafíos que afrontar.

Les dejo varias imágenes de como será:

Dashboards:

image

“Navegación” a otras áreas:

image

Formulario de oportunidad:

image

Navegación a “oportunidades”:

image

Vista de oportunidades:

image

Oportunidades recientes:

image

Información relacionada con un registro:

image

Creación rápida de un registro relacionada (actividad):

image

Flujo completo de proceso con diferentes entidades:

image

Comparativa “Ribbon” vs “Barra de comandos”:

image

Comparativa “Navigation pane” vs “Navigation bar”

image

Marketing Pilot y netbreeze:

image

Netbreeze integrado en CRM:

image

 

Después de todo esto, simplemente me queda por decir una cosa: WOW!

 

sábado, 9 de marzo de 2013

CRM 2011 Testing Data Creation

Hola, he desarrollado una pequeña solución que espero ir mejorando poco a poco, que sirve para la creación de datos de prueba para Dynamics CRM 2011.

Básicamente, la solución consiste en una nueva entidad, que contiene una serie de parámetros, y en la creación de un registro de este tipo, lanza un plugin que realiza una creación masiva de registros según los parámetros introducidos.

El formulario es como el siguiente:

bulk2

Allí podemos seleccionar:

  • Nombre de esquema de la entidad
  • Cantidad de registros a crear
  • Atributos (separados por “;”)
  • Valores (separados por “;”): aquí incluso se puede introducir “*” para ser reemplazado por el numero automático de registro, o el “|” para valores opcionales que se seleccionan por un random.
  • Si se quiere utilizar el ExecuteMultipleRequest (nuevo en rollup 12) se selecciona y se debe definir también el tamaño del “paquete”.
  • Modo de ejecución: Sync o Async

Lo del ExecuteMultiple en realidad fue una simple prueba, ya que no hay mucho cambio en la velocidad de creación usándolo o no desde un plugin (el tiempo de cada llamada es similar al estar ejecutándose directamente dentro del servidor).

Los registros creados son en este ejemplo los siguientes:

bulk1

Por último, nos da como respuesta, como ha ido y algunos datos de seguimiento en el mismo en el mismo formulario:

  • Velocidad de creación (registros por segundo)
  • Registros creados
  • Tiempo de ejecución

Además podemos con las vistas ir comparando las diferentes cargas:

image

Toda la solución, personalizaciones y solución de Visual Studio 2012 con el plugin, están disponibles en Codeplex:

http://crm2011testingdata.codeplex.com/

Mi idea será ir mejorando la documentación, y las funcionalidades de esta pequeña herramienta.

Un saludo,

viernes, 1 de marzo de 2013

Nueva versión de la SDK (5.0.14)

Hola,  Microsoft ha publicado una nueva versión de la SDK, y vamos por la versión 5.0.14.

Puede descargarse de aquí: http://www.microsoft.com/en-us/download/details.aspx?id=24004

En resumen, incluye documentacion acerca de Yammer, nuevas clases en early bounds para office 365, información del contexto de los plugins, y algunas cosas mas.

El listado de las actualizaciones realizadas es:

New and updated topics

Description of changes

SDK\Bin

Updated the assemblies for this version of the SDK package.

Microsoft_Dynamics_CRM_2011_SDK_Readme.htm

Updated the readme for this version of the SDK package.

SampleCode\VB\Azure\*

Added VB .NET versions of the C# Azure samples.

SDK\Templates\Xrm.PageScriptProjectTemplate

Updated the Microsoft Visual Studio project templates for the Xrm.Page Script Library Template so that both Microsoft Visual Studio 2010 and Microsoft Visual Studio 2012 are supported. Also updated the XrmPageTemplate.js file in those templates to provide better IntelliSense and include new functions such as those included in the Xrm.Utility Reference and Xrm.Page.context.getClientUrl.

The new files are:
XrmPageScriptDevelopmentProjectCS_VS2010.vsix
XrmPageScriptDevelopmentProjectVB_VS2010.vsix
XrmPageScriptDevelopmentProjectCS_VS2012.vsix
XrmPageScriptDevelopmentProjectVB_VS2012.vsix

Connect to Yammer

Added a new topic about integrating with Yammer and changes in the Activity Feeds functionality.

Create Early Bound Entity Classes with the Code Generation Tool (CrmSvcUtil.exe)

Added new information on using the code generation tool with the Microsoft Office 365(OSDP) identity provider of Microsoft Dynamics CRM Online.

HasChanged

Added details describing this property.

Impersonate Another User

Added information about the privileges that are used to modify data.

Implement Single Sign-on from an ASPX Webpage or IFRAME

Added a link to a blog with video that demonstrates how to work around common problems developers run up against when creating a web page in an IFRAME that implements single sign-on between Microsoft Dynamics CRM and Windows Azure.

Prepare a Solution that is Backward Compatible with Earlier Releases of Microsoft Dynamics CRM

Added a new topic to introduce the Solution Down-level Utility.

Processes, Workflows, and Dialogs for Microsoft Dynamics CRM

Added new information to consider when importing a solution that contains a workflow or custom workflow activity.

RelationshipType

Added information about this new property for the RelationshipMetadataBase class.

Retrieve and Detect Changes to Metadata

Updated the Retrieve Just the Metadata You Need section to include information about the using the RelationshipType property to distinguish between types of relationships. Also updated the Retrieving New or Changed Metadata section to include information about using the HasChanged property to detect which metadata item has changed.

Sample: Retrieve Currency Exchange Rate

SampleCode\CS\BusinessDataModel\ BusinessManagement\
TransactionCurrencyExchangeRate.cs
SampleCode\VB\BusinessDataModel\ BusinessManagement\
TransactionCurrencyExchangeRate.vb

Added functionality to retrieve current organization unique name.

Sample: SDK.SectionSamples.js

Updated the SDK.SectionSamples.doesControlHaveAttribute function to include the control type value of ‘notes’ that was added in Microsoft Dynamics CRM 2011 Update Rollup 12 and Microsoft Dynamics CRM December 2012 Service Update.

Supported Messages and Entities for Plug-ins for Microsoft Dynamics CRM

Added a statement that custom entities are also included in the table in addition to system entities.

Understand the Data Context Passed to a Plug-In

Added new information about pre and post images and about input\output parameters.

Use ExecuteMultiple to Improve Performance for Bulk Data Load

SampleCode\CS\DataManagement\ExecuteMultiple\ ExecuteMultiple.cs
SampleCode\VB\DataManagement\ExecuteMultiple\ ExecuteMultiple.vb

New information on handling a fault when the maximum batch size limit is exceeded. Added new fault handling code to the samples.

Walkthrough: Register an Azure-Aware Plug-in with Plug-in Registration Tool

Added instructions on how to obtain the management key for a service bus namespace.

Walkthrough: Single Sign-on from a Custom Web Page

Added new information about how to create a service account that can be used to perform data operations on behalf of the logged on user.

Web Resources for Microsoft Dynamics CRM

Updated the topic to replace information about using getServerUrl with getClientUrl and add information about the Xrm.Utility.openWebResource function.

Xrm.Page.ui Control Methods

Added a note to indicate that the subgrid control refresh method is not available in the form OnLoad event.

Para mas información: http://blogs.msdn.com/b/crm/archive/2013/02/27/announcing-sdk-update-v5-0-14.aspx

viernes, 15 de febrero de 2013

Conociendo “Polaris” (Update Rollup 12): Nuevos Procesos en profundidad

Como todos sabrán, el nuevo “Polaris”, el último release de Dynamics CRM 2011 incluye nuevas funcionalidades que permiten la definición de Procesos.

Estos procesos en un principio son bastante limitados y según comentan serán ampliados y generalizados en futuras actualizaciones.

Actualmente solamente pueden ser creados procesos de :

  • Ventas:
    • Cliente potenciales
    • Oportunidades
  • Servicio:
    • Casos

Los procesos de momento están solamente disponibles en Dynamics CRM Online, aunque próximamente en OnPremise también, aunque no hay fecha (ya empezamos de nuevo…).

Los procesos simplemente pueden definirse de forma única (uno solo) para los Leads, y uno solo para las Oportunidades. Cada uno de los procesos contiene Fases y dentro de las mismas se pueden definir pasos, que pueden ordenarse. Cada paso consiste básicamente en un campo de la entidad (Cliente potencial u Oportunidad) que se propone para ser rellenado.

Las entidades habilitadas para los formularios de procesos son “lead”, “opportunity” e “incident”. Al abrir un registro de este tipo podemos ver los formularios de la siguiente manera:

Cliente Potencial:

image

Oportunidad:

image

Caso:

image

Como se ve anteriormente, en la parte superior de los nuevos formularios tenemos uno proceso, que en cada una de las fases nos va proponiendo una serie de campos a rellenar (pasos).

Estos procesos son muy cómodos para ir guiando a un usuario de lo que tiene que ir haciendo en cada una de las fases del proceso. Los procesos puedes ser definidos accediendo al botón superior “…”:

image

Una vez allí, se puede modificar el proceso actual, por ejemplo incluyendo un nueva nueva fase al comienzo, incluso con campos personalizados de cualquier tipo como se muestra a continuación:

image

una vez aceptada, simplemente se actualiza el proceso y ya están disponibles nuestros pasos con los campos personalizados:

image

Los formularios de procesos son muy ágiles, rápidos y reducen los “popups” y los “clicks”. En donde mas se nota esto, es en el momento de calificar un Cliente potencial (y creación de une Cuenta, Contacto y Oportunidad. Este proceso en versiones anteriores obligaba a abrir muchos formularios y seleccionar muchas opciones.

Bien, con Polaris, todo esto se ha simplificado, tanto desde los formularios “clasicos” o antiguos, como en los nuevos.

Cambiar al formulario clásico vamos de nuevo a “…” y “Cambiar a clásico”:

image

Desde los formularios clásicos la clasificación de un cliente potencial ahora es tan simple como lo siguiente:

imageimage

Y desde los formularios de proceso se vería así:

image

De esta manera, se refresca el formulario y ya estamos en la oportunidad (de forma muy transparente y rápido para el usuario):

image

Como ven, estos nuevos formularios de procesos, son muy rápidos, ágiles y cómodos para utilizar. Son un gran avance ante los formularios que teníamos hasta ahora, que la verdad ya necesitaban un lavado de cara, porque su rendimiento era muy “pesado”.

Como todo en la vida, nada es perfecto, y esto tiene ciertas limitaciones que creo que en futuro irán siendo resueltas:

  • Capacidad de personalizar muy limitada
  • Procesos solamente para 3 entidades
  • Un solo proceso general para toda la organización
  • No existen validaciones entre las fases, son simplemente orientativas
  • Cuidado con el “autosave” de los formularios (cada 30 segundos se guarda el formulario, disparando plugins, workflows, etc.)
  • No disponemos de Ribbon (para mi que esto es una ventaja, je)
  • Los procesos deberían poder disponer de validaciones y caminos condicionales dependiendo de valores
  • etc.

Según han comentado, para futuras releases, los formularios “clásicos” desaparecerán, para ser reemplazados por estos y toda la funcionalidad que hay actualmente será traslada a los mismos.

¿Se imaginan el CRM con este aspecto todo el tiempo? ya queda menos…

abrazo

martes, 12 de febrero de 2013

extremeCRM 2013 en Roma

extremecrm_on_white_72x72-01

Como los últimos años por el mes de febrero, la semana pasada se ha celebrado el ya conocido evento de Dynamics CRM “extremeCRM” (http://www.extremecrm.com).

Este evento se celebra dos veces al año, uno en EMEA en febrero y otro en EEUU en el mes de octubre. Esta vez ya es la tercera ocasión que se celebra en EMEA (Praga 2011, Berlín 2012 y Roma 2013) y creo que cada vez se van superando, incorporando nuevos patrocinadores, participantes y sesiones.

He tenido el privilegio de poder asistir y conocer y volver a ver a mucha gente del mundo de Dynamics CRM, además de aprender muchísimo en su gran variedad de sesiones técnicas.

He participado en muchas sesiones técnicas (tracks de “deploy” y “extend”) y creo sin duda que es el mejor evento (por lo menos a nivel técnico) acerca de Dynamics CRM que hay hoy en día, no solo por la cantidad de sesiones técnicas que hay disponibles para asistir, sino también por el gran nivel de los “speakers” que son invitados a participar del evento.

Este año el tema a rodado alrededor de “polaris”, sus problemas y retrasos en los despliegues, su contenido y su visión de futuro.

Además ha habido sesiones de todo tipo, desarrollo con Windows 8, integraciones con Sharepoint, múltiples soluciones ISVs (Addons), ejemplo de testing unitario para crm, Dynamics connector, y muchisimo mas.

Sin duda recomiendo el evento, les dejo algunas fotos del mismo (aunque parezca mentira, en una aparecen @marcoamoedo y @ramontebar vestidos de Mario y Luigi jaja):

20130205_09325820130205_094951

20130205_12385920130205_142909

20130205_14322320130206_090311

20130206_123259