SharePoint Designer — Brugerdefineret aktivitet at udføre brugerdefinerede C# funktioner

OPDATERING: Dette er blevet udleveret til CodePlex her: http://www.codeplex.com/spdwfextensions

OPDATERING: Se her for seneste produktbemærkninger: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!381.entry

OPDATERING: Se her for mine tanker om kommercialisering dette projekt: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!569.entry

Dette projekt indeholder en brugerdefineret aktivitet i SharePoint Designer. Brug denne brugerdefinerede aktivitet til at påberåbe sig (forsendelse) enhver C#-funktion, du er indarbejdet i den sammenkædede forsamling.

I slutningen af oktober, 2007, Dette er blot en indledende version af projektet. Jeg planlægger at udvide det med en række ekstra funktioner, herunder understreng, indeks, Erstat, påberåbe sig webtjenester og noget, der ser ud til nyttige eller interessante. Jeg planlægger også at skrive dette til codeplex, når jeg har min handle sammen på fronten. Dette vil også være deployerbare som en løsning på et tidspunkt.

Hvis du har kommentarer, spørgsmål eller forslag, venligst forlade dem i kommentarer eller e-mail mig.

Ansvarsfraskrivelse:

Jeg gør absolut ingen krav vedrørende dette egnethed til ethvert formål. Bruge på egen risiko.

Installationstrin (der skal følges ved hver WFE i farmen):

1. Hente .zip og pakke.

2. Installere .dll i GAC. Jeg åbne normalt c:\windowsassembly ved hjælp af windows Stifinder og kopi it der.

3. Ændre web.config for at føje samlingen til de sikre objekter:

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

<authorizedType Assembly = "SpdGenericInterface, Version = 1.0.0.0, Kultur = neutral, PublicKeyToken = abe076fd8125f3c4" Namespace = "Nivlag" TypeName = "*" Autoriseret = "True" />

4. Kopiere "SpdGenericInterface.actions" til c:\Programmet c:ProgrammerFælles filerMicrosoft Sharedweb server extensions12TEMPLATE1033Workflow

Bemærk, at denne placering er specifikke for engelsk sprog installationer.

5. Lukke SharePoint Designer (Hvis det er allerede åben).

6. iisreset

7. Åbn SPD, og Opret en ny arbejdsgang.

Hvis alt går vel, du vil blive belønnet med en ny kategori af action:

billede

Noter:

Se Her (http://blogs.msdn.com/sharepointdesigner/archive/2007/03/15/adding-activities-to-spd.aspx) for en fantastisk overblik over processen til oprettelse af, installation og konfiguration af en løsning på denne.

.zip er designet til at udtrække direkte til dig c:\ kørsel. Hvis du gør dette, Du kan åbne projektet og alle stier vil være i overensstemmelse.

At bruge det i visual studio, du nødt sandsynligvis til at installere "Extensions for Windows WF".

Den oprindelige upload indeholder bare en "togleder funktion", "ToLower()". At tilføje mere funktionalitet, føje det til metoden Execute som vist:

 beskyttet tilsidesætte ActivityExecutionStatus
          Udføre(ActivityExecutionContext executionContext)
        {

            streng functionToDispatch;
            functionToDispatch = Dette.DispatchFunction.ToLower();

            skifte (functionToDispatch)
            {
                sag "tolower()":
                    {
                        Dette.OutResult1 = Dette.InParam1.ToLower();
                        pause;
                    }

                standard:
                    {
                        Dette.OutResult1 = "Ukendt funktion: [" + Dette.DispatchFunction + "].";
                        pause;
                    }
            }

            tilbagevenden ActivityExecutionStatus.Lukket;
        } // ActivityExecutionStatus

    }

Derefter, genopbygge projektet og kopiere assemblyen til GAC. Jeg forventer en iisreset ville være påkrævet.

9 tanker om ”SharePoint Designer — Brugerdefineret aktivitet at udføre brugerdefinerede C# funktioner

  1. Gerry Whitworth
    Jeg fulgte hans retninger og alt syntes at arbejde, indtil jeg vælger handlingen i SP Designer. Designeren ikke indsætte koden i arbejdsprocessen. Jeg sendt denne fyr en e-mail og jeg tror han er alt for optaget til at svare.
    Jeg løste problemet selv.
    Tidligere handlinger fra "SpdGenericInterface.actions" i "WSS.actions" fil- og det alt virkede. Jeg håber dette hjælper andre.
    Svar
  2. Marco mancinelli
    Hej alle,
    nogen kan forklare hvilken web.config fil jeg nødt til at ændre? Du bedes svare hurtigt.
    Svar
  3. Marco mancinelli
    Det lyder godt, men jeg kan ikke installere forlængelsen =(
    min Designer con se det, men når jeg klikker på det intet vises… behage hjælp… tnx.
    Svar
  4. Bernard Lambeth

    Jeg bruger denne brugerdefinerede aktivitet til Erstat() funktion. Gården er SharePoint 2007, med belastningsfordeling web front-ends. Jeg får intermitterende fejl at starte fejl, men arbejdsprocesserne genstarte normalt i 5 – 15 min. Efter min mening timerjob arbejdsproces og Workflow Failover genstarter arbejdsprocesserne. Jeg gennemgik SharePoint logs, og endelig fanget denne fejl.

    RunWorkflow: Microsoft.SharePoint.SPException:
    på Microsoft.SharePoint.Workflow.SPNoCodeXomlCompiler.LoadXomlAssembly(Strengen assmNameIn, SPWeb web)
    på Microsoft.SharePoint.Workflow.SPWinOeHostServices.CreateInstance(GUID trackingId, SPWorkflow arbejdsgang)
    på Microsoft.SharePoint.Workflow.SPWinOeEngine.RunWorkflow(GUID trackingId, SPWorkflowHostService vært, SPWorkflow arbejdsgang, Samlingen ' 1 begivenheder, TimeSpan timeOut)
    på Microsoft.SharePoint.Workflow.SPWorkflowManager.RunWorkflowElev(SPWorkflow originalWorkflow, SPWorkflow arbejdsgang, Samlingen ' 1 begivenheder, SPRunWorkflowOptions runOptions)

    Jeg fandt en henvisning til denne fejl på en anden blog, http://www.kentd.com/index.php/all-blog/218-nivlag-and-spdgenericinterface. Forfatteren viste han var ved hjælp af den brugerdefinerede actitivity Erstat(), samt. Du har set denne fejl? Har du nogen forslag på hvordan man kan løse det?

    Svar
    1. Paul Galvin Indlæg forfatter

      Undskyld jeg aldrig reageret. På thi's punkt, Det er sandsynligvis moot. Gid du var i stand til at løse det.

      Svar

Efterlad et svar til Marco mancinelli Annuller besvarelse

Din e-mail adresse vil ikke blive offentliggjort. Krævede felter er markeret *