SharePoint Designer — Anpassad verksamhet att köra användardefinierade C# funktioner

UPPDATERING: Detta har släppts till CodePlex här: http://www.codeplex.com/spdwfextensions

UPPDATERING: Se här för senaste release notes: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!381.entry

UPPDATERING: Se här för mina tankar om kommersialisera detta projekt: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!569.entry

Detta projekt innehåller en anpassad aktivitet i SharePoint Designer. Använd den här anpassade aktiviteten att åberopa (avsändande) en C#-funktion som du införlivas med den länkade församlingen.

I slutet av oktober, 2007, Detta är bara en första version av projektet. Jag planerar att expandera den med ett antal ytterligare funktioner, inklusive delsträng, index, Ersätt, åberopa webbtjänster och allt som verkar användbart eller intressant. Jag planerar också att posta detta till codeplex när jag har min agera tillsammans på den fronten. Detta kommer också att sättas som en lösning vid något tillfälle.

Om du har några synpunkter, frågor eller förslag, Vänligen lämna dem i kommentarer eller e-posta mig.

Ansvarsfriskrivning:

Jag gör absolut inga anspråk detta lämplighet för något ändamål. Använd på egen risk.

Installationsanvisningar (som skall följas vid varje WFE i gården):

1. Hämta zip och extrahera.

2. Installera .dll i GAC. Jag öppna brukar c:\windowsassembly med hjälp av Utforskaren i windows och kopiera it det.

3. Ändra web.config lägga till församlingen till säkra kontroller:

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

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

4. Kopiera "SpdGenericInterface.actions" c:\Programmet c:ProgramDelade filerMicrosoft Sharedweb server extensions12TEMPLATE1033Workflow

Observera att ovanstående platsen är specifika för engelska installationer.

5. Stäng SharePoint Designer (om det redan är öppen).

6. iisreset

7. Öppna SPD och skapa ett nytt arbetsflöde.

Om allt går bra, Du bör belönas med en ny kategori av åtgärder:

bild

Anteckningar:

Se Här (http://blogs.msdn.com/sharepointdesigner/archive/2007/03/15/adding-activities-to-spd.aspx) en utmärkt översikt över processen för att skapa, Installera och konfigurera en lösning så här.

ZIP är utformad för att extrahera direkt till dig c:\ enhet. Om du gör detta, Du kan öppna projektet och alla banor kommer att överensstämma.

Använda detta i visual studio, du behöver förmodligen installera "Extensions för Windows WF".

Första uppladdning innehåller bara en "dispatcher funktion", "ToLower()". Att lägga till mer funktionalitet, lägga till det till metoden Execute som:

 skyddade åsidosätta ActivityExecutionStatus
          Köra(ActivityExecutionContext executionContext)
        {

            sträng functionToDispatch;
            functionToDispatch = Detta.DispatchFunction.ToLower();

            Växla (functionToDispatch)
            {
                fallet "tolower()":
                    {
                        Detta.OutResult1 = Detta.InParam1.ToLower();
                        paus;
                    }

                standard:
                    {
                        Detta.OutResult1 = "Okänd funktion: [" + Detta.DispatchFunction + "].";
                        paus;
                    }
            }

            återvändande ActivityExecutionStatus.Stängt;
        } // ActivityExecutionStatus

    }

Sedan, bygga om projektet och kopiera församlingen till GAC. Jag förväntar mig en iisreset skulle krävas.

9 tankar på "SharePoint Designer — Anpassad verksamhet att köra användardefinierade C# funktioner

  1. Gerry Whitworth
    Jag följde hans anvisningar och allt verkade fungera tills jag välja åtgärd i SP Designer. Formgivaren inte klistra in koden i arbetsflödet. Jag skickade den här killen ett mail och jag antar att han är för upptagen för att svara.
    Jag har löst problemet själv.
    Tidigare åtgärder från "SpdGenericInterface.actions" till WSS.actions"" filen och det fungerade allt. Jag hoppas att detta hjälper andra.
    Svar
  2. Marco mancinelli
    Det låter bra, men jag kan inte installera tillägget =(
    min Designer se con det men när jag klickar på det ingenting visas… Snälla hjälp… tnx.
    Svar
  3. Mike Mongeau

    Definitivt låter som en bra idé. Jag skulle älska att engagera sig i användning och testning av funktioner. Det är sant att sträng-funktioner är begränsade i SPD, men den "dynamisk sträng-Builder" är ganska kraftfull funktion.

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

    Svar
  4. Bernard Lambeth

    Jag använder denna anpassad verksamhet till Ersätt() funktionen. Gården är SharePoint 2007, med belastningsutjämnade web front-slutar. Jag får återkommande underlåtenhet att starta fel, men arbetsflöden starta brukar i 5 – 15 min. Jag tror de tidsinställda jobben för arbetsflöde och arbetsflöde Failover startar om arbetsflöden. Jag har granskat de SharePoint-loggarna, och slutligen fångade felet.

    RunWorkflow: Microsoft.SharePoint.SPException:
    på Microsoft.SharePoint.Workflow.SPNoCodeXomlCompiler.LoadXomlAssembly(Sträng assmNameIn, SPWeb web)
    på Microsoft.SharePoint.Workflow.SPWinOeHostServices.CreateInstance(GUID trackingId, SPWorkflow arbetsflöde)
    på Microsoft.SharePoint.Workflow.SPWinOeEngine.RunWorkflow(GUID trackingId, SPWorkflowHostService värd, SPWorkflow arbetsflöde, Samling 1 händelser, TimeSpan timeOut)
    på Microsoft.SharePoint.Workflow.SPWorkflowManager.RunWorkflowElev(SPWorkflow originalWorkflow, SPWorkflow arbetsflöde, Samling 1 händelser, SPRunWorkflowOptions runOptions)

    Jag hittade en hänvisning till detta fel på en annan blogg, http://www.kentd.com/index.php/all-blog/218-nivlag-and-spdgenericinterface. Författaren anges han använde den anpassade actitivity Ersätt(), samt. Du har sett detta fel? Har du några förslag på hur man löser det?

    Svar
    1. Paul Galvin inlägg Författare

      Ledsen jag aldrig svarat. Thi's gång, Det är förmodligen omtvistad. Jag hoppas du kunde lösa det.

      Svar

Lämna ett svar till Marco mancinelli Avbryt svar

Din e-postadress kommer inte att publiceras. behövliga fält är markerade *