Category Archives: Fluxo de trabalho do SharePoint

E-mail lembretes diários // Looping no fluxo de trabalho do SharePoint Designer

Eu escrevi um artigo detalhado há algumas semanas atrás descrevendo como criar um fluxo de trabalho do SharePoint Designer que envia um e-mail de lembrete de tarefas em uma base diária. Tem sido publicado para o novo Revista do SharePoint site. Mais em geral, o artigo mostra como criar uma estrutura de looping em SPD.

A revista tem uma grande variedade de artigos, incluindo, entre outras coisas, coisas muito técnicas, entrevistas e notícias do setor. Eu recomendo que você adicionar ao seu RSS feed.

Se você tem um produto ou serviço para vender, Eu consideraria também a publicidade no site. É fora de um forte início com vários mil pares de olhos já a olhar para ele. Que é certo para crescer.

Por último, Se você já se coçando para escrever algo e tirar na frente de um público maior, Este é um grande momento e lugar riscá-lo.

</fim>

Subscreva ao meu blog.

Technorati Tags:

Meu mais recente “Em defesa do SharePoint Designer” Artigo está disponível

Mark Miller sobre a Usuário final SharePoint postou meu último artigo sobre como usar o SharePoint Designer para criar soluções de fluxo de trabalho grande acima em seu site. Check-out.

Neste artigo, Eu falo sobre o processo de design e, em maior detalhe, como configurar um processo confiável e reproduzível teste usando recursos do SharePoint (listas personalizadas, modelos de site). O artigo destina-se aos usuários finais, Mas a abordagem é muito bom para desenvolvedores.

</fim>

Subscreva ao meu blog.

Registro de atividade de fluxo de trabalho no SharePoint Designer

A semana passada, Estava a trabalhar para fora como loop e implementar uma máquina de estado usando o SharePoint Designer e mencionado, como um aparte, que provavelmente escrever um post de blog sobre a melhor registro de fluxo de trabalho.

Bem, Sanjeev Rajput antes de mim. Dê uma olhada.

Salvar dados de log em uma lista personalizada parece superior para usando o histórico de fluxo de trabalho regular:

  • É só uma lista personalizada, Então você pode exportá-lo para o excel facilmente.
  • Você pode criar exibições, filtrar dinamicamente os dados, etc.
  • Não é sujeito a auto-limpeza com histórico de fluxo de trabalho regular.

Existem alguns riscos / desvantagens:

  • Muitos fluxos de trabalho executando com um monte de log podem causar muitos dados a serem gravados para a lista.
  • Talvez você * fazer * quer remoção automática. Você não entende que o recurso com essa abordagem (sem codificação).
  • Segurança é complicada. A fim de escrever para a lista, o usuário deve ter permissão para fazê-lo. Isso significa que provavelmente não é adequado para qualquer tipo de funcionário"" auditoria, desde que o usuário pode descobrir a lista e editá-lo. Isto poderia ser superado com uma programação personalizada.

</fim>

Subscreva ao meu blog.

The Trouble With Tribbles … Err .. KPIs

Esta semana passada eu terminei uma prova de projeto de conceito para um cliente em Manhattan. Durante a implementação da solução, Encontrei outra lacuna de KPIs de musgo (Veja aqui para uma edição anterior do KPI e minha solução).

Plano de fundo: Usamos o fluxo de trabalho do SharePoint Designer para modelar um processo bastante complexo negócio longo de vários meses. Como chugged ao longo, Ele iria atualizar algumas informações de estado em uma lista. Os KPIs usam estes dados para fazer seu mojo.

Decidimos criar um novo site cada vez que começa um novo destes processos de negócio. Além do próprio fluxo de trabalho, esses sites hospedam várias bibliotecas de documentos, Use o público alvo e assim por diante. Só um monte de coisas para ajudar com a colaboração entre os funcionários internos, viajar empregados e o cliente está participando de parceiros de negócios.

Nós também queríamos mostrar alguns KPIs que monitorar a saúde global desse processo de negócios específico, como preconizado pelos dados de estado do fluxo de trabalho e visualizadas usando os KPIs.

Finalmente, usamos itens de lista do KPI que fazer uma contagem em uma exibição em uma lista no site (em vez de puxar de outra fonte de dados, como o excel ou SQL).

O problema: Como você pode imaginar., Supondo que estávamos a levar a idéia básica para a frente a um mundo de produção, Queremos um modelo de site. Configurar um novo site baseado fora de um processo de negócio"" modelo.

O problema é que você não consegue obter um KPI funcionando dessa maneira. Quando eu criar um novo site baseado em um modelo com uma lista de KPI e a web part de KPI, dados KPI do novo site estão quebrados. Pontos de lista do novo site KPI em qualquer fonte que você definiu quando você primeiro salva-lo como um modelo.

A título de exemplo:

  • Criar um novo site e construí-lo à perfeição. Este site inclui os dados KPI.
  • Salve isso como um modelo.
  • Criar um novo site e se fora o modelo de base.
  • KPI lista itens deste novo site’ fontes apontam para o modelo de site, Não, o site atual.

O processo de instanciação não corrigir o URL.

Eu tentei resolver isso especificando uma URL relativa ao definir o item de lista do KPI. No entanto, Não consegui qualquer variação de que trabalhar.

Eu sempre quero um par desses problema"" blog posts com algum tipo de solução, Mas neste caso não tenho uma boa. O melhor que sei é que você precisa para entrar no site recém-configurado e consertar tudo manualmente. A interface do usuário torna isso ainda mais difícil porque mudar a URL da lista fonte faz com que uma atualização, Então você tem de redefinir tudo do zero.

Se alguém souber uma maneira melhor de lidar com isso, por favor, poste um comentário.

</fim>

"Mea culpa" — SharePoint Designer * pode * criar fluxos de trabalho de máquina de estado

Descobri recentemente que é possível e até bastante fácil de criar um fluxo de máquina de estado usando o SharePoint Designer. A necessidade é a mãe da invenção e tudo o que é bom e eu tinha uma necessidade desta semana que olhou para uma invenção. Por coincidência, Me deparei com Este post no fórum MSDN também. Minha experiência pessoal, esta semana e essa confirmação independente"" empresta a força para minha condenação. Eu pretendo escrever sobre isso no maior comprimento com um exemplo completo soprado, Mas aqui está o essencial:

  • A abordagem utiliza o fato de que um fluxo de trabalho pode alterar um item da lista, disparando um novo fluxo de trabalho. Normalmente eu considerei isto para ser um incômodo e até mesmo blogou sobre o uso de semáforos para lidar com isso.
  • SharePoint permite vários fluxos de trabalho independentes ser ativo contra um item de lista específica.

Para configurá-lo:

  • Projetar sua máquina de estado (ou seja, os Estados-Membros e como Estados de transição de um para o outro).
  • Implementar cada Estado como separado de fluxo de trabalho.
  • Configurar cada um destes fluxos de trabalho do estado para executar em resposta a qualquer mudança no item de lista.

Cada fluxo de trabalho do estado segue este padrão áspero:

  • Após a inicialização, determinar se ele deve realmente ser executado inspecionando as informações de estado no item"atual". Abortar se não.
  • Fazer o trabalho.
  • Atualizar o item atual"" com informações de estado de novo. Isto provoca uma atualização para o item atual e dispara todos os fluxos de trabalho estado.

Além do benefício óbvio que cria um fluxo de máquina de estado declarativa, Tudo o que o informações do estado são ótima para construção de KPIs e interessante views.

Ele tem uma desvantagem substancial — rastreamento do histórico de fluxo de trabalho padrão é ainda mais inútil do que o normal 🙂 que é facilmente remediado, no entanto. Armazenar todas as informações de tipo de auditoria em uma lista personalizada. Isso provavelmente é uma boa idéia mesmo para fluxo de trabalho seqüencial baunilha, mas isso é para outro post 🙂

Chamo a isto um "mea culpa" Porque eu tenho, Infelizmente, disse mais de uma vez em fóruns e em outros lugares que se deve usar visual studio para criar um fluxo de trabalho de máquina de estado. Isso simplesmente não é verdade.

</fim>

Subscreva ao meu blog.

Technorati Tags:

Semáforos de uso no fluxo de trabalho do SharePoint Designer para evitar Loops intermináveis

É possível causar um loop infinito em um fluxo de trabalho do SharePoint Designer. Um padrão comum de implementação como este faz com que o problema:

  • Criar um fluxo de trabalho e associar uma lista de.
  • Indicar que ele deve iniciar em criar novos itens e atualização de itens existentes.
  • Uma etapa no fluxo de trabalho atualiza um campo "Current Item".
  • Uma vez que o atual item alterado, o fluxo de trabalho for iniciado novamente.

Para evitar esse loop infinito, implementar um semáforo simple:

  • Adicionar uma coluna de site (ou coluna à lista/biblioteca se você não estiver usando tipos de conteúdo).
  • Ocultá-lo na página Editar (fácil de fazer se uma coluna de site por meio de suas propriedades, não é tão fácil se uma coluna de lista).
  • No fluxo de trabalho, Verifique se o valor da coluna de semáforo está em branco.
  • Se estiver em branco, Defina-o como um valor diferente de em branco e continuar.
  • Se não é está em branco, sair imediatamente.

Isto pode tornar-se uma solução bastante diferenciada, Dependendo de requisitos de negócios e assim por diante, mas tem sido um padrão viável quando você precisava.

</fim>

Subscreva ao meu blog.

Passo a passo: Bug de cancelar o registro de correção empregado formação modelo lugares disponíveis

Como muitas pessoas sabem, o modelo de formação de empregado fornecido pela Microsoft aqui tem um bug que pode reproduzir seguindo estes passos:

  • Criar uma classe com um tamanho máximo de 10 alunos.
  • Registre-se –> Total disponível assentos corretamente diminui por um. Resultado: 9 lugares disponíveis.
  • Cancelar o registro: –> Bug. Lugares disponíveis totais devem incrementar por um. Isso não acontece. Resultado: 9 número de lugares disponíveis, de acordo com o SharePoint, mas na verdade, há 10 lugares disponíveis.

Solução: Usar o SharePoint Designer para corrigir o fluxo de trabalho.

Primeira, Abra o site. A lista de pastas para mim se parece com isso:

imagem

Se tivermos um olhar sobre a "inscrição de participante" fluxo de trabalho, vemos que há um passo rotulado "Impor a política de assento". Parece que isso:

imagem

Nesta etapa do fluxo de trabalho atualiza o item por incrementar "preenchido assentos" coluna de metadados sobre o curso. Se pararmos isso mais detalhadamente, vemos isso:

imagem

É que todas as informações que precisamos corrigir o fluxo de trabalho de cancelamento de registro.

Se vamos virar para o fluxo de trabalho de cancelamento de registro, Não há nenhuma etapa de fluxo de trabalho semelhantes. Adicioná-lo como segue:

1: Expanda "de cancelamento de inscrição de participante" e abrir o XOML (Veja tela primeira se você está perdido).

2: Adicionar uma nova variável de fluxo de trabalho, "Novos lugares cheios" do tipo "Número".

3: Atribuir um valor para "novos lugares de cheia" como mostrado:

imagem

4: Diminuir os lugares preenchidos por 1:

imagem

5: Atualização do item relacionado do curso:

imagem

6: Certifique-se de que todos os passos estão na seqüência correta. Para mim, Ele se parece com isso:

imagem

7: Terminar o fluxo de trabalho para re-construi-lo.

8: Teste.

</fim>

Subscreva ao meu blog.

Technorati Tags: ,

No sentido de padrões de Design técnico de SharePoint: Fluxo de trabalho do SharePoint Designer + Receptor de eventos = coquetel de alta potência

Um dos padrões emergentes de que encontrar na elaboração de soluções do SharePoint utiliza o fluxo de trabalho do SharePoint Designer e um receptor de eventos.

Aqui está um cenário de negócios para colocá-lo no contexto:

  • Enviar um documento para uma lib doc.
  • Eu chutar fora várias etapa de fluxo de trabalho criado usando o SharePoint Designer.
  • Em algum momento durante o processo de, fluxo de trabalho atribui uma tarefa a alguém (através de coletar dados de usuário ou atribuir uma tarefa).
  • Queremos usar um KPI para controlar quanto tempo essa tarefa está aguardando conclusão. O KPI mostra verde para tarefas que são concluídas ou devida mais de 3 daqui a dias. Ele mostra amarelo se a tarefa é pra amanhã ou hoje. Ele mostra vermelho se a tarefa é vencida.
  • Aqui está o kicker: Eu quero a data que impulsiona o KPI para estar ciente de férias.

Não posso imaginar um devido reconhecimento de férias muito facilmente a data no fluxo de trabalho do SharePoint Designer. Eu teria que criar uma ação personalizada ou usar uma ferramenta de festa 3. No entanto, é fácil de calcular uma data em um receptor de eventos. Mesclar os dois juntos e obtemos um padrão como este:

  • Definir um oculto Sim/nenhuma coluna de site na biblioteca de documento rotulada "DoCalcualteDueDate".
  • Inicializá-lo para false.
  • No momento apropriado do fluxo de trabalho (EG. pouco antes os "coletar dados" ação), atribuir esse valor como True.
  • Um ItemUpdate() receptor de eventos procura para ver se "DoCalculateDueDate" é verdade. Desde que o receptor de evento é executado em cada atualização, "DoCalculateDueDate" é normalmente false.
  • Quando o fluxo de trabalho atribui DoCalculateDueDate para true, o receptor de evento calcula o devido reconhecimento de férias data.
  • Quando o receptor de evento é que este cálculo, Ele define o sinalizador DoCalculateDueDate para false.

No final, Fluxo de trabalho do SPD é comunicado com um receptor de eventos através do sinal de DoCalculateDueDate e temos reconhecimento de férias devido as datas que são atribuídas no momento exatamente correto na vida do fluxo de trabalho. Controles de SharePoint Designer quando é atribuída a data de vencimento, mas o receptor de evento executa o cálculo real e atribuição.

</fim>

Subscreva ao meu blog.

Comportamento observado: Fluxos de trabalho SPD se movendo dentro de um conjunto de sites

ATUALIZAÇÃO: Estive pesquisando como a incorporação de um fluxo de trabalho do SPD em uma definição de site. Esta cadeia de fórum MSDN tem algumas informações interessantes. Não é conclusivo, mas aponta para o caminho através da selva.

Eu estou dando este post um pouco excêntrico comportamento observado"" chumbo, desde que eu estou um pouco desconfiado de tirar conclusões a partir dele. Fluxos de trabalho do SPD são … temperamental.

As pessoas muitas vezes perguntam / querendo saber / se preocupar com movendo os fluxos de trabalho do SPD de um lugar para outro. Hoje, Segui estes passos e fez estas observações:

  • Eu criei um fluxo de trabalho usando o SharePoint Designer em um site ligado a uma biblioteca de documentos.
  • A biblioteca de documentos associada já abrigou diversos documentos.
  • Guardei o site como um modelo.
  • Quando eu salvo o site como um modelo, Salvei o conteúdo, bem como.
  • Eu criei um novo site na mesma coleção site usando esse modelo.

Neste ponto, Eu tentei executar o fluxo de trabalho. Ele prontamente se finalizado com a mensagem de log, "Falha ao iniciar".

Eu esperava por isso. Eu tenho poucas expectativas quando se trata de fluxos de trabalho do SPD se movendo.

Eu continuei:

  • Inaugurado o site no SharePoint Designer.
  • Tinha uma espiada no fluxo de trabalho. Pareceu-me bem.
  • Cliquei em "Concluir".
  • Eu corri o fluxo de trabalho.

Desta vez, funcionou muito bem.

Vou acrescentar que este fluxo de trabalho usado a "coleta de dados de usuário" ação que é uma ação relativamente complexa sob o capô.

Concluo, provisoriamente, que o processo de "acabamento" o fluxo de trabalho causou SPD associar o fluxo de trabalho do SPD corretamente a nova biblioteca de documentos. Também concluir que o XOML e outros artefatos XML são razoavelmente "soltos". Eles não são super rigidamente acoplados na biblioteca de documentos.

O que isso significa? Supondo que é um processo confiável e reprodutível, Há pelo menos um método áspero que podemos usar para movê-los. Não sei se isso iria funcionar se cruzamos fronteiras de coleção do site ou até mesmo mais drasticamente, fazendas novas inteiras (EG. dev para estágio para prod).

Se você está lendo isso e inclinado, por favor, postar um comentário ou correio eletrónico a mim sua história de migração SharePoint Designer. Eu alegremente vou atualizar esta postagem com opiniões assim oferecidos.

</fim>

Subscreva ao meu blog.

Rápido e simples: Campo de atualização somente para fluxo de trabalho

Geralmente é útil armazenar informações de status em uma lista personalizada como um código de aprovação que nunca deve ser diretamente manipulado pelos usuários finais. Este é um cenário comum de negócios. Eu tenho trabalhado em um projeto deste ano que gera várias datas de status e lembrete via fluxos de trabalho do SharePoint Designer que então dirigir KPIs e geralmente suportam processos de negócios críticos-tempo.

Use um tipo de conteúdo de site / coluna para conseguir esse efeito.

Criar um tipo de conteúdo do site com a coluna de status conforme mostrado:

imagem

Observe o Status" (para Demo)" campo na parte inferior.

Próximo, Clique no nome da coluna para acessar as propriedades da coluna. Selecione "escondido (Não aparecerá em formas)" na seção Configurações de coluna, como mostrado:

imagem

Isto remove o campo de formulários padrão Editar/atualizar. No entanto, está ainda disponível nos modos de exibição, KPIs, o modelo de objeto e em nenhum outro lugar você quer usá-lo, incluindo o fluxo de trabalho do SPD.

</fim>

Subscreva ao meu blog.