SharePoint 2010: Flujos de trabajo disponibles por defecto en la plataforma!

Como sabéis, SharePoint dispone de una implementación propia de la infraestructura de flujos de trabajo de .NET Framework (o WF – Windows Workflow Foundation) que se traduce en que los servicios propios de WF disponen de una implementación específica bajo SharePoint…estoy pensando en los servicios de persistencia, tracking, etc. Por otro lado, a nivel de desarrollo, además de los distintos entornos de creación (Visio 2010, SharePoint Designer 2010 y Visual Studio 2010) nos encontraremos con acciones y condiciones (caso de SPD 2010) y de actividades (caso de Visual Studio 2010) específicas para flujos de trabajo de SharePoint. Finalmente, y de ahí el motivo de este post, tendremos disponibles en la plataforma una serie de flujos de trabajo por defecto:

  • Recopilar comentarios (Collect Feedback), que permite dirigir un documento o un elemento de lista a un grupo de personas para recoger feedback del mismo. Los revisores pueden proporcionar feedback, que es enviado a la persona que inició el flujo.
  • Aprobación (Approval), que permite enviar un documento o elemento de lista a un grupo de personas para su aprobación. Por defecto, el flujo de trabajo de aprobación se asocia a tipos de contenido de document. Este flujo sigue un modelo de aprobación en etapas determinadas por la configuración de la cadena de aprobadores.
  • Aprobación de disposición (Disposition Approval), que permite administrar la retención y expiración de documentos a partir de permitir a los participantes que decidan si se van a mantener o eliminar documentos que han caducado. Este flujo soporta gestión de registros y está pensado para su uso en sitio de tipos Records Center.
  • Recopilar firmas (Collect Signatures) que permite enviar un documento creado con la suite de Office a un grupo de personas con el fin de recoger sus firmas digitales. Los participantes deben completar la tarea de firmado añadiendo la firma digital al documento.
  • Tres estados (Three-State), diseñado para realizar el seguimiento del estatus de un elemento de lista a trávés de tres fases. Este flujo está pensado para administrar procesos de negocio en los que se necesite seguir un alto volumen de elementos como pueden ser incidencias en un departamento de atención al cliente, leads, tareas de proyecto, etc.
  • Administración de traducciones (Translation Management), para administrar la traducción manual de documentos creando copias de los mismos y asignando tareas a traductores. Este flujo únicamente está disponible para bibiliotecas de tipo Administración de traducciones.
  • Publicación (Publishing), disponible únicamente en sitios de publicación para facilitar el proceso de aprobación de contenidos de publicación.

Si pensamos en las diferentes versiones de SharePoint, tendremos que:

  • En SharePoint Foundation 2010 sólo tenemos el workflow de Tres estados.
  • En SharePoint Server 2010, tenemos disponibles todos los workflows.

Además de estos flujos de trabajo, y por compatibilidad con SharePoint 2007 (pensando en migraciones) tendremos otros flujos de trabajo que se habilitan con la correspondiente característica. Para visualizar estos flujos de trabajo, disponemos de varias posibilidades:

  • A través de las opciones de configuración de flujo de trabajo de una lista podemos pulsar sobre la opción “Agregar un flujo de trabajo” de forma que accederemos a la página que nos permite añadir uno de los flujos disponibles.
  • Como vemos, inicialmente se muestran dos flujos de trabajo (Tres estados y Aprobación de disposición) debido a que no se ha activado la característica “Flujos de trabajo” disponible a nivel de colección de sitios.
  • Si activamos dicha característica y refrescamos la página anterior, veremos que ya aparecen el resto de flujos de trabajo que comentados.
image image image
  image  
  • En SharePoint Designer 2010 y a través de la sección flujos de trabajo. Como vemos, no se muestran todos los flujos comentados debido a que SPD 2010 sólo muestra los flujos de trabajo de naturaleza declarativa. Por otro lado, fijaros como hay una versión de cada flujo por idioma instalado.
  • Si pulsamos por ejemplo sobre uno de los flujos, accederemos a la página de configuración del mismo y desde esta podremos editar el workflow a través del enlace correspondiente.
  • A continuación se muestra el flujo de trabajo en el diseñador. Aparentemente este flujo parece muy sencillo, aunque nos tenemos que dar cuenta que estamos visualizando un proceso de aprobación, es decir, estamos ante un workflow que dentro tiene definido otro workflow al que podremos acceder con el correspondiente diseñador.
image image image
  • Si pulsamos sobre el nombre del proceso Aprobación, accedemos al diseñador de tareas (el mini-workflow).
  • Y a continuación podremos modificar el proceso de aprobación total o parcialmente y acceder al “verdadero” workflow en el diseñador.
image image
  • A través del modelo de objetos en base, por ejemplo, al siguiente listado:
   1: using System;

   2: using System.Collections.Generic;

   3: using System.Linq;

   4: using System.Text;

   5:  

   6: //Espacios de nombres necesarios

   7: using Microsoft.SharePoint;

   8: using Microsoft.SharePoint.Workflow;

   9:  

  10: namespace SPSiteWorkflowsExplorer

  11: {

  12:     class Program

  13:     {

  14:         static void Main(string[] args)

  15:         {

  16:             try

  17:             {

  18:                 using (SPSite spsSitio =

  19:                     new SPSite(

  20:                         "http://demo2010a:100/sites/PortalIntranet/"))

  21:                 {

  22:                     using (SPWeb spwSitio =

  23:                     spsSitio.OpenWeb())

  24:                     {

  25:                         spsSitio.WorkflowManager.CountWorkflows(spwSitio);

  26:                         SPWorkflowTemplateCollection spwtcWorkflowTemplates =                         

  27:                             spwSitio.WorkflowTemplates;

  28:                         Console.WriteLine("Nº de plantillas de workflow disponibles: {0}", 

  29:                             spwtcWorkflowTemplates.Count.ToString());

  30:                         Console.WriteLine("---------------------------------------------------------------------");

  31:                         foreach (SPWorkflowTemplate spwWorkflowTemplate in spwtcWorkflowTemplates)

  32:                         {

  33:                             Console.WriteLine("- Nombre: {0} - Descripción: {1}", 

  34:                                 spwWorkflowTemplate.Name, spwWorkflowTemplate.Description);

  35:                             Console.WriteLine("---------------------------------------------------------------------");

  36:                         }

  37:  

  38:                     }

  39:                 }

  40:             }

  41:             catch (Exception ex)

  42:             {

  43:                 Console.WriteLine(

  44:                     "Error en la visualizacón del Sitio: {0}",

  45:                     ex.Message);

  46:             }

  47:             Console.ReadLine();

  48:         }

  49:     }

  50: }

  • La salida por pantalla correspondiente nos muestra las plantillas de workflow disponibles:

image

Y hasta aquí llega este post sobre flujos de trabajo disponibles por defecto en la plataforma.

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.

Un comentario en “SharePoint 2010: Flujos de trabajo disponibles por defecto en la plataforma!”

Deja un comentario

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