Recientemente he aprendido que es posible y aún bastante fácil crear un workflow de máquina de estado usando SharePoint Designer. Necesidad es la madre de la invención y todo lo que bueno y tenía una necesidad esta semana para una invención que. Coincidentemente, Me encontré con este post del Foro MSDN así como. Mi experiencia personal esta semana y que "la confirmación independiente" da fuerza a mi convicción. Tengo pensado escribir sobre esto en mayor longitud con un ejemplo completo soplado, pero aquí está la esencia de la misma:
- El enfoque aprovecha el hecho de que un flujo de trabajo puede cambiar un elemento de lista, desencadenando así un nuevo flujo de trabajo. Normalmente he considerado a ser una molestia e incluso blogged acerca del uso de semáforos para manejarlo.
- SharePoint permite varios flujos de trabajo independientes activa contra un elemento de la lista específica.
Para configurarlo:
- Diseño de equipo de Estado (es decir, los Estados y cómo los Estados de transición de uno a otro).
- Implementar cada Estado como flujo de trabajo diferente.
- Configurar cada uno de estos flujos de trabajo de estado ejecutar en respuesta a cualquier cambio en el elemento de lista.
Cada flujo de trabajo de Estado sigue este patrón rugosa:
- En la inicialización, determinar si realmente debería ejecutar mediante la inspección de la información de estado en el "tema actual". Interrupción si no.
- Hacer el trabajo.
- Actualizar el elemento actual"" con nueva información de estado. Esto desencadena una actualización para el elemento actual y dispara a todos los flujos de trabajo del estado.
Aparte de los beneficios evidentes que uno puede crear un flujo de trabajo de la máquina estatal declarativa, todo lo que es buenísimo para crear KPI e interesante información de estado vistas.
Tiene un inconveniente bastante sustancial — standard workflow history tracking is even more useless than normal 🙂 That’s easily remedied, Sin embargo. Guarde toda su información del tipo de auditoría en una lista personalizada. Es probablemente una buena idea incluso para flujo de trabajo secuencial de vainilla, but that’s for another blog post 🙂
Esto llamo un "mea culpa" porque tengo, Lamentablemente, dicho más de una vez en los foros y en otros lugares que uno debe utilizar visual studio para crear un workflow de máquina de estado. Simplemente no es verdad.
</final>