SharePoint Designer — Aangepaste activiteit uit te voeren user-defined C# functies

UPDATE: Dit is vrijgegeven aan CodePlex hier: http://www.codeplex.com/spdwfextensions

UPDATE: Zie hier voor laatste release notes: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!381.entry

UPDATE: Zie hier voor mijn gedachten over dit project commercialiseren: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!569.entry

Dit project biedt een aangepaste activiteit in SharePoint Designer. Gebruik deze aangepaste activiteit om te roepen (verzending) een C#-functie die u in de gekoppelde vergadering opgenomen.

Vanaf eind oktober, 2007, Dit is gewoon een eerste versie van het project. Ik ben van plan uit te breiden met een aantal extra functies, met inbegrip van subtekenreeks, index, vervangen, aanroepen van webservices en iets dat nuttig of interessant lijkt. Ik ben ook van plan om dit bericht te codeplex, zodra ik heb mijn handelen samen op dat front. Dit zal ook inzetbaar als een oplossing op een bepaald punt.

Als u opmerkingen hebt, vragen of suggesties, Laat hen in commentaren of e-mail me.

Disclaimer:

Ik maken absoluut geen aanspraken zijn van de geschiktheid van dit voor elk doel. Gebruik op uw eigen risico.

Installatiestappen (moeten worden gevolgd voor elke WFE in de farm):

1. Download het .zip en haal.

2. Het dll-bestand in de GAC te installeren. Ik open meestal c:\windowsassembly met behulp van windows verkenner en kopie it er.

3. Web.config de vergadering toevoegen aan de veilige besturingselementen wijzigen:

<System.workflow.ComponentModel.WorkflowCompiler>
<authorizedTypes>

<authorizedType vergadering = "SpdGenericInterface, Versie = 1.0.0.0, Cultuur = neutraal, PublicKeyToken = abe076fd8125f3c4" Namespace = "Nivlag" TypeName = "*" Gemachtigd = "True" />

4. Kopieer "SpdGenericInterface.actions" tot c:\Program FilesCommon FilesMicrosoft Sharedweb server extensions12TEMPLATE1033Workflow

Merk op dat de bovenstaande locatie specifiek voor Engels-installaties is.

5. SharePoint Designer sluiten (Als het al geopend is).

6. iisreset

7. SPD openen en een nieuwe werkstroom maken.

Als alles goed gaat, u moet worden beloond met een nieuwe categorie van de actie:

afbeelding

Notities:

Zie Hier (http://blogs.msdn.com/sharepointdesigner/archive/2007/03/15/adding-activities-to-spd.aspx) voor een geweldig overzicht van het proces voor het maken van, installeren en configureren van een oplossing als deze.

De .zip is ontworpen om te pakken direct in je c:\ station. Als u dit doet, u kunt het project openen en alle paden in overeenstemming zal zijn.

Om dit te gebruiken in visual studio, u moet waarschijnlijk installeren "Extensies voor Windows WF".

De eerste upload bevat slechts één "dispatcher functie", "ToLower()". Om meer functionaliteit te voegen, Voeg het toe aan de methode Execute zoals:

 beschermd overschrijven ActivityExecutionStatus
          Uitvoeren(ActivityExecutionContext executionContext)
        {

            tekenreeks functionToDispatch;
            functionToDispatch = Dit.DispatchFunction.ToLower();

            schakelaar (functionToDispatch)
            {
                geval "tolower()":
                    {
                        Dit.OutResult1 = Dit.InParam1.ToLower();
                        pauze;
                    }

                standaard:
                    {
                        Dit.OutResult1 = "Onbekende functie: [" + Dit.DispatchFunction + "].";
                        pauze;
                    }
            }

            terugkeer ActivityExecutionStatus.Gesloten;
        } // ActivityExecutionStatus

    }

Vervolgens, het project weer op te bouwen en de vergadering aan de GAC te kopiëren. Ik verwacht dat een iisreset zouden moeten.

9 gedachten over "SharePoint Designer — Aangepaste activiteit uit te voeren user-defined C# functies

  1. Gerry Whitworth
    Ik volgde zijn instructies en alles leek te werken totdat ik kies de actie in SP Designer. De ontwerper deed niet plak de code in de werkstroom. Ik stuurde deze kerel een e-mail en ik denk dat hij te druk om te reageren.
    Ik heb mezelf het probleem opgelost.
    Voorbij de acties van SpdGenericInterface.actions"" in de "WSS.actions" bestand en die alles werkte. Ik hoop dat dit helpt anderen.
    Antwoord
  2. Marco mancinelli
    het klinkt goed, maar ik kan niet installeren naar de verlenging =(
    mijn ontwerper con zien maar wanneer ik klik op het niets worden weergegeven… Gelieve te helpen… tnx.
    Antwoord
  3. Bernard Lambeth

    Ik ben met behulp van deze aangepaste activiteit te vervangen() functie. De boerderij is SharePoint 2007, met taakverdeling web front-ends. Ik krijg de agentservice om te beginnen met fouten, maar de werkstromen starten meestal in de 5 – 15 min. Ik denk dat de timeropdrachten Workflow en Workflow Failover opnieuw start de werkstromen. Ik herzien de SharePoint logs, en tot slot gevangen deze fout.

    RunWorkflow: Microsoft.SharePoint.SPException:
    op Microsoft.SharePoint.Workflow.SPNoCodeXomlCompiler.LoadXomlAssembly(String assmNameIn, SPWeb web)
    op Microsoft.SharePoint.Workflow.SPWinOeHostServices.CreateInstance(GUID trackingId, SPWorkflow werkstroom)
    op Microsoft.SharePoint.Workflow.SPWinOeEngine.RunWorkflow(GUID trackingId, SPWorkflowHostService host, SPWorkflow werkstroom, Gebeurtenissen van de collectie ' 1, TimeSpan timeOut)
    op Microsoft.SharePoint.Workflow.SPWorkflowManager.RunWorkflowElev(SPWorkflow originalWorkflow, SPWorkflow werkstroom, Gebeurtenissen van de collectie ' 1, SPRunWorkflowOptions runOptions)

    Vond ik een verwijzing naar deze fout op een andere blog, http://www.kentd.com/index.php/all-blog/218-nivlag-and-spdgenericinterface. De auteur aangegeven dat hij was met behulp van de aangepaste AdZG vervangen(), ook. Je heb gezien deze fout? U heeft nog suggesties over hoe op te lossen?

    Antwoord
    1. Paul Galvin Bericht auteur

      Sorry ik heb nooit gereageerd. Op thi van punt, het is waarschijnlijk onbeslist. Ik hoop dat u in staat om op te lossen het waren.

      Antwoord

Verlaat een antwoord te Bernard Lambeth annuleer antwoord

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd *