Mea Culpa — SharePoint Designer * puede * crear flujos de trabajo de equipo de Estado

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>

Suscribirse a mi blog.

Etiquetas de Technorati:

4 pensamientos sobre "Mea Culpa — SharePoint Designer * puede * crear flujos de trabajo de equipo de Estado

  1. Jaustral escribió:
    Hola Pablo,
    ¿Cuántos Estados se enfrentan con? Yo sólo llego a tener dos diferentes flujos de trabajo activadas cuando voy a la página de configuración de flujo de trabajo?
    Mejor,
    Juan.
    Respuesta
  2. Sanjeev Rajput
    Realmente le gustaría leer los ejemplos completos. Esperemos que uno de ustedes puede ayudar a aclarar algunas pesadillas he sido con mi proceso similar. Estoy en el punto donde estoy listo para empezar de nuevo.
    Respuesta
  3. Paul Galvin
    Es un muy interesante pone enfoque punto de exclamación en el punto más grande que el SPD puede crear flujos de trabajo de la máquina estatal.
    No sé si hay diferencias sustanciales rendimiento entre lo que describen y lo que describen. En mi caso esta semana, rendimiento no es un problema porque este flujo de trabajo determinado es un asunto de larga duración (16 o más semanas de principio a fin) y nunca hay más que algunos docena activos en cualquier momento. Si hubiera alguna docena puesta en marcha y sale cada hora … sería una historia diferente. Creo que rendimiento y flujo de trabajo en general es un tema muy nebuloso.
    No sé si correr tu propio blog o no. Si lo haces, deben considerar escribir sobre su enfoque en más detalle. Si no se, Estaría más que feliz de llamar un "blogger invitado" y subir tu post a mi blog.
    Gracias por el comentario. Es uno de los mejores que he podido sacar en mi blog!
    –Paul G
    Respuesta
  4. Mike Atkins
    Puse la máquina de estado mediante una lista separada para mantener el estado durante las transiciones de Estado. El principal flujo de trabajo crea un artículo aquí y establece el estado inicial. He utilizado una sola, independiente, flujo de trabajo a todos los Estados, con un "si-entonces-ELSEIF" estructura (en el "Paso 1") sobre los posibles Estados.
    Para cada Estado, todo lo que necesitaba hacer era obtener una respuesta de un usuario.
    Mi ejemplo fue una aprobación secuencial de varios niveles, donde cada paso (representados por un Estado) podría tener varios posibles sucesores. Esto significa que cada usuario debía (potencialmente) diferentes opciones disponibles en un menú de opciones. Mi "paso dos" También fue un "IF-THEN-ELSE" estructura que considera todas las respuestas posibles (de todas las etapas), y entonces decidido sobre cuál debe ser el siguiente estado. «Paso 3" a continuación, establezca dicho Estado, y el flujo de trabajo terminado.
    Este método tiene el (obvio) ventaja de que ocurra dentro de un único (secundaria) flujo de trabajo. Sin embargo, el alcance de lo que podría lograrse en este flujo de trabajo es más limitado que uno tendría con flujos de trabajo para cada Estado. Me preguntaba, Sin embargo, ¿Qué tipo de rendimiento éxito se lleva a cabo si todos los flujos de trabajo de cada Estado puesta en marcha (Aunque terminando inmediatamente después).
    También, Utilizar una lista secundaria (con su propio flujo de trabajo) para representar la transición entre Estados, este proceso podría ser sólo parte de un flujo de trabajo más grande. Cuando el flujo de trabajo principal comienza el proceso de la máquina de estado, entra en un Estado de espera, y cuando el "bucle" tiene termintaed. Yo también estaba contemplando la posibilidad de que mi flujo de trabajo principal bien puede cambiar datos en el elemento de la lista original, y quería evitar innecesarias "disparos" del flujo de trabajo de equipo de Estado.
    Respuesta

Contesta

su dirección de correo electrónico no será publicada. Los campos necesarios están marcados *