Tutorial: Creación y depuración de una solución de flujo de trabajo de SharePoint
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 compartida 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 tareas siguientes:
Creación de un proyecto de flujo de trabajo secuencial de definición de lista de SharePoint en Visual Studio.
Creación de actividades de flujo de trabajo.
Control de eventos de actividad de flujo de trabajo.
Nota
Aunque en este tutorial se usa un proyecto de flujo de trabajo secuencial, el proceso es idéntico para un proyecto de flujo de trabajo de máquina de estado.
Además, es posible que el equipo muestre nombres o ubicaciones diferentes para algunos de los elementos de la interfaz de usuario de Visual Studio en las instrucciones siguientes. La edición de Visual Studio que se tenga y la configuración que se utilice determinan estos elementos. Para más información, vea Personalizar el IDE de Visual Studio.
Requisitos previos
Necesitará los componentes siguientes para completar este tutorial:
Ediciones compatibles de Microsoft Windows y SharePoint.
Visual Studio.
Agregar propiedades a la biblioteca de documentos compartidos de SharePoint
Para realizar un seguimiento del estado de revisión de los documentos de la biblioteca de documentos compartidos, crearemos tres nuevas propiedades para documentos compartidos en nuestro sitio de SharePoint: Status
, Assignee
y Review Comments
. Definimos estas propiedades en la biblioteca de Documentos compartidos.
Para agregar propiedades a la biblioteca de documentos compartidos de SharePoint
Abra un sitio de SharePoint, como http://<nombre del sistema>/SitePages/Home.aspx, en un explorador web.
En la barra Inicio rápido, elija SharedDocuments.
Elija Biblioteca en la cinta Herramientas de biblioteca y, a continuación, elija el botón Crear columna en la cinta de opciones para crear una columna.
Asigne a la columna el nombre Estado del documento, establezca su tipo en Opción (menú entre el que elegir), especifique las tres opciones siguientes y, a continuación, elija el botón Aceptar:
Se necesita revisión
Revisión completa
Cambios solicitados
Cree dos columnas más y asígneles el nombre Persona asignada y Revisar comentarios. Establezca el tipo de columna Persona asignada como una sola línea de texto y el tipo de columna Revisar comentarios como varias líneas de texto.
Permitir la edición de documentos sin necesidad de extraerlos del repositorio
Es más fácil probar la plantilla de flujo de trabajo cuando se pueden editar los documentos sin tener que revisarlos. En el siguiente procedimiento, configurará el sitio de SharePoint para habilitarlo.
Permitir la edición de documentos sin comprobarlos
En la barra Inicio rápido, elija el vínculo Documentos compartidos.
En la cinta Herramientas de biblioteca, elija la pestaña Biblioteca y, a continuación, seleccione el botón Configuración de la biblioteca para mostrar la página Configuración de la biblioteca de documentos.
En la sección Configuración general, elija el vínculo Configuración de control de versiones para mostrar la página Configuración de control de versiones.
Compruebe que la configuración ajuste para Requerir que los documentos se restauren antes de poder editarlos es No. Si no es así, cámbielo a No y, a continuación, elija el botón Aceptar.
Cierre el explorador.
Creación de un proyecto de flujo de trabajo secuencial de SharePoint
Un flujo de trabajo secuencial es un conjunto de pasos que se ejecuta en orden hasta que finaliza la última actividad. En este procedimiento, creamos un flujo de trabajo secuencial que se aplicará a nuestra lista de documentos compartidos. El asistente para flujos de trabajo le permite asociar el flujo de trabajo a la definición del sitio o a la definición de lista y le permite determinar cuándo se iniciará el flujo de trabajo.
Instrucciones para la creación de un proyecto de flujo de trabajo secuencial de SharePoint
Inicie Visual Studio.
En la barra de menús, elija Archivo>Nuevo>Proyecto para mostrar el cuadro de diálogo Nuevo proyecto.
Expanda el nodo SharePoint en Visual C# o Visual Basic y, a continuación, seleccione el nodo 2010.
En el panel Plantillas, seleccione la plantilla Proyecto de SharePoint 2010.
En el cuadro Nombre, escriba MySharePointWorkflow y, a continuación, elija el botón Aceptar.
Aparece el Asistente para la personalización de SharePoint.
En la página Especifique el sitio y el nivel de seguridad de la depuración, seleccione el botón de opción Implementar como solución de granja de servidores y, después, el botón Finalizar para aceptar el nivel de confianza y el sitio predeterminado.
Este paso establece el nivel de confianza de la solución como solución de granja de servidores, la única opción disponible para los proyectos de flujo de trabajo. Para más información, vea Consideraciones sobre la solución de espacio aislado.
En Explorador de soluciones, elija el nodo del proyecto y, después, en la barra de menús, elija Proyecto>Agregar nuevo elemento.
En Visual C# o Visual Basic, expanda el nodo SharePoint y, después, seleccione el nodo 2010.
En el panel Plantillas, seleccione la plantilla Flujo de trabajo secuencial (solución de granja de servidores únicamente) y, después, el botón Agregar.
Aparece el Asistente para la personalización de SharePoint.
En la página Especifique el nombre del flujo de trabajo de depuración, acepte el nombre predeterminado (MySharePointWorkflow - Workflow1). Mantenga el valor predeterminado del tipo de plantilla de flujo de trabajo, Lista de flujo de trabajo y, a continuación, elija el botón Siguiente.
En la página ¿Desea que Visual Studio asocie automáticamente el flujo de trabajo en una sesión de depuración?, elija el botón Siguiente para aceptar toda la configuración predeterminada.
Este paso asocia automáticamente el flujo de trabajo a la biblioteca de documentos compartidos.
En la página Especificar las condiciones para el inicio del flujo de trabajo, deje las opciones predeterminadas seleccionadas en la sección ¿Cómo desea que se inicie el flujo de trabajo? y elija el botón Finalizar.
Esta página le permite especificar cuándo se inicia el flujo de trabajo. De forma predeterminada, el flujo de trabajo se inicia cuando un usuario lo inicia manualmente en SharePoint o cuando se crea un elemento al que está asociado el flujo de trabajo.
Creación de actividades de flujo de trabajo
Los flujos de trabajo contienen una o varias actividades que representan las acciones que se van a realizar. Use el diseñador de flujo de trabajo para organizar las actividades de un flujo de trabajo. En este procedimiento, agregaremos dos actividades al flujo de trabajo: HandleExternalEventActivity y OnWorkFlowItemChanged. Estas actividades supervisan el estado de revisión de los documentos en la lista Documentos compartidos
Para crear actividades de flujo de trabajo
El flujo de trabajo debe mostrarse en el diseñador de flujo de trabajo. Si no es así, abra Workflow1.cs o Workflow1.vb en Explorador de soluciones.
En el diseñador, elija la actividad OnWorkflowActivated1.
En la ventana Propiedades, escriba onWorkflowActivated junto a la propiedad Invoked y, a continuación, elija la tecla Entrar.
Se abre el Editor de código y se agrega un método de controlador de eventos denominado onWorkflowActivated al archivo de código Workflow1.
Vuelva al diseñador de flujos de trabajo, abra el cuadro de herramientas y expanda el nodo Windows Workflow v3.0.
En el nodo Windows Workflow v3.0 del Cuadro de herramientas, siga una de estas series de procedimientos:
Abra el menú contextual de la actividad While y, a continuación, elija Copiar. En el diseñador de flujo de trabajo, abra el menú contextual de la línea debajo de la actividad onWorkflowActivated1 y, a continuación, elija Pegar.
Arrastre la actividad While del Cuadro de herramientas al diseñador de flujo de trabajo y conecte la actividad a la línea bajo la actividad onWorkflowActivated1.
Elija la actividad WhileActivity1.
En la ventana Propiedades, establezca Condition en Condición de código.
Expanda la propiedad Condition, escriba isWorkflowPending junto a la propiedad Condition secundaria y, a continuación, elija la tecla Entrar.
Se abre el Editor de código y se agrega un método denominado isWorkflowPending al archivo de código Workflow1.
Vuelva al diseñador de flujos de trabajo, abra el cuadro de herramientas y, a continuación, expanda el nodo Flujo de trabajo de SharePoint.
En el nodo Flujo de trabajo de SharePoint del Cuadro de herramientas, realice uno de los siguientes conjuntos de pasos:
Abra el menú contextual de la actividad OnWorkflowItemChanged y, a continuación, elija Copiar. En el diseñador de flujo de trabajo, abra el menú contextual de la línea dentro de la actividad whileActivity1 y, a continuación, elija Pegar.
Arrastre la actividad OnWorkflowItemChanged del Cuadro de herramientas al diseñador de flujos de trabajo, y conecte la actividad a la línea dentro de la actividad whileActivity1.
Elija la actividad onWorkflowItemChanged1.
En la ventana Propiedades, establezca las propiedades como se muestra en la tabla siguiente.
Propiedad Value CorrelationToken workflowToken Invocado onWorkflowItemChanged
Controlar eventos de actividad
Por último, compruebe el estado del documento de cada actividad. Si se ha revisado el documento, se finalizará el flujo de trabajo.
Para controlar eventos de actividad
En Workflow1.cs o Workflow1.vb, agregue el siguiente campo a la parte superior de la clase
Workflow1
. Este campo se usa en una actividad para determinar si el flujo de trabajo ha finalizado.Agregue el siguiente método a la clase
Workflow1
. Este método comprueba el valor de la propiedadDocument Status
de la lista Documentos para determinar si se ha revisado el documento. Si la propiedadDocument Status
está establecida enReview Complete
, el métodocheckStatus
establece el campoworkflowPending
en false para indicar que el flujo de trabajo está listo para finalizar.Agregue el código siguiente a los métodos
onWorkflowActivated
yonWorkflowItemChanged
para llamar al métodocheckStatus
. Cuando se inicia el flujo de trabajo, el métodoonWorkflowActivated
llama al métodocheckStatus
para determinar si el documento ya se ha revisado. Si no se ha revisado, el flujo de trabajo continúa. Cuando se guarda el documento, el métodoonWorkflowItemChanged
llama de nuevo al métodocheckStatus
para determinar si se ha revisado el documento. Aunque el campoworkflowPending
está establecido en true, el flujo de trabajo continúa ejecutándose.Agregue el código siguiente al método
isWorkflowPending
para comprobar el estado de la propiedadworkflowPending
. Cada vez que se guarda el documento, la actividad whileActivity1 llama al métodoisWorkflowPending
. Este método examina la propiedad Result del objeto ConditionalEventArgs para determinar si la actividad WhileActivity1 debe 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 finaliza.Guarde el proyecto.
Probar la plantilla de flujo de trabajo de SharePoint
Al iniciar el depurador, Visual Studio implementa la plantilla de flujo de trabajo en el servidor de SharePoint y asocia el flujo de trabajo a la lista Documentos compartidos. Para probar el flujo de trabajo, inicie una instancia del flujo de trabajo desde un documento de la lista Documentos compartidos.
Para probar la plantilla de flujo de trabajo de SharePoint
En Workflow1.cs o Workflow1.vb, establezca un punto de interrupción junto al método onWorkflowActivated.
Seleccione la tecla F5 para construir y ejecutar la solución.
Aparece el sitio de SharePoint.
En el panel de navegación de SharePoint, elija el vínculo Documentos compartidos.
En la página Documentos compartidos, seleccione el enlace Documentos de la pestaña Herramientas de biblioteca y, a continuación, seleccione el botón Subir documento.
En el cuadro de diálogo Cargar documento, seleccione el botón Examinar, seleccione cualquier archivo de documento, seleccione el botón Abrir y, después, el botón Aceptar.
Esto carga el documento seleccionado en la lista de Documentos compartidos e inicia el flujo de trabajo.
En Visual Studio, compruebe que el depurador se detiene en el punto de interrupción situado junto al método
onWorkflowActivated
.Seleccione la tecla F5 para continuar la ejecución.
Puede cambiar la configuración del documento aquí, pero déjelos en los valores predeterminados por ahora eligiendo el botón Guardar.
Esto le devuelve a la página Documentos compartidos del sitio web de SharePoint predeterminado.
En la página Documentos compartidos, compruebe que el valor debajo de la columna MySharePointWorkflow - Workflow1 está establecido en En curso. Esto indica que el flujo de trabajo está en curso y que el documento está esperando revisión.
En la página Documentos compartidos, elija el documento, elija la flecha que aparece y, a continuación, elija el elemento de menú Editar propiedades.
Establezca Estado del documento en Revisar completado y, a continuación, elija el botón Guardar.
Esto le devuelve a la página Documentos compartidos del sitio web de SharePoint predeterminado.
En la página Documentos compartidos, compruebe que el valor debajo de la columna Estado del documento está establecido en Revisar completado. Actualice la página Documentos compartidos y compruebe que el valor situado debajo de la columna MySharePointWorkflow - Workflow1 está establecida en Completado. Esto indica que el flujo de trabajo ha finalizado y que se ha revisado el documento.
Pasos siguientes
Puede obtener más información sobre cómo crear plantillas de flujo de trabajo en estos temas:
Para obtener más información sobre las actividades de flujo de trabajo de SharePoint, consulte Actividades de flujo de trabajo para SharePoint Foundation.
Para obtener más información sobre las actividades de Windows Workflow Foundation, consulte Espacio de nombres System.Workflow.Activities.
Contenido relacionado
- Creación de soluciones de flujo de trabajo de SharePoint
- Plantillas de proyecto y elemento de proyecto de SharePoint
- Build and debug SharePoint solutions (Compilar y depurar las soluciones de SharePoint)