domingo, 31 de julio de 2011

Eliminación automática de flujos de trabajo en Microsoft Dynamics CRM 2011

En los años que tengo implementando Dynamics puedo decir que un elevado porcentaje de los problemas de rendimiento asociados a una baja en los tiempos de respuesta de la solución, están relacionados con un crecimiento repentino de registros en la tabla WorkflowLogBase, y hablando precisamente de la WorkflowLogBase en esta tabla se guarda todas los pasos (actividades) ejecutados por los flujos de trabajo, la cual dependiendo de distintas variables tales como: cantidad de flujos de trabajo implementados, tamaño de los flujos de trabajo y frecuencia de uso pueden provocar que esta tabla crezca de manera exponencial.

Recuerdo que el equipo de Microsoft Dynamics publicó el KB 968520 donde toca este tema pero ¿Qué es lo que hace este KB?

Básicamente, sugiere la aplicación de un script que permite borrar el contenido de los registros en la WorkflowLogBase, claro está los registros que se encuentren ya en estado finalizado o cancelado, quiere decir que ya no podremos visualizar los pasos completados de un workflow ya que ese log se elimina si es que se aplica este script.

Cabe mencionar que este KB aplica tanto para implementaciones realizadas con CRM 4 y CRM 2011, en ocasiones se recomienda incluir este paso como parte del plan de mantenimiento de la aplicación CRM en implementaciones donde los flujos de trabajo juegan un papel fundamental.

Microsoft Dynamics CRM 2011 dentro de las nuevas funcionalidades que ofrece ayuda a controlar de manera nativa este pequeño inconveniente asociado a versiones anteriores del producto, es más es una nueva funcionalidad asociada al diseñador de flujos de trabajo del cual no se habla mucho.

Y hablando un poco más de esta nueva funcionalidad, pues esta permite borrar automáticamente un flujo de trabajo cuando este haya finalizado su ejecución por completo.

Cabe indicar que esta funcionalidad se activa por flujo de trabajo, no es una configuración del sistema que vaya a aplicarse automáticamente sobre todos los flujos de trabajo.

Los pasos a seguir para activarla son bastante sencillos:

1. Dirigirse al módulo de procesos.

2. Seleccionar el flujo de trabajo al cual se desea activar esta propiedad.

3. Desactivar el flujo de trabajo.

4. Ingresar al flujo de trabajo y seleccionar la pestaña Administración.

5. Ubicarse en la sección “Retención de la tarea del flujo de trabajo.

6. Hacer clic en el check box “Eliminar automáticamente las tareas de flujo de trabajo completadas”

image

7. Activar flujo de trabajo.

Con esto conseguimos que una vez finalizada la ejecución de un flujo de trabajo el sistema borre automáticamente todo rastro de él.

Como conclusión recomiendo analizar siempre la factibilidad de aplicar esta propiedad en vuestras implementaciones, ya que si bien es cierto ayuda y alivia un tema que aqueja al usuario final principalmente (performance del aplicativo) por otro lado se pierde el rastro de las actividades disparadas de un flujo de trabajo sobre un determinado registro el cual no puede gustar mucho a los encargados de dar soporte y administrar la solución.

Espero haberlos entretenido.

Saludos,

Jimmy Larrauri

Sígueme en twitter: @jimlarrauri

No hay comentarios:

Publicar un comentario