Partager via


Procédure pas à pas : création et déploiement de flux de travail déclaratifs dans des solutions en bac à sable

Cette rubrique explique comment déployer un flux de travail déclaratif, parfois appelé flux de travail « sans code », dans un solution en bac à sable (sandbox)

Dernière modification : mercredi 13 avril 2011

S’applique à : SharePoint Foundation 2010

Disponible dans SharePoint Online

Un flux de travail déclaratif se crée dans Microsoft SharePoint Designer et s’enregistre sous forme d’un ou de plusieurs fichiers XOML plutôt qu’en code C# ou Microsoft Visual Basic compilé. Le flux de travail est ensuite enregistré dans la bibliothèque Éléments de site d’un site Web en tant que fichier de package de solution SharePoint (fichier .wsp), lequel est téléchargeable et peut ensuite s’installer sur n’importe quelle collection de sites sous forme de solution en bac à sable (sandbox). Lors de l’exécution, le balisage XOML est converti en code compilé puis exécuté. Tenez compte des points suivants relatifs aux flux de travail déclaratifs :

  • Vous ne pouvez créer que des flux de travail séquentiels dans SharePoint Designer, et non des flux de travail machine à états.

  • Seul un flux de travail réutilisable, et non un flux de travail de liste ou un flux de travail de site, peut s’enregistrer en tant que solution en bac à sable (sandbox) dans SharePoint Designer.

  • Un flux de travail déclaratif créé pendant que SharePoint Designer fonctionne avec un site Web sur une batterie SharePoint Server 2010 ne peut pas être déployé dans une collection de sites sur une batterie SharePoint Foundation.

  • Un flux de travail publié en tant que flux de travail réutilisable global ne peut pas être enregistré directement comme solution en bac à sable (sandbox) dans SharePoint Designer. Cependant, il vous est possible de le copier comme flux de travail non-global et l’enregistrer ensuite en tant que solution en bac à sable (sandbox). Pour plus d’informations, voir les sections suivantes.

  • Un flux de travail déclaratif téléchargé d’une bibliothèque Éléments de site peut être importé dans Microsoft Visual Studio et modifié avant de l’installer en tant que solution en bac à sable (sandbox), mais certaines nuances au processus sont à prendre en compte. Pour plus d’informations, voir les sections suivantes.

Pour créer le flux de travail déclaratif dans SharePoint Designer

  1. Dans votre environnement de développement, assurez-vous qu’il existe un site Web contenant toutes les entités dont l’existence est attendue par votre flux de travail, par exemple des listes et des types de contenu.

  2. Accédez au site Web dans un navigateur et, dans le menu Actions du site, sélectionnez Modifier dans SharePoint Designer. SharePoint Designer se lance alors.

  3. Dans le volet Navigation, cliquez sur Flux de travail.

  4. Dans le Ruban, cliquez sur Flux de travail réutilisable. Dans la boîte de dialogue qui s’ouvre, attribuez un nom évocateur et une description adaptée, puis cliquez sur OK.

  5. Créez le flux de travail comme vous le feriez s’il devait être utilisé uniquement sur le site actif. Le fait de lui créer un package en tant que solution en bac à sable (sandbox) pouvant être déployé vers d’autres collections de sites n’influe en rien sur la manière de le créer.

  6. Configuration recommandée : lorsque le flux de travail est terminé, enregistrez-le, puis cliquez sur Publier (et non sur Publier globalement) sur le Ruban. Testez le flux de travail sur le site Web et procédez aux modifications nécessaires le cas échéant.

Pour créer un package pour le flux de travail sous forme de solution SharePoint

  1. Une fois le flux de travail terminé, ouvrez son aperçu Paramètres du flux de travail dans SharePoint Designer (si vous êtes en mode d’édition, cliquez sur Paramètres du flux de travail placé sur le Ruban).

  2. Sur le Ruban, cliquez sur Enregistrer comme modèle. Le flux de travail s’enregistre alors dans la bibliothèque Éléments de site du site Web en tant que fichier de package de solution SharePoint (fichier .wsp).

    Notes

    Si vous créez un package d’un flux de travail publié globalement dans SharePoint DesignerEnregistrer comme modèle est alors désactivé. Pour créer un package du flux de travail, vous devez d’abord le copier.

    1. Dans le nœud Flux de travail réutilisable globalement du volet Navigation de SharePoint Designer, cliquez avec le bouton droit sur le flux de travail, puis sélectionnez Copier et modifier.

    2. Dans la boîte de dialogue qui s’ouvre, attribuez un nom évocateur au flux de travail, puis cliquez sur OK.

    3. Cliquez sur Enregistrer sur le Ruban. Le nouveau flux de travail est automatiquement créé en tant que flux de travail non global qu’il vous est possible d’enregistrer sous forme de modèle.

Pour modifier le flux de travail dans Visual Studio (facultatif)

  1. Téléchargez le package de solution du flux de travail à partir de la bibliothèque Éléments de site.

  2. Dans Visual Studio, créez un projet à l’aide du modèle Importer le package de solution SharePoint. N’utilisez pas le modèle Importer le flux de travail réutilisable. Ce modèle convertit automatiquement le flux de travail déclaratif en flux de travail codé qui ne peut pas être déployé en tant que solution en bac à sable (sandbox).

    Notes

    Une autre approche des étapes restantes de cette procédure est décrite dans How to: Import and Package a Declarative Workflow in Visual Studio. L’avantage de cette autre approche s’illustre quand la Fonctionnalité prévue dans le projet se rapporte à une étendue de Site, car l’activation de la Fonctionnalité dans la galerie des fonctionnalités de la collection de sites la rend disponible à tous les sites Web de la collection sans avoir à l’activer sur chaque site Web où elle doit être utilisée. L’inconvénient de cette autre démarche réside dans le fait que le package de solution (se présentant sous la forme d’un fichier .wsp) obtenu ne peut s’installer que sur les collections de sites Microsoft SharePoint Server, et non sur les collections de sites SharePoint Foundation. Les étapes de la présente procédure génèrent un package pouvant être déployé sur n’importe quelle collection de sites SharePoint, mais la Fonctionnalité doit être activée sur chaque site Web sur lequel elle doit être utilisée.

  3. Dans l’Assistant Personnalisation de SharePoint, spécifiez un site servant au débogage. Il ne doit pas nécessairement correspondre au site avec lequel SharePoint Designer fonctionne au moment de la création du flux de travail.

  4. Sélectionnez la solution en bac à sable (sandbox), puis cliquez sur Suivant.

  5. Sur la page suivante de l’Assistant, entrez le chemin d’accès au package de solution que vous avez téléchargé à l’étape 1, puis cliquez sur Suivant.

  6. Sur la page suivante de l’Assistant, laissez tous les éléments sélectionnés (valeurs par défaut), puis cliquez sur Terminer. Lorsque le projet s’ouvre, dans Visual Studio, vous pouvez constater qu’il n’existe aucun fichier en code C# ou Visual Basic. Le flux de travail est en fait défini à l’aide d’un fichier .xoml. Vous pouvez également voir que Visual Studio a créé une fonctionnalité pour le projet.

  7. Dans l’Explorateur de solutions, double-cliquez sur le fichier *.feature pour ouvrir le Concepteur de fonctionnalités, puis attribuez à l’étendue de la Fonctionnalité la valeur Web.

    Notes

    La seule autre étendue possible est Site. Si vous sélectionnez Site, la Fonctionnalité du flux de travail ne peut cependant être activée que sur le site Web racine de la collection de sites, de sorte que le flux de travail ne peut pas être utilisé sur un sous-site quelconque. L’étendue Web met à disposition la Fonctionnalité dans la galerie des fonctionnalités de chaque site Web intégrant la collection, notamment le site Web racine. Elle doit être activée sur chaque site Web où elle doit être utilisée.

  8. Ajoutez les éléments à inclure dans le package et déployez le tout en même temps que le flux de travail (assurez-vous de n’inclure que les éléments pouvant être déployés dans un solution en bac à sable (sandbox)). Par exemple, si le flux de travail s’attend à un certain type de contenu personnalisé et que les collections de sites sur lesquelles vous comptez déployer le flux de travail ne disposent pas du type de contenu, vous devez envisager d’ajouter le type de contenu au projet Visual Studio.

  9. Dans l’Explorateur de solutions, ouvrez le fichier *.oxml.wfconfig.xml.

  10. Assurez-vous que l’attribut Visibility de l’élément Template a bien la valeur « Public ». Si ce n’est pas le cas, affectez-lui la valeur en question.

    Notes

    SharePoint Designer doit toujours fonctionner avec un site Web spécifique, même si vous l’utilisez pour créer un flux de travail réutilisable que vous comptez déployer vers les autres sites. Si, à un moment quelconque du développement du flux de travail dans SharePoint Designer, vous cliquez sur le bouton Publier (comme vous le feriez si vous avez opté pour l’étape 6 recommandée dans la procédure antérieure Pour créer le flux de travail déclaratif dans SharePoint Designer), l’attribut Visibility de l’élément Template obtient la valeur « Public ». Si vous n’avez cependant pas publié le flux de travail avant de l’enregistrer comme modèle, l’attribut Visibility de l’élément Template prend alors la valeur de « BrouillonPublic ». Vous devez alors le changer en « Public » avant de recréer le package de la solution dans Visual Studio.

  11. Ouvrez le fichier elements.xml dans le dossier PropertyBags accessible depuis l’Explorateur de solutions.

  12. Faites défiler l’élément PropertyBags dont l’attribut Url pointe sur le fichier .xoml.config.xml, puis assurez-vous que la valeur de la propriété NoCodeVisibility est bien « Public ». Dans le cas contraire, affectez-lui la valeur en question.

  13. Le cas échéant, vous pouvez modifier le fichier .xoml, mais lisez attentivement dans ce cas les points suivants :

    • Si vous double-cliquez sur le fichier .xoml dans l’Explorateur de solutions, ce dernier ouvre Visual Studio Workflow Designer. Vous ne pouvez pas utiliser ce concepteur. Il existe des incompatibilités entre SharePoint Designer et Visual Studio Workflow Designer (si vous ouvrez en fait le fichier dans Workflow Designer, le symbole d’erreurs s’affichera probablement sur les éléments présents sur l’aire de conception, à savoir un point d’exclamation blanc dans un cercle rouge). Vous devez plutôt cliquer avec le bouton droit sur le fichier .xoml puis sélectionner un éditeur XML ou un éditeur de texte dans la boîte de dialogue Ouvrir avec.

    • La modification du fichier .xoml est exposée aux erreurs. Vous ne devez apporter de modifications que si elles ne peuvent pas être effectuées dans SharePoint Designer.

  14. Une fois le projet terminé, dans le menu Générer, cliquez sur Déployer, puis testez la solution.

Pour déployer le flux de travail dans une collection de sites

  1. Lorsque votre solution est prête à être distribuée, réalisez le package de solution final (à savoir le fichier .wsp) à mettre à disposition des administrateurs de collections de sites.

    Notes

    Si le flux de travail s’attend à l’existence des entités, tels que des types de contenu, des types de liste et des instances de liste, qui ne sont pas déployées à l’aide de la solution en tant que telle, vous devez informer les administrateurs de collections de sites des entités en question.

  2. Le solution en bac à sable (sandbox) s’installe et est déployé par l’administrateur de collection de sites, lequel se charge d’installer la solution dans la galerie Solutions de la collection de sites. Deux étapes sont à suivre pour ce processus :

    1. L’administrateur de collection de sites transfère le package de solution à la galerie.

    2. L’administrateur de collection de sites déploie le package intitulé « activation » pour solutions en bac à sable (sandbox). Cette étape active automatiquement toutes les fonctionnalités trouvées dans le package. Si des validateurs de solution sont enregistrés avec la collection de sites, ils s’exécutent également au stade de l’activation (déploiement).

    Si la solution passe le processus de validation et n’a pas été bloquée par l’administrateur d’une batterie, elle est alors prête à être utilisée sur la collection de sites.

Voir aussi

Concepts

Qu'est-ce qui peut être implémenté dans une solution en bac à sable (sandbox) ?

Restrictions imposées aux solutions en bac à sable (sandbox)

Architecture des solutions en bac à sable (sandbox)