Archives Catégorie: Flux de travail SharePoint

Activation de flux de travail prématuré — Une Solution Non médicaux

MISE À JOUR: Voir cette discussion MSDN, surtout la dernière entrée: http://forums.microsoft.com/MSDN/showpost.aspx?postid=2631057&siteid=1. Il décrit une condition qui peut court-circuiter tout cela. En bref, Il peut être aussi simple que de faire au moins un des champs obligatoires.

J'ai une bibliothèque de document qui prend en charge les types de contenu de huit.

J'ai un flux de travail SharePoint Designer qui veut calculer et attribuer une date de rappel"" en soustrayant simplement 30 jours d'une autre colonne, « date d'échéance ». Cela se produit uniquement pour l'un des types de contenu, « Assurance ». L'objectif de l'entreprise est de produire un indicateur de performance clé qui affiche deux catégories de documents d'assurance: « sur le point d'expirer" et "a expiré." (Vous pouvez lire plus sur ce genre de KPI et plus importante forage ici).

J'ai configuré le flux de travail au feu lorsqu'un nouvel élément est créé et lorsqu'un élément est modifié. L'idée est que lorsqu'un document d'assurance est téléchargé, Nous calculons une date de mise en garde »" basé sur la date d'expiration. Une paire de vues travailler dans le cadre d'une liste de KPI pour mettre en évidence ces conditions lorsque les utilisateurs a frappé leur page d'accueil.

Cette stratégie ne fonctionne pas lorsque je télécharger un document.

J'ai télécharger le document et je suis présenté à l'écran de saisie de données meta. À ce point, Je suis déjà dans le pétrin. SharePoint a déjà, prématurément, de mon point de vue, tiré du flux de travail. Je n'ai pas eu la chance de choisir le type de contenu correct, ni attribuer une date d'échéance. En même temps, le flux de travail ne se déclenche pas lorsque j'ai touché le bouton soumettre en ce moment. Il y a une logique intégrée qui « croit" qui d'abord soumettre fait partie de la « créer" événement. Si … mon workflow a tiré et lorsqu'il est exécuté, Il a été adopté des valeurs par défaut de données meta.

La contourner meilleur à ma connaissance est d'insérer une "pause jusqu'en" activité du workflow. J'ai la pause de flux de travail pour 1 minute. Alors que c'est une pause, Sélectionner le type de contenu correct, Entrez les données méta et soumettre. La pause se termine et le flux de travail procède au besoin. (Notez que dans mon environnement, activités de flux de travail du minuteur du SPD ne fonctionnent pas out of the box. Vous pouvez avoir le même ennui. Voir ici Pour plus de détails).

Je n'aime pas "retard magique" solution de contournement. Que se passe-t-il si l'utilisateur télécharge un document et le téléphone sonne et la conversation qui s'ensuivie survit à la pause? Je peux faire la pause plus longue, mais je reste ne l'aime.

J'ai écrit à ce sujet sur les forums MSDN ici: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2430725&SiteID=1

Simple et rapide: Envoyer un email avec lien hypertexte incorporé de flux de travail SharePoint Designer

Une fois ou deux fois par mois, quelqu'un publie une question forum: « Comment je comportent des liens hypertexte à une URL qui est cliquable dans un courriel de SharePoint Designer?"

Présenté sans autres commentaires: (bien, en fait, il y a d'autres commentaires après l'image):

image

Les Becky Isserman suit avec une explication utile sur la façon d'intégrer un lien vers un élément dans le Courriel: http://www.sharepointblogs.com/mosslover/archive/2007/11/20/addition-to-paul-galvin-s-post-about-sending-an-e-mail-with-hyperlinks-in-spd.aspx

Simple et rapide: Activer le flux de travail SharePoint Designer mettre à jour un formulaire InfoPath

Scénario: J'ai un formulaire InfoPath frontaux un processus mis en œuvre à l'aide de SharePoint Designer. À un moment donné, un gestionnaire doit approuver le formulaire. Depuis je ne peux pas compter sur l'histoire de flux de travail pour répondre à mes exigences d'audit, Je décide de stocker me propres audit message directement sur le formulaire lui-même.

Vue d'ensemble:

Concevoir le formulaire et de le publier comme une type de contenu et le formulaire lui-même dans une bibliothèque de documents. Mark désiré des champs de formulaire comme étant modifiable de MOSS. Le formulaire est lié au type de contenu et le type de contenu est "attaché" pour une bibliothèque de formulaires (ou plusieurs, Si tu veux). Écrire un flux de travail qui met à jour le champ.

Mesures spécifiques:

  1. Créer une bibliothèque de documents. Cela va tenir votre modèle InfoPath.
  2. Créer une bibliothèque de formulaires.
  3. Créer le formulaire InfoPath. Inclure un champ de texte, « Message de vérification ».
  4. Publier le formulaire comme un type de contenu (PAS un document).
  5. Tout en remplissant les boîtes de dialogue d'éditions:
    un) Enregistrez le fichier .xsn dans la bibliothèque de documents (étape #1).
    b) Publier le Message de vérification »" sur le terrain et marquer le vrai: « Permettre aux utilisateurs de modifier des données dans ce domaine à l'aide d'une feuille de données ou les propriétés de page ».
    c) Créer un nouveau type de contenu et de lui donner un nom approprié.
  6. Accéder à la bibliothèque de formulaires.
    un) Aller à ses paramètres avancés et de permettre à la bibliothèque de formulaires gérer les types de contenu.
    b) Sélectionnez le type de contenu nouvellement créé (5c ci-dessus). Il est regroupé sous "Microsoft InfoPath" (ou similaire).
    c) Supprimer la valeur par défaut de forme »" type de contenu de la bibliothèque.
    d) Marque de la bibliothèque "afficher comme une page web" pour que la forme va lancer de SharePoint et pas le client de station de travail d'InfoPath.
  7. Retournez à la bibliothèque de formes appropriée et cliquez sur « nouveau" pour vérifier simplement que la forme est correctement affichée et agissant comme vous voulez.
  8. Incendie de SharePoint Designer et de naviguer sur le site qui héberge votre bibliothèque de formulaires (de l'étape 2).
  9. Créer un nouveau flux de travail attaché à la bibliothèque de formulaires.
  10. Ajouter une seule action « Champ défini dans élément actuel ». Vous devriez compter liste SharePoint Designer vous êtes votre champ, « Message de vérification ». Attribuez-lui une valeur.
  11. Cliquez sur Terminer et revenir à la bibliothèque de formulaires.
  12. Créez un nouveau formulaire et mettre une valeur de test dans le Message de vérification »" champ.
  13. Enregistrer et revenir à la bibliothèque de formulaires.
  14. Faites un clic droit, Sélectionnez Workflow"" et démarrer votre flux de production.
  15. Il doit exécuter presque immédiatement. Tirez vers le haut de la forme (de l'étape 12) et si tout est passé au plan, « Message de vérification" a été attribué à quelque valeur que vous avez fourni à l'étape 10.

Notes:

Pas tous les contrôles peuvent configuré pour cette communication bidirectionnelle. Par exemple, il ne semble pas implémenter un flux de travail SPD qui modifie les champs de texte encapsulées à l'intérieur des sections extensibles.

Un de la clé take-away ici est que nous avons vraiment créé un type de contenu avec un template associé. Cela nous permet également de stocker plusieurs modèles de formulaires InfoPath dans la même bibliothèque de formulaires.

Pour cela, serveur de formulaires. Il ne va certainement pas à travailler dans un WSS 3.0 environnement et probablement même exige un environnement d'entreprise SharePoint.

SharePoint Designer — Activité personnalisée pour exécuter des fonctions définies par l'utilisateur c#

MISE À JOUR: Il a été libéré de CodePlex ici: http://www.codeplex.com/spdwfextensions

MISE À JOUR: Voir ici pour les dernières notes de version: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!381.entry

MISE À JOUR: Voir ici pour mes pensées sur la commercialisation de ce projet: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!569.entry

Ce projet prévoit une activité personnalisée dans SharePoint Designer. Utilisez cette activité personnalisée pour appeler (expédition) n'importe quelle fonction c# vous incorporé dans l'assembly lié.

De fin octobre, 2007, Il s'agit simplement d'une version initiale du projet. J'ai l'intention de l'étendre avec un certain nombre de fonctions supplémentaires, y compris la sous-chaîne, index, remplacer, appel de services web et tout ce qui semble utile ou intéressant. J'ai également l'intention de ce post de codeplex une fois que j'ai mon agir ensemble sur ce front. Ce sera également déployée comme une solution à un certain moment.

Si vous avez des commentaires, questions ou suggestions, Veuillez laisser dans les commentaires ou Ecrivez-moi.

Avis de non-responsabilité:

Je ne fais absolument aucune réclamation quant à la pertinence de ceci pour n'importe quel but. Utiliser à vos risques et périls.

Étapes d'installation (à suivre pour chaque EPPE dans la ferme):

1. Télécharger le .zip et extraire.

2. Installer le fichier .dll dans le global assembly cache. J'ai ouvert habituellement c:\windowsassembly à l'aide de l'Explorateur windows et copie il y.

3. Modifiez web.config pour ajouter l'assembly pour les contrôles de sécurité:

<System.Workflow.ComponentModel.WorkflowCompiler>
<authorizedTypes>

<authorizedType Assembly = "SpdGenericInterface, Version = 1.0.0.0, Culture = neutral, PublicKeyToken = abe076fd8125f3c4" Namespace = "Nivlag" TypeName = "*" Autorisée = "True" />

4. Copie « SpdGenericInterface.actions" c:\Program FilesCommon FilesMicrosoft Sharedweb server extensions12TEMPLATE1033Workflow

Notez que l'emplacement ci-dessus est spécifique aux installations de langue anglais.

5. Près de SharePoint Designer (Si ce n'est déjà).

6. iisreset

7. Ouvrez le SPD et créer un nouveau flux de travail.

Si tout va bien, vous devez être récompensé avec une nouvelle catégorie d'action:

image

Notes:

Voir ici (http://blogs.msdn.com/sharepointdesigner/archive/2007/03/15/adding-activities-to-spd.aspx) pour un formidable aperçu du processus de création, installation et configuration d'une solution comme ceci.

Le .zip est conçu pour extraire directement à vous c:\ en voiture. Si vous faites cela, vous pouvez ouvrir le projet et tous les chemins seront conformes.

Pour l'utiliser dans visual studio, vous devrez probablement installer des « Extensions pour Windows WF ».

Le téléchargement initial contient une « fonction de répartiteur », ToLower »()". Pour ajouter plus de fonctionnalités, ajouter à la méthode Execute, comme le montre:

 protégé Substituez ActivityExecutionStatus
          Exécuter(ActivityExecutionContext executionContext)
        {

            chaîne functionToDispatch;
            functionToDispatch = ce.DispatchFunction.ToLower();

            commutateur (functionToDispatch)
            {
                affaire tolower »()":
                    {
                        ce.OutResult1 = ce.InParam1.ToLower();
                        Pause;
                    }

                par défaut:
                    {
                        ce.OutResult1 = « Fonction inconnue: [" + ce.DispatchFunction + "].";
                        Pause;
                    }
            }

            retour ActivityExecutionStatus.Fermé;
        } // ActivityExecutionStatus

    }

Puis, re-générer le projet et copiez l'assembly dans le GAC. Je m'attends à qu'un iisreset serait nécessaire.

Action personnalisée SPD Workflow – obtenir la <WorkflowInfo> droit de l'étiquette pour éviter la frustration

Partie du processus de création d'une action personnalisée pour SharePoint Designer implique de créer une » .actions" fichier.

J'ai trouvé et essayé d'utiliser un modèle d'échantillon qui commence comme:

<?XML Version="1.0" codage="UTF-8" ?>
<
WorkflowInfo xmlns="http://schemas.Microsoft.com/SharePoint/">
<
Actions Séquentiel="puis" Parallèle="et">

Cependant, Cet attribut xmlns empêche mon environnement de travail. Mes actions n'apparaissent pas dans le SPD.

La solution consiste à dépouiller par l'attribut xmlns., faire un iisreset et fermeture/ré-ouvertes SPD.

SharePoint Designer, “Recueillir des données de l'utilisateur” et l'utilisation de ces résultats.

Utilisez la « collecte de données de l'utilisateur" action pour créer et attribuer une tâche à un utilisateur qui demande les données. Entre autres choses, J'ai l'utilisé pour inviter un utilisateur d'approuver ou de rejeter une demande et entrer des commentaires.

Cette action prend la forme de:

Recueillir données De cet utilisateur (Sortie à Variable: collect1)

En cliquant sur données tire une série de boîtes de dialogue où vous spécifier quelles données l'utilisateur doit fournir quand remplir la tâche et cet utilisateur est évident.

La partie de la production (Variable: collect1) enregistre l'ID de la tâche. Vous l'utiliser dans votre flux de travail pour extraire la réponse réelle de l'utilisateur via le "comparer n'importe quelle source de données" condition.

Cette condition indique que

Si champ est égal à valeur

Cliquez sur champ et puis le f(x) icône et il tire vers le haut une autre boîte de dialogue. Utilisez cette boîte de dialogue généralisé à de dire SPD deux choses;

1. Quelle est la liste et la colonne dont vous souhaitez comparer la valeur.

2. Comment le moteur de workflow doit localiser la ligne spécifique dans la liste?

Pour ce faire:

  1. Changement de la Source"" DropDown pour pointer sur la liste de tâche correcte. Notez que la boîte de dialogue se développe pour afficher un "trouver l'élément de liste" Section.
  2. Dans la liste déroulante champ de détails de la recherche, Sélectionnez le nom du champ dont vous voulez que la valeur (Il mappe à ce que vous avez appelé dans la boîte de dialogue de collecte de données par le haut).
  3. Dans le "trouver l'élément de liste" Section, Sélectionnez tâches »:ID" dans la liste déroulante du champ.
  4. Dans le champ valeur, Cliquez sur la f(x). Cela ouvre une autre boîte de dialogue.
  5. Modifier la source de « données de Workflow"
  6. Sélectionnez la variable de flux de travail qui correspond à la « sortie de Variable" de l'action de collecte de données.
  7. Cliquez sur OK/OK et vous avez terminé.

Il ressemble à cela pour moi:

image

À ce point, vous pouvez maintenant utiliser cette valeur dans votre flux de travail tel que requis.

Notes complémentaires:

Comme une bref aparté, J'ai toujours de créer une variable de flux de travail bien nommée de type "ID d'élément de liste" et l'utiliser au lieu de l'auto-généré "collect1".

Cette « comparer n'importe quelle source de données" jeu de la boîte de dialogue est utilisée dans plusieurs endroits différents dans le SPD et vaut bien maîtriser.

== fin

Tags Technorati: