SharePoint Designer — Vlastní aktivity k provedení C# funkce definované uživatelem

AKTUALIZOVAT: To byla uvolněna na CodePlex zde: http://www.codeplex.com/spdwfextensions

AKTUALIZOVAT: Podívejte se na nejnovější poznámky k verzi: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!381.entry

AKTUALIZOVAT: Viz zde pro mé myšlenky na komercializaci tento projekt: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!569.entry

Tento projekt obsahuje vlastní aktivity v aplikaci SharePoint Designer. Použít tento vlastní aktivity k vyvolání (odeslání) všechny funkce C#, která začleněn do propojených sestavení.

Od konce října, 2007, To je jen počáteční verze projektu. Mám v plánu rozšířit ji s řadou dalších funkcí, včetně podřetězec, Rejstřík, nahradit, Vyvolání webových služeb a vše, co se zdá být užitečné nebo zajímavé. Také jsem v plánu tento post na codeplex, jakmile mám jednat společně na tomto poli. To bude také nasaditelné řešení v určitém okamžiku.

Pokud máte jakékoliv připomínky, dotazy nebo návrhy, Prosím nechte je v komentářích, nebo napište mi.

Zřeknutí se odpovědnosti:

Vydělávám absolutně žádné nároky týkající se vhodnosti pro jakýkoliv účel. Použijte na vlastní riziko.

Kroky instalace (pro každé WFE v serverové farmě):

1. Stáhněte zip a rozbalte.

2. Nainstalujte soubor knihovny DLL do GAC. Já obvykle otevřené c:\windowsassembly pomocí programu Průzkumník Windows a kopírovat to tam.

3. Upravit soubor web.config přidat sestavení do bezpečných prvků:

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

<authorizedType shromáždění = "SpdGenericInterface, Verze = 1.0.0.0, Kultura = neutral, PublicKeyToken = abe076fd8125f3c4" Namespace = "Nivlag" TypeName = "*" Oprávnění = "True" />

4. Kopírovat "SpdGenericInterface.actions" c:\Program FilesCommon FilesMicrosoft Sharedweb server extensions12TEMPLATE1033Workflow

Všimněte si, že výše uvedené umístění je specifický pro anglický jazyk instalace.

5. Ukončete aplikaci SharePoint Designer (Pokud je již otevřen).

6. iisreset

7. Otevřete SPD a vytvořit nový pracovní postup.

Pokud vše půjde dobře, by měl být odměněn s novou kategorii akce:

obrázek

Poznámky:

Viz Tady (http://blogs.msdn.com/sharepointdesigner/archive/2007/03/15/adding-activities-to-spd.aspx) úžasný přehled procesu pro vytvoření, instalace a konfigurace řešení jako je tento.

ZIP je navržen tak, aby extrahovat přímo pro vás c:\ jednotka. Pokud použijete tento, můžete otevřít projekt a všechny cesty bude v souladu.

Chcete-li použít v aplikaci visual studio, budete pravděpodobně muset nainstalovat "Rozšíření pro Windows WF".

První upload obsahuje jen jednu "dispečer funkci", "ToLower()". Chcete-li přidat další funkce, přidejte jej do Execute metody, jak je uvedeno:

 chráněná přepsat ActivityExecutionStatus
          Spustit(ActivityExecutionContext executionContext)
        {

            řetězec functionToDispatch;
            functionToDispatch = to.DispatchFunction.ToLower();

            spínač (functionToDispatch)
            {
                případ "tolower()":
                    {
                        to.OutResult1 = to.InParam1.ToLower();
                        přestávka;
                    }

                výchozí:
                    {
                        to.OutResult1 = "Neznámá funkce: [" + to.DispatchFunction + "].";
                        přestávka;
                    }
            }

            návrat ActivityExecutionStatus.Zavřeno;
        } // ActivityExecutionStatus

    }

Pak, znovu Sestavte projekt a zkopírujte sestavení GAC. Očekávám, že že iisreset by bylo zapotřebí.

9 myšlenky na „SharePoint Designer — Vlastní aktivity k provedení C# funkce definované uživatelem

  1. Gerry Whitworth
    Sledoval jsem jeho pokynů a vše se zdálo pracovat, dokud vyberte akci v návrháři SP. Designér nebyl vložen kód v pracovním postupu. Poslal jsem ten email a myslím, že je příliš zaneprázdněn a nemůže reagovat.
    Problém jsem vyřešil sám.
    Proběhlé akce od "SpdGenericInterface.actions" do "WSS.actions" soubor a vše fungovalo. Doufám, že to pomůže ostatním.
  2. Marco mancinelli
    To zní dobře, ale nemohu nainstalovat rozšíření =(
    můj Návrhář kon viz to, ale když na to kliknu, nic se zobrazí… Prosím, pomozte… tnx.
  3. Lambethský Bernard

    Používám tento vlastní aktivity nahradit() funkce. Farma je SharePoint 2007, s vyrovnávaným zatížením webové front endy. Dostávám občasné selhání spuštění chyby, ale obvykle restartovat pracovní postupy 5 – 15 min. Věřím, že úlohy časovače, Workflow a převzetí pracovních postupů jsou restartování pracovní postupy. Kontroloval jsem protokoly SharePoint, a konečně chytil tuto chybu.

    RunWorkflow: Microsoft.SharePoint.SPException:
    na Microsoft.SharePoint.Workflow.SPNoCodeXomlCompiler.LoadXomlAssembly(Řetězec assmNameIn, SPWeb web)
    na Microsoft.SharePoint.Workflow.SPWinOeHostServices.CreateInstance(Identifikátor GUID trackingId, SPWorkflow pracovní)
    na Microsoft.SharePoint.Workflow.SPWinOeEngine.RunWorkflow(Identifikátor GUID trackingId, SPWorkflowHostService hostitel, SPWorkflow pracovní, Kolekce ' 1 události, TimeSpan časový limit)
    na Microsoft.SharePoint.Workflow.SPWorkflowManager.RunWorkflowElev(SPWorkflow originalWorkflow, SPWorkflow pracovní, Kolekce ' 1 události, SPRunWorkflowOptions runOptions)

    Našel jsem odkaz na tuto chybu na jiném blogu, http://www.kentd.com/index.php/all-blog/218-nivlag-and-spdgenericinterface. Autor naznačil, že on používal vlastní actitivity nahradit(), a také. Viděli jste tuto chybu? Máte nějaké návrhy na to, jak ho vyřešit?

    1. Paul Galvin Post autor

      Omlouvám se jsem nikdy neodpověděl. Na místě si, je to pravděpodobně diskutabilní. Doufám, že jste schopni ji vyřešit.

Zanech odpověď

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *