Procedimiento para crear e implementar flujos de trabajo declarativos en soluciones de espacio aislado

En este tema se explica cómo implementar un flujo de trabajo declarativo, a veces denominado flujo de trabajo sin código, en una solución de espacio aislado.

Última modificación: miércoles, 13 de abril de 2011

Hace referencia a: SharePoint Foundation 2010

Disponible en SharePoint Online

Un flujo de trabajo declarativo se crea en Microsoft SharePoint Designer y se guarda como uno o varios archivos XOML en lugar de código de C# o Microsoft Visual Basic compilado. A continuación, se guarda en la biblioteca Activos del sitio de un sitio web como un paquete de solución de SharePoint (archivo .wsp), que se puede descargar e instalar en cualquier colección de sitios como una solución de espacio aislado. En tiempo de ejecución, el marcado XOML se convierte en código, se compila y se ejecuta. Tenga en cuenta los siguientes puntos sobre los flujos de trabajo declarativos:

  • Solo se pueden crear flujos de trabajo secuenciales en SharePoint Designer, no flujos de trabajo de máquina de estados.

  • Solo se pueden guardar los flujos de trabajo reutilizables, no los flujos de trabajo de sitio o lista, como una solución de espacio aislado en SharePoint Designer.

  • Un flujo de trabajo declarativo creado mientras SharePoint Designer trabajaba con un sitio web de un conjunto o granja de servidores de SharePoint Server 2010 no puede implementarse en una colección de sitios de una granja de servidores de SharePoint Foundation.

  • Un flujo de trabajo publicado como un flujo de trabajo reutilizable global no puede guardarse directamente como una solución de espacio aislado en SharePoint Designer. No obstante, puede copiarlo como un flujo de trabajo no global, que sí podrá guardarse como una solución de espacio aislado. Para obtener información detallada, vea las siguientes secciones.

  • Un flujo de trabajo declarativo descargado de una biblioteca Activos del sitio puede importarse en Microsoft Visual Studio y modificarse antes de instalarlo como una solución de espacio aislado, pero hay una serie de matices con respecto al proceso. Vea las secciones siguientes para obtener información detallada.

Para crear el flujo de trabajo declarativo en SharePoint Designer

  1. En el entorno de desarrollo, asegúrese de que haya un sitio web que contenga todas las entidades cuya existencia presupone el flujo de trabajo, como listas y tipos de contenido.

  2. Navegue al sitio web en un explorador y, en el menú Acciones del sitio, seleccione Editar en SharePoint Designer. Se iniciará SharePoint Designer.

  3. En el panel Navegación, haga clic en Flujos de trabajo.

  4. En la cinta de opciones, haga clic en Flujo de trabajo reutilizable. En el cuadro de diálogo que se abrirá, asígnele un nombre y una descripción adecuados y, a continuación, haga clic en Aceptar.

  5. Cree el flujo de trabajo del mismo modo en que lo haría si solo se fuera a usar en el sitio actual. El hecho de que se empaquetará como una solución de espacio aislado que puede implementarse en otras colecciones de sitios no afecta al modo en que se crea.

  6. Se recomienda que una vez finalizado el flujo de trabajo, lo guarde y, a continuación, haga clic en Publicar (no en Publicar globalmente) en la cinta de opciones. Pruebe el flujo de trabajo en el sitio web y vuelva a editarlo si es necesario.

Para empaquetar el flujo de trabajo como una solución de SharePoint

  1. Una vez completado el flujo de trabajo, abra la vista Configuración del flujo de trabajo en SharePoint Designer. (Si se encuentra en modo de edición, haga clic en Configuración del flujo de trabajo en la cinta de opciones).

  2. En la cinta de opciones, haga clic en Guardar como plantilla. El flujo de trabajo se guardará en la biblioteca Activos del sitio del sitio web como un paquete de solución de SharePoint (archivo .wsp).

    Nota

    Si va a empaquetar un flujo de trabajo publicado globalmente en SharePoint Designer, el botón Guardar como plantilla estará deshabilitado. Para empaquetarlo, primero debe copiarlo.

    1. En el nodo Flujo de trabajo reutilizable globalmente del panel Navegación de SharePoint Designer, haga clic con el botón secundario en el flujo de trabajo y, a continuación, seleccione Copiar y modificar.

    2. En el cuadro de diálogo que se abrirá, asigne al flujo de trabajo un nombre y una descripción adecuados y, a continuación, haga clic en Aceptar.

    3. Haga clic en Guardar en la cinta de opciones. El nuevo flujo de trabajo se creará automáticamente como un flujo de trabajo no global que se puede guardar como una plantilla.

Para modificar el flujo de trabajo en Visual Studio (opcional)

  1. Descargue el paquete de solución del flujo de trabajo de la biblioteca Activos del sitio.

  2. En Visual Studio, inicie un proyecto con la plantilla Paquete de importación de la solución de SharePoint. No use la plantilla Importar flujo de trabajo reutilizable, ya que esta plantilla convierte automáticamente el flujo de trabajo declarativo en un flujo de trabajo codificado que no se puede implementar como una solución de espacio aislado.

    Nota

    En How to: Import and Package a Declarative Workflow in Visual Studio, se describe una alternativa para los pasos restantes de este procedimiento. La ventaja que supone esta alternativa es que cuando la característica del proyecto se establece en el ámbito de Sitio, su activación en la galería de características de la colección de sitios la pone a disposición de todos los sitios web de dicha colección de sitios sin necesidad de activarla por separado en cada sitio web en el que se va a usar. La desventaja del método alternativo es que el paquete de solución (archivo .wsp) resultante solo se puede instalar en colecciones de sitios de Microsoft SharePoint Server, pero no en colecciones de sitios de SharePoint Foundation. Los pasos de este procedimiento producen un paquete que se puede implementar en cualquier colección de sitios de SharePoint, pero la característica debe activarse por separado en cada sitio web en el que se va a usar.

  3. En el Asistente para la personalización de SharePoint, especifique cualquier sitio local para la depuración. No es necesario que sea el sitio con el que SharePoint Designer estaba trabajando cuando se creó el flujo de trabajo.

  4. Seleccione Implementar como solución en espacio aislado y, a continuación, haga clic en Siguiente.

  5. En la siguiente página del asistente, escriba la ruta de acceso al paquete de solución que ha descargado en el paso 1 y, a continuación, haga clic en Siguiente.

  6. En la siguiente página del asistente, deje todos los elementos seleccionados (el valor predeterminado) y, a continuación, haga clic en Finalizar. Cuando se abra el proyecto en Visual Studio, verá que no habrá ningún archivo de código C# o Visual Basic. En su lugar, el flujo de trabajo se define con un archivo .xoml. También verá que Visual Studio ha creado una característica para el proyecto.

  7. En el Explorador de soluciones, haga doble clic en el archivo *.feature para abrir el Diseñador de características y establezca el ámbito de la característica en Web.

    Nota

    El otro ámbito posible es Sitio. Sin embargo, si selecciona Sitio, la característica del flujo de trabajo solo podrá activarse en el sitio web raíz de la colección de sitios, por lo que no se podrá usar el flujo de trabajo en ningún subsitio. El ámbito Web pone la característica a disposición en la galería de características de todos los sitios web de la colección de sitios, incluido el sitio web raíz. Debe activarse por separado en cada sitio web en el que se va a usar.

  8. Agregue los elementos que desee empaquetar e implementar junto con el flujo de trabajo. (Asegúrese de incluir solo los elementos que se pueden implementar en una solución de espacio aislado). Por ejemplo, si el flujo de trabajo supone la existencia de un determinado tipo de contenido personalizado y las colecciones de sitios en las que planea implementar el flujo de trabajo no tienen ese tipo de contenido, debería considerar agregar el tipo de contenido al proyecto de Visual Studio.

  9. En el Explorador de soluciones, abra el archivo *.oxml.wfconfig.xml.

  10. Compruebe que el atributo Visibility del elemento Template tenga el valor "Public". Si no es así, cambie el valor a "Public".

    Nota

    SharePoint Designer siempre debe trabajar con algún sitio web específico, incluso si se usa para crear un flujo de trabajo reutilizable que se planea implementar en otros sitios. Si en algún momento durante el desarrollo del flujo de trabajo en SharePoint Designer hace clic en el botón Publicar (como sucedería si realizara el paso 6 recomendado del procedimiento Para crear el flujo de trabajo declarativo en SharePoint Designer anteriormente), el atributo Visibility del elemento Template obtiene el valor "Public". Pero si no publica el flujo de trabajo antes de guardarlo como una plantilla, el atributo Visibility del elemento Template obtiene el valor "DraftPublic". Este valor debe cambiarse a "Public" antes de volver a empaquetar la solución en Visual Studio.

  11. Abra el archivo elements.xml de la carpeta PropertyBags en el Explorador de soluciones.

  12. Desplácese hasta el elemento PropertyBags cuyo atributo Url apunta al archivo .xoml.config.xml y, a continuación, compruebe que el valor de la propiedad NoCodeVisibility sea "Public". Si no lo es, cámbielo a "Public".

  13. Opcionalmente, puede editar el archivo .xoml, pero tenga en cuenta detenidamente los siguientes puntos:

    • Si hace doble clic en el archivo .xoml en el Explorador de soluciones, se abrirá el Diseñador de flujo de trabajo de Visual Studio. No puede usar este diseñador. Existen algunas incompatibilidades entre SharePoint Designer y el Diseñador de flujo de trabajo de Visual Studio. (De hecho, si abre el archivo en el Diseñador de flujo de trabajo, probablemente verá símbolos de error en elementos de la superficie de diseño: un signo de exclamación de color blanco dentro de un círculo rojo). En su lugar, debe hacer clic con el botón secundario en el archivo .xoml y seleccionar un editor XML o de texto en el cuadro de diálogo Abrir con.

    • La edición del archivo .xoml es un proceso propenso a errores. Solo debe hacerlo para realizar cambios que no se pueden realizar en SharePoint Designer.

  14. Una vez finalizado el proyecto, en el menú Generar, haga clic en Implementar y pruebe la solución.

Para implementar el flujo de trabajo en una colección de sitios

  1. Cuando la solución esté lista para su distribución, ponga a disposición el paquete de solución (archivo .wsp) final para los administradores de la colección de sitios.

    Nota

    Si el flujo de trabajo supone la existencia de entidades, como tipos de contenido, tipos de lista e instancias de lista, que no se implementan con la solución propiamente dicha, debe comunicar a los administradores de la colección de sitios cuáles son estas entidades.

  2. El administrador de la colección de sitios instala e implementa la solución de espacio aislado en la galería de soluciones de la colección de sitios. Este proceso consta de dos pasos:

    1. El administrador de la colección de sitios carga el paquete de solución en la galería.

    2. A continuación, lo implementa, lo que se denomina "activación" de las soluciones de espacio aislado. Este paso activa automáticamente las características del paquete. Si hay un validador de solución registrado en la colección de sitios, también se ejecutan en la fase de activación (implementación).

    Si la solución pasa la validación y un administrador del conjunto o granja de servidores no la ha bloqueado, se encuentra lista para usarse en la colección de sitios.

Vea también

Conceptos

Qué se puede implementar en una solución de espacio aislado

Restricciones en las soluciones de espacio aislado

Arquitectura de soluciones de espacio aislado