He desarrollado una solución muy sencilla que nos permite observar las estadísticas de uso del CRM.
Estas estadísticas nos permitirán ver la evolución por tiempo, por usuario, por entidades e incluso por mensajes ejecutados.
La idea es ver un panel como el siguiente:
Para la instalación de esta solución, simplemente se puede descargar del siguiente enlace y luego importarlo:
CRMStats_1_0_0_0_managed.zip
Lo que contiene esta solución es lo siguiente:
Como se ve, simplemente contiene una nueva entidad "Estadistica", con un panel "Estadisticas CRM" y un Plugin con todos sus pasos ya registrados.
Como ejemplo, lo que estoy registrando son solamente los Mensajes de Cuenta y Contacto, pero dependiendo de lo que se desee, se pueden añadir otros mensajes, simplemente utilizando el pluginregistrationtool que viene en la SDK:
El plugin la verdad que no tiene mucha "ciencia" y es muy sencillo su código:
namespace CRMStats_Plugin
{
public class CRMStats_Plugin:IPlugin
{
public void Execute(IServiceProvider serviceProvider)
{
ITracingService tracingService=null;
try
{
tracingService = (ITracingService)serviceProvider.GetService(typeof(ITracingService));
IPluginExecutionContext context = (IPluginExecutionContext)serviceProvider.GetService(typeof(IPluginExecutionContext));
IOrganizationServiceFactory serviceFactory = (IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory));
if (context.Depth >= 2) return;
IOrganizationService service = serviceFactory.CreateOrganizationService(null);
Entity stat = new Entity("new_estadistica");
stat.Attributes["new_name"] = context.MessageName;
stat.Attributes["new_entidad"] = context.PrimaryEntityName;
stat.Attributes["new_systemuserid"] = new EntityReference("systemuser", context.UserId);
service.Create(stat);
}
catch (Exception ex)
{
tracingService.Trace("CRMStats_Plugin[Execute()]", "Execution Error: " + ex.Message + "-"+ex.StackTrace);
throw ex;
}
}
}
}
Como se ve, la idea es hacer un plugin muy sencillo que cree registros y luego "aprovecharnos" de las herramientos de gráficos y paneles que tiene CRM 2011 para explotar la información.
Espero les sirva!
abrazo