SharePoint Designer — Atividade personalizada para executar funções user-defined c#

ATUALIZAÇÃO: Esta foi lançada para CodePlex aqui: http://www.codeplex.com/spdwfextensions

ATUALIZAÇÃO: Veja aqui para últimas notas de lançamento: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!381.entry

ATUALIZAÇÃO: Veja aqui para meus pensamentos em comercializar este projeto: http://paulgalvin.spaces.live.com/blog/cns!1CC1EDB3DAA9B8AA!569.entry

Este projeto fornece uma atividade personalizada no SharePoint Designer. Usar essa atividade personalizada para invocar (expedição) qualquer função c# que você incorporado no assembly vinculado.

De final de outubro, 2007, Esta é apenas uma versão inicial do projeto. Eu pretendo expandi-lo com um número de funções adicionais, incluindo a subseqüência, índice, substituir, chamar serviços da web e qualquer coisa que pareça útil ou interessante. Eu também pretendo postar isso para codeplex, assim que eu tiver meu ato juntos nessa frente. Este também será implantável como uma solução em algum momento.

Se você tiver quaisquer comentários, dúvidas ou sugestões, por favor, deixem nos comentários ou mandar um e-mail.

Disclaimer:

Eu não faço absolutamente nenhuma reivindicação sobre a adequação do presente para qualquer finalidade. Use a seu próprio risco.

Etapas de instalação (a ser seguido para cada WFE na fazenda):

1. Baixe o. zip e extrair.

2. Instalar o arquivo. dll no GAC. Eu costumo abrir c:\WINDOWSassembly. usando o windows explorer e copiar lá.

3. Modificar Web. config para adicionar o assembly para os controles de segurança:

<System.Workflow.ComponentModel.WorkflowCompiler>
<Informações>

<a authorizedType Assembly = "SpdGenericInterface, Versão = 1.0.0.0, Cultura = neutro, PublicKeyToken = abe076fd8125f3c4" Namespace = "Nivlag" TypeName = "*" Autorizado = "True" />

4. Cópia "SpdGenericInterface.actions" a C:\Programa de ProgramasArquivos ComunsMicrosoft Sharedweb server extensions12TEMPLATE1033Workflow

Note que a localização acima é específica para instalações de língua inglesa.

5. Feche o SharePoint Designer (Se já está aberto).

6. iisreset

7. Abra o SPD e crie um novo fluxo de trabalho.

Se tudo correr bem, Você deve ser recompensado com uma nova categoria de ação:

imagem

Notas:

Consulte here (http://blogs.msdn.com/sharepointdesigner/archive/2007/03/15/adding-activities-to-spd.aspx) para uma excelente visão geral do processo para a criação de, Instalando e configurando uma solução como essa.

O. zip é projetado para extrair diretamente a você c:\ Dirigir. Se você fizer isso, Você pode abrir o projeto e todos os caminhos serão consistentes.

Para usar este no visual studio, Você provavelmente precisará instalar "Extensões para Windows WF".

O carregamento inicial contém apenas uma "função de despachante", "ToLower()". Para adicionar mais funcionalidade, adicioná-lo para o método Execute, como mostrado:

 protegido substituir ActivityExecutionStatus
          Executar(ActivityExecutionContext executionContext)
        {

            Cadeia de caracteres functionToDispatch;
            functionToDispatch = Isso.DispatchFunction.ToLower();

            interruptor (functionToDispatch)
            {
                caso "tolower()":
                    {
                        Isso.OutResult1 = Isso.InParam1.ToLower();
                        pausa;
                    }

                padrão:
                    {
                        Isso.OutResult1 = "Função desconhecida: [" + Isso.DispatchFunction + "].";
                        pausa;
                    }
            }

            Voltar ActivityExecutionStatus.Fechado;
        } // ActivityExecutionStatus

    }

Em seguida, re-compilar o projeto e copiar o assembly no GAC. Eu esperava que um iisreset seria necessário.

9 pensamentos "SharePoint Designer — Atividade personalizada para executar funções user-defined c#

  1. Gerry Whitworth
    Eu segui suas instruções e tudo parecia funcionar até que eu escolher a ação no SP Designer. O designer não colar o código do fluxo de trabalho. Enviei esse cara um e-mail e eu acho que ele está muito ocupado para responder.
    Eu resolvi o problema eu mesmo.
    Passado as ações do "SpdGenericInterface.actions" para o WSS.actions"" arquivo e tudo funcionou. Espero que ajude os outros.
    Resposta
  2. Marco mancinelli
    Parece-me bem, Mas não consigo instalar a extensão =(
    meu Designer con vê-lo, mas quando clico nele nada aparecem… por favor me ajude… tnx.
    Resposta
  3. Mike Mongeau

    Definitivamente, parece uma boa idéia. Eu adoraria participar no uso e testes das funções. É verdade que as funções de seqüência de caracteres são limitadas em SPD, Mas o "dinâmica de cadeia de caracteres Construtor" é muito poderoso.

    <um href ="http://dataformwebpart.com">-Monjo </uma>

    Resposta
  4. Bernard Lambeth

    Eu estou usando esta atividade personalizada para substituir() função. A fazenda é SharePoint 2007, com front-ends web com balanceamento de carga. Estou ficando falha intermitente para começar erros, Mas os fluxos de trabalho reiniciar normalmente em 5 – 15 min. Acredito que os trabalhos de timer de fluxo de trabalho e fluxo de trabalho de Failover estão reiniciando os fluxos de trabalho. Revi os logs do SharePoint, e finalmente pego esse erro.

    RunWorkflow: Microsoft.SharePoint.SPException:
    em Microsoft.SharePoint.Workflow.SPNoCodeXomlCompiler.LoadXomlAssembly(AssmNameIn de seqüência de caracteres, SPWeb web)
    em Microsoft.SharePoint.Workflow.SPWinOeHostServices.CreateInstance(TrackingId GUID, SPWorkflow fluxo de trabalho)
    em Microsoft.SharePoint.Workflow.SPWinOeEngine.RunWorkflow(TrackingId GUID, SPWorkflowHostService host, SPWorkflow fluxo de trabalho, Eventos coleção 1, TimeOut TimeSpan)
    em Microsoft.SharePoint.Workflow.SPWorkflowManager.RunWorkflowElev(SPWorkflow originalWorkflow, SPWorkflow fluxo de trabalho, Eventos coleção 1, SPRunWorkflowOptions runOptions)

    Eu encontrei uma referência a este erro em outro blog, http://www.kentd.com/index.php/all-blog/218-nivlag-and-spdgenericinterface. O autor indicou que ele estava usando o actitivity personalizado substituir(), também. Você já viu esse erro? Você tem alguma sugestão sobre como resolvê-lo?

    Resposta
    1. Paul Galvin pós autor

      Desculpe eu nunca respondeu. A altura do thi, é provavelmente irrelevante. Espero que você fosse capaz de resolvê-lo.

      Resposta

Deixe uma resposta para Marco mancinelli Cancelar resposta

seu endereço de e-mail não será publicado. Campos obrigatórios são marcados *