SharePoint 2010: Novedades en los flujos de trabajo (II)!

Aprovechando que ayer asistí a una sesión interactiva de Jon Flanders en el Tech-Ed EMEA sobre desarrollo de flujos de trabajo en SharePoint 2010, aquí os dejo las notas que tomé…creo que no tienen desperdicio y anticipan ya lo que ganamos, lo que perdemos, limitaciones, … a la hora de crear flujos de trabajo para SharePoint 2010. Aquí val el resumen:

  • A nivel de tecnología, y por si no había quedado claro, los flujos de trabajo en SharePoint 2010 se asientan sobre Windows Workflow Foundation 3.5 (WF 3.5)…que nadie espere que las novedades de WF 4.0 aparezcan en SharePoint 2010…el desarrollo del producto viene desde hace más de 3 años y Visual Studio 2010 (VS 2010) y .NET Framewor 4.0 tienen un tiempo de desarrollo menor. Creo que las razones de la versión de WF soportada son obvias.
  • Tipos de flujos de trabajo disponibles:
    • Por un lado, en SharePoint 2010 tenemos los flujos de trabajo preparados para ser vinculados a una lista o biblioteca.
    • Por otro, tenemos los flujos de trabajo de sitio. Estos se pueden lanzar directamente desde la interfaz de usuario de SharePoint 2010: Site Actions –> Site Workflows. Aquí es destacable que al configurar el flujo de trabajo tenemos que especificar la lista de tareas y la history list que va a usar el flujo de trabajo en su ejecución.
  • A nivel de herramientas, y como ya comenté en este post, tenemos las siguientes posibilidades:
    • Modelado de flujos de trabajo con Microsoft Visio 2010.
    • Implementación de flujos de trabajo con SharePoint Designer 2010 (SPD 2010). Como novedad, podremos crear tres tipos de flujos de trabajo: los convencionales asociados a una lista o biblioteca, los re-utilizables que no se vinculan a una lista o biblioteca (se pueden vincular a un tipo de contenido) y los de sitio.
    • Los flujos de trabajo creados con Visio 2010 se pueden exportar e importar en SPD 2010. La operación contraria también es posible.
    • En el caso de los flujos de trabajo re-utilizables, se pueden guardar como .WSP y luego importarlos en VS 2010 a partir de la plantilla de proyecto que permite esto.  Respecto a esta importación:
      • Ahora mismo tenemos un bug a la hora de importar los flujos de trabajo en VS 2010 ya que no funciona con la Beta2.
      • La importación es de un único sentido: de SPD 2010 a VS 2010. A la inversa no es posible.
    • Comentaros también que tenemos la posibilidad de visualizar el estado de ejecución de un flujo de trabajo a través de la integración de Visio (Visio Services) en SharePoint 2010  (versión Enterprise). Aquí es importante tener en cuenta:
      • Visio Services sólo lo tendremos disponible en SharePoint Server 2010.
      • Los flujos de trabajo que se pueden visualizar en Visio son los creados con SPD 2010.
    • En lo que a VS 2010 se refiere, la experiencia de creación de flujos de trabajo es similar a la que ya teníamos en VS 2008. Lógicamente, se han modificado los asistentes para elegir el tipo de solución a crear: Sanboxed o Full Trust, aunque ya os adelanto que los flujos de trabajo se despliegan en modo Full Trust (como Farm Solution). Una vez finalizado el asistente, se crea una estructura de proyecto típica para artefactos de SharePoint en VS 2010:
      • Contiene un paquete para el empaquetado de la solución.
      • Contiene al menos una característica.
      • Además, con el Server Explorer vamos a poder visualizar los flujos de trabajo desplegados.
  • Novedades en depuración:
    • Como con el resto de elementos, para depurar un flujo de trabajo es suficiente con presionar F5 en VS 2010. Sin embargo, esta depuración ahora mismo tiene un tema curioso: para parar la depuración tienes que pulsar 2 veces el botón de stop de VS 2010 ya que cuando se arranca un flujo de trabajo por debajo tenemos dos instancias o copias del mismo:
      • Una con los metadatos del flujo de trabajo y otra con el ejecutable. Aquí me he quedé con la duda de si esto sólo pasa en la depuración de flujos de trabajo o también se da cuando se ejecutan normalmente. En cualquier caso, no deja de ser curioso.
  • Nuevas plantillas a nivel de proyecto de flujo de trabajo:
    • En este caso las principales novedades vienen dadas porque disponemos de dos plantillas de formularios ASP.NET para añadir a nuestro flujo de trabajo. Se incorporan dos plantillas:
      • Formulario de inicio (Initiation Form).
      • Formulario de asociación (Association Form).
    • En el caso del formulario de inicio, recoger datos de inicio del flujo de trabajo es tan sencillo como modificar el método GetInitiationData() disponible en la vista de código del formulario. En este método únicamente tendremos que especificar que datos de inicio va a recoger el flujo de trabajo.
    • Además, cuando añadimos alguno de estos tipos de formulario a nuestro proyecto de workflow, VS 2010 modifica automáticamente el archivo Elements.xml que describe el workflow para añadir las líneas correspondientes a los formularios añadidos.
    • Algo importante aquí es que estos formularios son ASP.NET. De momento no se soportan formularios Infopath de la misma forma y no tiene pinta de que se vaya a hacer.
    • Otra plantilla tipo que podemos utilizar es la de Event Receiver ya que vamos a poder capturar los siguientes eventos de flujo de trabajo (Nota: Estos eventos se pueden capturar tanto para flujos de trabajo creados con SPD 2010 como para flujos de trabajo creados con VS 2010):
      • Starting.
      • Started.
      • Postponed.
      • Completed.

A raíz de la sesión y de las preguntas planteadas, han surgido una serie de interrogantes que tienen que ser aclarados desde Microsoft. En cuanto tenga la respuesta os cuento:

  • Si los formularios Infopath no están soportados en las VS Tools para SharePoint, ¿Qué va a pasar cuando importemos un flujo de trabajo creado con SPD 2010 en el que añadamos varios formularios Infopath (sólo para SharePoint Server 2010)?.
  • ¿Cómo añado formularios Infoapth a los flujos de trabajo que cree para SharePoint Server 2010? Pues como lo hacías en SharePoint 2007.
  • En un flujo de trabajo necesitamos más formularios que el de inicio y asociación, ¿tendremos plantillas para el resto de formularios? Me da que no. Por ejemplo, los formularios de creación o edición de tarea son candidatos a que pudiéramos tener una plantilla disponible en VS 2010.
  • ¿Por qué únicamente podemos crear flujos de trabajo en modo Full Trust?

Y hasta aquí llega este post sobre algunas de las novedades a nivel de creación de flujos de trabajo en SharePoint 2010.

Publicado por

Juan Carlos González

Juan Carlos es Ingeniero de Telecomunicaciones por la Universidad de Valladolid y Diplomado en Ciencias Empresariales por la Universidad Oberta de Catalunya (UOC). Cuenta con más de 12 años de experiencia en tecnologías y plataformas de Microsoft diversas (SQL Server, Visual Studio, .NET Framework, etc.), aunque su trabajo diario gira en torno a SharePoint & Office 365. Juan Carlos es MVP de Office Servers & Services desde 2015 (anteriormente fue reconocido por Microsoft como MVP de Office 365 y MVP de SharePoint Server desde 2008 hasta 2015), coordinador del grupo de usuarios .NET de Cantabria (Nuberos.Net, www.nuberos.es), co-fundador y coordinador del Grupo de Usuarios de SharePoint de España (SUGES, www.suges.es), así como co-director de la revista gratuita en castellano sobre SharePoint CompartiMOSS (www.compartimoss.com). Hasta la fecha, ha publicado 8 libros sobre SharePoint & Office 365 y varios artículos en castellano y en inglés sobre ambas plataformas.

3 comentarios en “SharePoint 2010: Novedades en los flujos de trabajo (II)!”

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *