Tutorial: Crear y depurar una solución de flujo de trabajo de SharePoint
Actualización: noviembre 2007
Se aplica a |
---|
La información de este tema sólo se aplica a los proyectos y versiones especificados de Visual Studio Tools para Office de Microsoft Office. Tipo de proyecto
Versión de Microsoft Office
Para obtener más información, vea Características disponibles por aplicación y tipo de proyecto. |
En este tutorial se muestra cómo crear una plantilla de flujo de trabajo secuencial básica. El flujo de trabajo comprueba una propiedad de una biblioteca de documentos para determinar si se ha revisado un documento. Si se ha revisado el documento, el flujo de trabajo finaliza.
En este tutorial se muestran las siguientes tareas:
Crear un proyecto de flujo de trabajo secuencial de SharePoint 2007.
Crear una programación del flujo de trabajo.
Controlar eventos de actividad.
Nota: |
---|
Los cuadros de diálogo y comandos de menú que se ven pueden diferir de los descritos en la Ayuda, en función de los valores de configuración o de edición activos. Para cambiar la configuración, selecciones Importar y exportar configuraciones en el menú Herramientas. Para obtener más información, vea Valores de configuración de Visual Studio. |
Para obtener más información sobre cómo crear plantillas de flujo de trabajo de SharePoint con Visual Studio Tools para Office, vea Soluciones de flujo de trabajo de SharePoint.
Requisitos previos
Necesita los componentes siguientes para completar este tutorial:
Visual Studio Tools para Office (componente opcional de Visual Studio 2008 Professional y Visual Studio Team System).
Microsoft SharePoint Server 2007.
Un sitio web de SharePoint Server que tiene el título Centro de documentación y la dirección URL denominada https://localhost/Docs. Si instaló Microsoft Office SharePoint Server 2007 en un equipo único como una instalación independiente, este sitio web se creará automáticamente cuando complete el Asistente para configuración de Productos y Tecnologías de SharePoint.
Microsoft Office Word 2007 o Microsoft Office Word 2003.
Visual Studio Tools para Office se instala de forma predeterminada con las versiones mostradas de Visual Studio. Para comprobar si está instalado, consulte Instalar Visual Studio Tools para Office.
Agregar propiedades a la biblioteca de documentos de SharePoint
Para realizar el seguimiento del estado de la revisión de documentos en la biblioteca Documentos, los participantes del flujo de trabajo establecen las propiedades Document Status, Assignee y Review Comments del documento. Defina estas propiedades en la biblioteca de documentos.
Para agregar propiedades a la biblioteca de documentos de SharePoint
Abra el sitio web de SharePoint Server 2007 predeterminado en Internet Explorer.
Nota: De forma predeterminada, el sitio de SharePoint está en https://localhost. Si asigna https://localhost a un sitio web que no es de SharePoint, no podrá probar la plantilla de flujo de trabajo con los pasos de este tutorial.
Haga clic en la ficha Centro de documentación.
En el panel de navegación, haga clic en Documentos.
En la página Documentos, haga clic en Configuración y, a continuación, haga clic en Configuración de la biblioteca de documentos.
En la página Personalizar documentos, en Columnas, haga clic en Crear columna.
Asigne a la columna el nombre Document Status, seleccione Elección (menú para elegir) y especifique las siguientes tres opciones y, a continuación, haga clic en Aceptar:
Review Needed
Review Complete
Changes Requested
Cree dos columnas más y asígneles los nombres Assignee y Review Comments. Dé formato a la columna Assignee como una línea de texto única y a la columna Review Comments como varias líneas de texto.
Permitir que los documentos se editen sin requerir la desprotección
Es más fácil probar la plantilla de flujo de trabajo si puede editar los documentos sin tener que desprotegerlos.
Para permitir que los documentos se editen sin desprotegerlos
En la página Personalizar documentos, en Configuración general, haga clic en Configuración de versiones.
En ¿Desea solicitar que los documentos estén desprotegidos para poder modificarlos?, seleccione No y, a continuación, haga clic en Aceptar.
Cierre Internet Explorer.
Crear un proyecto de flujo de trabajo secuencial de SharePoint
Un flujo de trabajo secuencial es una sucesión de pasos que se ejecutan en orden hasta que finaliza la última actividad.
Para crear un proyecto de flujo de trabajo secuencial de SharePoint
Inicie Visual Studio.
Abra el cuadro de diálogo Nuevo proyecto, expanda el nodo Office bajo el lenguaje que desea utilizar y, a continuación, seleccione el nodo 2007.
En el panel Plantillas, seleccione Flujo de trabajo secuencial de SharePoint 2007.
En el cuadro Nombre, escriba MySharePointWorkflow. Si el IDE está establecido para utilizar la configuración de desarrollo de Visual C# o la configuración de desarrollo general, escriba una ubicación y el nombre de la solución.
Haga clic en Aceptar.
Aparece el asistente Nuevo flujo de trabajo de Office SharePoint.
En la página Especifique el nombre del flujo de trabajo y el sitio para la depuración, haga clic en Siguiente para aceptar el nombre del flujo de trabajo y el sitio predeterminados.
En la página Seleccione las listas que desea usar para la depuración, haga clic en Siguiente para aceptar la biblioteca de documentos, lista de tareas y lista de historial predeterminados y para asociar automáticamente la plantilla de flujo de trabajo a la biblioteca de documentos.
En la página Puede especificar las condiciones de inicio del flujo de trabajo, haga clic en Finalizar para aceptar las selecciones predeterminadas.
Crear una programación de flujo de trabajo
Las plantillas de flujo de trabajo contienen una o varias programaciones de flujo de trabajo, que contienen actividades que representan las acciones que se van a realizar. Utilice el diseñador de flujos de trabajo para organizar las actividades en una programación. Para supervisar el estado de revisión de un documento de la lista Documentos, agregue dos actividades: HandleExternalEventActivity y Microsoft.SharePoint.WorkflowActions.OnWorkflowItemChanged.
Para crear una programación de flujo de trabajo
En el Explorador de soluciones, haga doble clic en Workflow1.cs o Workflow1.vb para abrir la programación de flujo de trabajo en el diseñador.
En el diseñador, haga clic en la actividad OnWorkflowActivated1 para seleccionarla.
En la ventana Propiedades , escriba onWorkflowActivated a continuación de la propiedad Invoked y, después, presione Entrar.
El Editor de código se abre y un método de control de eventos denominado onWorkflowActivated se agrega al archivo de código de Workflow1.
Vuelva a abrir la programación del flujo de trabajo en el diseñador.
En el menú Ver, haga clic en Cuadro de herramientas.
Desde la ficha Windows Workflow v3.0 del Cuadro de herramientas, arrastre una actividad While bajo la actividad onWorkflowActivated1.
Haga clic en la actividad WhileActivity1 para seleccionarla.
En la ventana Propiedades , establezca Condition en Code Condition.
Expanda la propiedad Condition y escriba isWorkflowPending a continuación de la propiedad Condition secundaria; después, presione Entrar.
El Editor de código se abre y un método denominado isWorkflowPending se agrega al archivo de código de Workflow1.
Vuelva a abrir la programación del flujo de trabajo en el diseñador.
Desde la ficha Flujo de trabajo de SharePoint del Cuadro de herramientas, arrastre una actividad OnWorkflowItemChanged dentro de la actividad whileActivity1.
Haga clic en la actividad onWorkflowItemChanged1 para seleccionarla.
En la ventana Propiedades, establezca las propiedades tal y como se indica en la tabla siguiente.
Propiedad
Valor
CorrelationToken
workflowToken
Invoked
onWorkflowItemChanged
Controlar eventos de actividad
El último paso consiste en comprobar el estado del documento en cada actividad. Si se ha revisado el documento, el flujo de trabajo finaliza.
Para controlar eventos de actividad
En el Explorador de soluciones, haga clic con el botón secundario en el archivo Workflow1.cs o Workflow1.vb y, a continuación, haga clic en Ver código.
Agregue el siguiente campo al comienzo de la clase Workflow1. Utilizará este campo en una actividad para determinar si el flujo de trabajo ha finalizado.
Dim workflowPending As Boolean = True
Boolean workflowPending = true;
Agregue el método siguiente a la clase Workflow1. Este método comprueba el valor de la propiedad Document Status de la lista Documentos para determinar si el documento se ha revisado. Si la propiedad Document Status se establece en Review Complete, el método checkStatus establece el campo workflowPending en false para indicar que el flujo de trabajo está listo para finalizar.
Private Sub checkStatus() If CStr(workflowProperties.Item("Document Status")) = "Review Complete" Then workflowPending = False End If End Sub
private void checkStatus() { if ((string)workflowProperties.Item["Document Status"] == "Review Complete") workflowPending = false; }
Agregue el código siguiente a los métodos onWorkflowActivated y onWorkflowItemChanged para llamar al método checkStatus. Cuando el flujo de trabajo se inicia, el método onWorkflowActivated llama al método checkStatus para determinar si ya se ha revisado el documento. Si no se ha revisado, el flujo de trabajo continúa. Cuando se guarda el documento, el método onWorkflowItemChanged llama de nuevo al método checkStatus para determinar si se ha revisado el documento. Mientras el campo workflowPending esté establecido en true, el flujo de trabajo continuará ejecutándose.
Private Sub onWorkflowActivated(ByVal sender As System.Object, ByVal e As System.Workflow.Activities.ExternalDataEventArgs) checkStatus() End Sub Private Sub onWorkflowItemChanged(ByVal sender As System.Object, ByVal e As System.Workflow.Activities.ExternalDataEventArgs) checkStatus() End Sub
private void onWorkflowActivated(object sender, ExternalDataEventArgs e) { checkStatus(); } private void onWorkflowItemChanged(object sender, ExternalDataEventArgs e) { checkStatus(); }
Agregue el código siguiente al método isWorkflowPending para comprobar el estado de la propiedad workflowPending. Cada vez que se guarda el documento, la actividad whileActivity1 llama al método isWorkflowPending. Este método examina la propiedad Result del objeto ConditionalEventArgs para determinar si la actividad WhileActivity1 debería continuar o finalizar. Si la propiedad se establece en true, la actividad continúa. De lo contrario, la actividad finaliza y el flujo de trabajo también finaliza.
Private Sub isWorkflowPending(ByVal sender As System.Object, ByVal e As System.Workflow.Activities.ConditionalEventArgs) e.Result = workflowPending End Sub
private void isWorkflowPending(object sender, ConditionalEventArgs e) { e.Result = workflowPending; }
Probar la plantilla de flujo de trabajo de SharePoint
Al iniciar el depurador, Visual Studio Tools para Office implementa la plantilla de flujo de trabajo en SharePoint Server 2007 y asocia la plantilla de flujo de trabajo con la lista Documentos. Para probar el flujo de trabajo, inicie una instancia de la plantilla de flujo de trabajo desde un documento de la lista Documentos.
Para probar la plantilla de flujo de trabajo de SharePoint
En el Explorador de soluciones, haga clic con el botón secundario en el archivo Workflow1.cs o Workflow1.vb y, a continuación, haga clic en Ver código.
Establezca un punto de interrupción a continuación del método onWorkflowActivated.
Presione F5.
Se abre la página Documentos del sitio web de SharePoint predeterminado.
En la página Documentos, haga clic en Nuevo para crear un nuevo documento.
Guarde el documento en la ubicación predeterminada.
De esta forma agrega el documento a la lista Documentos e inicia el flujo de trabajo.
En Visual Studio, compruebe que el depurador se detiene en el punto de interrupción a continuación del método onWorkflowActivated.
Presione F5 para continuar la ejecución.
Cierre el documento.
Vuelva a la página Documentos del sitio web de SharePoint predeterminado.
En la página Documentos , compruebe que el valor debajo la columna MySharePointWorkflow está establecido en En curso. Esto indica que el flujo de trabajo está en curso y que el documento está esperando la revisión.
En la página Documentos, señale al documento, haga clic en la flecha abajo y, a continuación, haga clic en Editar propiedades.
Establezca Document Status en Review Complete y, a continuación, haga clic en Aceptar.
Vuelva a la página Documentos del sitio web de SharePoint predeterminado.
En la página Documentos , compruebe que el valor debajo la columna MySharePointWorkflow está establecido en Completado. Esto indica que el flujo de trabajo ha finalizado y que el documento se ha revisado.
Pasos siguientes
Puede aprender más acerca de la creación de plantillas de flujo de trabajo en estos temas:
Para obtener más información sobre las actividades de flujo de trabajo de SharePoint, vea Workflow Activities for Windows SharePoint Services Overview.
Para obtener más información sobre las actividades de Windows Workflow Foundation, vea System.Workflow.Activities Namespace.
Vea también
Tareas
Cómo: Incluir archivos de Ayuda cuando se depura una solución de SharePoint
Ejemplo de flujo de trabajo secuencial de SharePoint
Conceptos
Soluciones de flujo de trabajo de SharePoint
Depurar soluciones de flujo de trabajo de SharePoint