Mucha gente se pregunta acerca de esta opción de etiquetado automático de emails disponible en el Diagnóstico de CRM (Diagnostics) y lo que hace. En este blog abordaremos el tema con mayor detalle.
¿Qué es el proceso de etiquetado de emails?
El proceso de etiquetado de emails es un proceso que explora el servidor de CRM por mensajes que se están rastreando actualmente en Outlook. Si hay modificaciones del lado del servidor de CRM, recuperará estos cambios del servidor de CRM a Outlook sólo para emails modificados.
Cuando se activa el Etiquetado Automático de Emails mediante la herramienta de Diagnóstico de Clientes de CRM, esto actualizará la clave de registro TagDisabled a 0 en la siguiente ruta: HKEY_CURRENT_USUARIO\Software\Microsoft\MSCRMClient\{Orgid}
Cuando inicia el proceso de etiquetado de emails, la computadora del cliente envía una solicitud al servidor Dynamics CRM para obtener una lista de los 51 mensajes de email más rastreados recientemente de los cuales el usuario actual es partícipe. Como parte del proceso de etiquetado de emails, buscará los emails con base en los siguientes criterios:
El Servidor de CRM recopilará entonces la lista y la enviará de regreso a Cliente de CRM para Outlook en forma de XML que consiste en los siguientes valores:
Si el CRM para la máquina del cliente de Outlook recibe 51 registros de vuelta en la respuesta del Servidor de CRM, aumenta la solicitud a los últimos 101 mensajes de email. Lo continúa haciendo hasta que pueda confirmar que esté procesando todos los mensajes en donde participa este usuario que ocurrieron después de la marca de hora en la consulta.
El proceso de etiquetado de emails utiliza una base de datos SDF denominada EmailCache.sdf. Este archivo puede encontrarse en la siguiente ubicación: %AppData%\Microsoft\MSCRM\Client
Hay dos tablas que existen en la base de datos EmailCache.sdf que son utilizadas por el proceso de etiquetado:
RecentEmailsTable:Esta tabla contiene una lista de todos los emails recientes que fueron recibidos por el cliente de CRM para Outlook dentro de Microsoft Office Outlook. Esto incluye la bandeja de entrada y todas las subcarpetas dentro del buzón.Esta tabla se utiliza como un índice del buzón del usuario de modo que el Add-in de CRM no tiene que explorar el buzón del usuario en forma continua buscando elementos para etiquetar.
A medida que el usuario recibe nuevos mensajes de email en su bandeja de entrada, esta tabla es actualizada con el messageID del nuevo mensaje, así como la EntryID (identificador de entrada) de modo que pueda localizar el mensaje si más adelante éste requiera ser etiquetado.
Cuando un objeto se desplaza dentro de Outlook, o es eliminado, también inhibe la capacidad del Add-in de CRM para encontrar el registro en el buzón del usuario. Cada uno de estos eventos es rastreado también y la RecentEmailsTable es actualizada de forma correspondiente.
EmailIDMappingTable:Esta tabla contiene los mapeos entre los mensajes de email en el buzón del usuario y el ActivityID para el mensaje de email rastreado que existe en la base de datos de Dynamics CRM:
Etiquetado (tagging):Cuando la máquina del cliente de CRM para Outlook devuelve resultados del servidor de CRM de elementos que necesitan ser etiquetados, busca el elemento en la EmailIDMappingTable para ver si ya ha sido etiquetado anteriormente.
Si el mensaje ya está enlazado (ya existe dentro de la EmailIDMappingTable), el Add-in de CRM verifica que la información en el registro sea correcta, como por ejemplo el RegardingID. Si se requiere una actualización, es decir, una actualización desde el Servidor de CRM, el Add-in de CRM actualiza el elemento dentro de Outlook, and después actualiza la fila correspondiente en la EmailIDMappingTable. Una vez que se haya concluido, pasa al siguiente registro.
Si el mensaje no existe dentro de la EmailIDMappingTable, el Add-in de CRM busca el MessageID y EntryID en la RecentEmailsTable. Utiliza esta información para encontrar el objeto dentro de Outlook y actualiza las propiedades personalizadas de estos registros. Una vez que se hayaactualizado el elemento, inserta una fila que corresponde a la actualización en la EmailIDMappingTable. Cuando intenta encontrar el objeto en Outlook, es posible que aparezcan solicitudes de lectura al servidor de Exchange en caso de que Outlook no esté configurado para el modo Intercambio de Cache. Si está configurado para el modo Intercambio de Cache, lo encontrará utilizando el archivo OST.
Las propiedades personalizadas que se mencionan con anterioridad incluyen crmAsyncSend, crmEntryID, crmmessageID, crmxml y crmsecondpagexml. Estos pueden encontrarse en el email haciendo clic en la pestaña Developer (desarrollador) en el email. Una vez estando allí, seleccione Design this Form (diseñar esta forma), haga clic en la pestaña All Fields (todos los campos) y seleccione User-defined fields in this item (campos definidos por usuario en este elemento).
Si el email es enviado fuera del dominio de Exchange, las propiedades definidas por usuario serán eliminadas para el email que es recibido por el destinatario.
Algunas de las claves de registro que afectarán el etiquetado se presentan a continuación:
Dos de los escenarios más comunes en donde el etiquetado es útil son los siguientes:
Saludos!,
Claudia C.