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.

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

  1. Gerry Whitworth
    J'ai suivi ses instructions et tout semblait fonctionner jusqu'à ce que j'ai choisi l'action dans le concepteur de la SP. Le concepteur a fait pas collez le code dans le flux de travail. J'ai envoyé ce mec un email et je suppose qu'il est trop occupé pour répondre.
    J'ai résolu le problème moi-même.
    Au-delà des actions de « SpdGenericInterface.actions" dans le WSS.actions »" lime et que tout a fonctionné. J'espère que cela aide les autres.
    Réponse
  2. Marco mancinelli
    Bonjour à tous,
    n'importe qui peut expliquer pas quel fichier web.config je dois modifier? Veuillez répondre à bientôt.
    Réponse
  3. Marco mancinelli
    Ça sonne bien, mais je ne peux pas installer l'extension =(
    mon concepteur voir con il mais lorsque je clique dessus rien ne semble… Please help… tnx.
    Réponse
  4. Mike Mongeau

    Assurément, semble être une bonne idée. J'aimerais beaucoup s'impliquer dans l'utilisation et de test des fonctions. Il est vrai que les fonctions de chaîne sont limitées dans le SPD, mais la « dynamique String Builder" est assez puissant.

    <a href ="http://dataformwebpart.com">-Monjo </un>

    Réponse
  5. Bernard Lambeth

    J'utilise cette activité personnalisée pour remplacer() fonction. La ferme est SharePoint 2007, avec équilibrage de charge web frontaux. Je me fais défaillance intermittente pour commencer les erreurs, mais les flux de travail redémarre généralement dans 5 – 15 min. Je crois que les travaux du minuteur Workflow et basculement de flux de travail sont redémarrer le flux de travail. J'ai revu les logs de SharePoint, et enfin pris cette erreur.

    RunWorkflow: Microsoft.SharePoint.SPException:
    à Microsoft.SharePoint.Workflow.SPNoCodeXomlCompiler.LoadXomlAssembly(Chaîne assmNameIn, SPWeb web)
    à Microsoft.SharePoint.Workflow.SPWinOeHostServices.CreateInstance(GUID trackingId, Flux de travail SPWorkflow)
    à Microsoft.SharePoint.Workflow.SPWinOeEngine.RunWorkflow(GUID trackingId, SPWorkflowHostService hôte, Flux de travail SPWorkflow, Événements collection 1, TimeSpan timeOut)
    à Microsoft.SharePoint.Workflow.SPWorkflowManager.RunWorkflowElev(OriginalWorkflow SPWorkflow, Flux de travail SPWorkflow, Événements collection 1, SPRunWorkflowOptions runOptions)

    J'ai trouvé une référence à cette erreur sur un autre blog, http://www.kentd.com/index.php/all-blog/218-nivlag-and-spdgenericinterface. L'auteur a indiqué qu'il utilisait la coutume actitivity remplacer(), ainsi. Avez-vous vu cette erreur? Vous avez des suggestions sur la façon de le résoudre?

    Réponse
    1. Paul Galvin Auteur

      Désolé j'ai jamais répondu. Au point de thi, C'est sans doute sans objet. J'espère que vous étiez en mesure de le résoudre.

      Réponse

Laisser une réponse

Votre adresse email ne sera pas publiée. les champs requis sont indiqués *