Category Archives: Fluxo de trabalho do SharePoint

Ativação prematura do fluxo de trabalho — Uma solução não-médicos

ATUALIZAÇÃO: Veja esta discussão MSDN, especialmente a última entrada: http://forums.microsoft.com/MSDN/showpost.aspx?postid=2631057&siteid=1. Ela descreve uma condição que pode tudo isto curto-circuito. Em suma, pode ser tão simple como fazer pelo menos um dos campos obrigatórios.

Eu tenho uma biblioteca de documentos que suporta oito tipos de conteúdo.

Eu tenho um fluxo de trabalho do SharePoint Designer que deseja calcular e atribuir uma data de lembrete"" simplesmente subtraindo 30 dias de outra coluna, "data de vencimento". Isso só deve acontecer por um dos tipos de conteúdo, "Seguros". O objetivo do negócio é produzir um KPI que mostra duas categorias de documentos seguros: "prestes a expirar" e "expirou." (Você pode ler mais sobre este tipo de KPI e mais substancial aprofundamento here).

Tenho configurado o fluxo de trabalho ao fogo quando um novo item é criado e quando um item é modificado. A idéia é que quando um documento seguro é carregado, podemos calcular uma data de aviso"" com base na data de vencimento. Trabalho de um par de pontos de vista em relação a uma lista de KPI para destacar estas condições quando usuários atingiu sua home page.

Esta estratégia não funciona quando fizer o upload de um documento.

Carregar o documento e eu sou presenteado com a tela de entrada de dados meta. Neste ponto, Já estou em apuros. O SharePoint tem já, prematuramente do meu ponto de vista, despedido o fluxo de trabalho. Não tive a chance de escolher o tipo de conteúdo correto nem atribuir uma data de vencimento. Ao mesmo tempo, o fluxo de trabalho não será acionado quando eu apertar o botão enviar neste momento. Há uma lógica interna que "acredita" que primeiro apresentar é parte do "criar" evento. Assim … meu trabalho foi acionado e quando executado, Ele foi passado com valores de dados de meta padrão.

O melhor trabalho que eu conheço é para inserir uma pausa"até" atividade do fluxo de trabalho. Eu tenho a pausa de fluxo de trabalho para 1 minuto. Enquanto ele está pausando, Selecionar o tipo correto de conteúdo, Insira os dados de meta e envie. A pausa é concluída e o fluxo de trabalho continua conforme necessário. (Note que no meu ambiente, atividades de fluxo de trabalho de timer de SPD não funcionam fora da caixa. Você pode ter o mesmo problema. Consulte here para obter mais detalhes).

Eu não gosto de "atraso de magia" trabalho-em torno de. O que acontece se o usuário carrega um documento e o telefone toca e a conversa que se seguiu supera a pausa? Posso fazer a pausa mais longa, mas ainda não gosto.

Escrevi sobre isso aqui nos fóruns do MSDN: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2430725&SiteID=1

Rápido e simples: Envie um e-mail com hiperlink incorporado a partir de fluxo de trabalho do SharePoint Designer

Uma ou duas vezes mês, alguém postar uma pergunta do Fórum: "Como para incluir hiperlinks URL que são clicável de um email do SharePoint Designer?"

Sem mais comentários: (bem, na verdade, há ainda uma observação após a imagem):

imagem

Becky Isserman segue-se com uma explicação útil sobre como incorporar um link a um item no email: http://www.sharepointblogs.com/mosslover/archive/2007/11/20/addition-to-paul-galvin-s-post-about-sending-an-e-mail-with-hyperlinks-in-spd.aspx

Rápido e simples: Habilitar o fluxo de trabalho do SharePoint Designer atualizar um formulário do InfoPath

Cenário: Eu tenho um formulário do InfoPath que front-ends ' um processo de fluxo de trabalho implementado usando o SharePoint Designer. Em um ponto, um gerente deve aprovar a forma. Desde então eu não posso contar sobre a história do fluxo de trabalho para atender às minhas necessidades de auditoria, Eu decidir armazenar minha própria mensagem de auditoria diretamente no próprio formulário.

Visão geral:

Crie um formulário e publicá-lo como um tipo de conteúdo e o próprio formulário em uma biblioteca de documentos. Marca desejada de campos de formulário como sendo atualizável de MOSS. O formulário está vinculado ao tipo de conteúdo e o tipo de conteúdo é "conectado" uma biblioteca de formulários (ou muitos, Se você quiser). Escrever um fluxo de trabalho que atualiza o campo.

Etapas específicas:

  1. Criar uma biblioteca de documentos. Este irá realizar seu modelo do InfoPath.
  2. Criar uma biblioteca de formulários.
  3. Criar o formulário do InfoPath. Incluem um campo de texto, "Mensagem de auditoria".
  4. Publicar o formulário como um tipo de conteúdo (NÃO um documento).
  5. Ao preencher as caixas de diálogo de publicação:
    uma) Salve o arquivo. xsn na biblioteca de documentos (etapa #1).
    b) Publicar a mensagem de auditoria"" de campo e marcar verdadeiro: "Permitir que usuários editem dados neste campo usando uma folha de dados ou propriedades de página".
    c) Criar um novo tipo de conteúdo e dê a ele um nome apropriado.
  6. Acessar a biblioteca de formulários.
    uma) Ir para suas configurações avançadas e ativar a biblioteca de formulários gerenciar tipos de conteúdo.
    b) Selecione o tipo de conteúdo recém-criado (5c acima). -Será agrupada sob "Microsoft InfoPath" (ou similar).
    c) Remover o padrão "formulário" tipo de conteúdo da biblioteca.
    d) Marcar a biblioteca para "Exibir como página da web" para que o formulário vai lançar do SharePoint e não no cliente de estação de trabalho do InfoPath.
  7. Voltar para a biblioteca de formulários apropriada e clique em "nova" simplesmente verificar se o formulário é Postado corretamente e agindo como você quer.
  8. Fire up SharePoint Designer e navegue até o site que hospeda a sua biblioteca de formulários (da etapa 2).
  9. Criar um novo fluxo de trabalho anexado à biblioteca de formulários.
  10. Adicionar uma única ação "Definir campo no Item atual". Você deve esperar o SharePoint Designer para lista seu campo de, "Mensagem de auditoria". Atribuir um valor.
  11. Clique em Concluir e voltar para a biblioteca de formulários.
  12. Criar um novo formulário e colocar algum valor de teste para a mensagem de auditoria"" campo.
  13. Salvá-lo e voltar para a biblioteca de formulários.
  14. Clique com botão direito, Selecione "fluxo de trabalho" e seu fluxo de trabalho de inicialização.
  15. Ele deve ser executado quase imediatamente. Puxe o formulário (da etapa 12) e se tudo tiver corrido para planejar, "Mensagem de auditoria" foi atribuído o valor que você forneceu na etapa 10.

Notas:

Nem todos os controles podem ser configurados para esta comunicação bi-direcional. Por exemplo, Não parece implementar um fluxo de trabalho do SPD que modifica os campos de texto empacotados dentro de seções de repetição.

Um da chave take-away aqui é que nós realmente criamos um tipo de conteúdo com um modelo associado. Isso também nos permite armazenar vários modelos de formulário do InfoPath, na biblioteca da mesma forma.

Isto requer servidor de formulários. Certamente não vai funcionar em um WSS 3.0 ambiente e provavelmente ainda requer um ambiente do SharePoint Enterprise.

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.

Ação personalizada de fluxo de trabalho do SPD – obter o <WorkflowInfo> direito de marca para evitar a frustração

Parte do processo de criação de uma ação personalizada para SharePoint Designer envolve criar um actions"" arquivo.

Eu encontrei e tentei usar um modelo de exemplo que começa como:

<?XML Versão="1.0" codificação="UTF-8" ?>
<
WorkflowInfo xmlns="http://schemas.Microsoft.com/SharePoint/">
<
Ações Seqüencial="Então" Paralelo="and">

No entanto, o atributo xmlns impede meu ambiente de trabalho. Minhas ações não aparecerem em SPD.

A solução é retirar o atributo xmlns, fazer um iisreset e fechar/re-livre SPD.

SharePoint Designer, “Coletar dados de usuário” e usando os resultados.

Use o "coleta de dados de usuário" ação para criar e atribuir uma tarefa a um usuário que solicita-los para dados. Entre outras coisas, Eu usei-o para um prompt ao usuário para aprovar ou rejeitar um pedido e digite alguns comentários.

Esta acção tem a forma de:

Coletar dados De Este usuário (Saída para Variável: Collect1)

Clicando no dados puxa-se uma série de caixas de diálogo, onde você especificar quais os dados que o usuário deve fornecer quando concluir a tarefa e Este usuário é óbvio.

A parte de saída (Variável: Collect1) salva a ID da tarefa. Você usar isto em seu fluxo de trabalho para extrair a resposta real do usuário através do "comparar qualquer fonte de dados" condição.

Essa condição mostra como

Se campo é igual a valor

Clique em campo e, em seguida, o f(x) ícone e ele puxa outra caixa de diálogo. Use esta caixa de diálogo generalizado para dizer SPD duas coisas;

1. O que é a lista e coluna cujo valor você deseja comparar.

2. Como deve o mecanismo de fluxo de trabalho localizar a linha específica nessa lista?

Para fazer isso:

  1. Alterar a fonte"" DropDown, aponte para lista de tarefas corretas. Observe que a caixa de diálogo se expande para mostrar uma "encontrar o Item da lista" seção.
  2. No menu suspenso do campo de pesquisa detalhes, Selecione o nome do campo cujo valor você deseja (mapeia para o que você chamou na caixa de diálogo de coletar dados de cima).
  3. Na "encontrar o Item de lista" seção, Selecione "tarefas:ID" no menu suspenso do campo.
  4. No campo valor, Clique no f(x). Isso abre outra caixa de diálogo.
  5. Alterar a fonte de dados de fluxo de trabalho""
  6. Selecione a variável de fluxo de trabalho que corresponde à "saída à variável" partir da ação de coleta de dados.
  7. Clique em OK/OK e pronto.

Parece que isso para mim:

imagem

Neste ponto, Agora você pode usar esse valor em seu fluxo de trabalho conforme necessário.

Notas adicionais:

Como um aparte breve, Eu sempre criar uma variável de apropriadamente chamado de fluxo de trabalho do tipo "ID do Item de lista" e usar isso em vez da gerado automaticamente "collect1".

Este "comparar qualquer fonte de dados" conjunto de caixa de diálogo é usado em vários lugares diferentes no SPD e vale a pena dominar.

= = fim

Technorati Tags: