Passo a passo: criar e depurar uma solução de fluxo de trabalho do SharePoint
Este passo a passo demonstra como criar um modelo de fluxo de trabalho sequencial básico. O fluxo de trabalho verifica uma propriedade de uma biblioteca de documentos compartilhada para determinar se um documento foi revisado. Se o documento tiver sido revisado, o fluxo de trabalho será concluído.
Este passo a passo ilustra as seguintes tarefas:
Criar um projeto de fluxo de trabalho sequencial de definição de lista do SharePoint no Visual Studio.
Criar atividades de fluxo de trabalho.
Liar com eventos de atividade de fluxo de trabalho.
Observação
Embora este passo a passo use um projeto de fluxo de trabalho sequencial, o processo é idêntico para um projeto de fluxo de trabalho da máquina de estado.
Além disso, o computador pode mostrar nomes ou locais diferentes para alguns dos elementos de interface do usuário do Visual Studio nas instruções a seguir. A edição do Visual Studio que você possui e as configurações que você usa determinam esses elementos. Para obter mais informações, confira Personalizar o IDE do Visual Studio.
Pré-requisitos
Você precisará dos seguintes componentes para concluir este passo a passo:
Edições do Microsoft Windows e do SharePoint com suporte.
Visual Studio.
Adicionar propriedades à biblioteca de documentos compartilhados do SharePoint
Para acompanhar o status de revisão dos documentos na biblioteca Documentos Compartilhados, criaremos três propriedades para documentos compartilhados em nosso site do SharePoint: Status
, Assignee
e Review Comments
. Definimos essas propriedades na biblioteca Documentos Compartilhados.
Para adicionar propriedades à biblioteca de documentos compartilhados do SharePoint
Abra um site do SharePoint, por exemplo, http://< nome do sistema>/SitePages/Home.aspx, em um navegador da Web.
Na barra QuickLaunch, escolha SharedDocuments.
Escolha Biblioteca na faixa de opções Ferramentas de Biblioteca e escolha o botão Criar Coluna na faixa de opções para criar uma coluna.
Dê à coluna o nome Status do Documento, defina seu tipo como Escolha (menu no qual escolher), especifique as três seguintes opções e escolha o botão OK:
Revisão necessária
Revisão concluída
Alterações solicitadas
Crie mais duas colunas e nomeie-as Destinatário e Revisar comentários. Defina o tipo de coluna Destinatário como uma só linha de texto e o tipo de coluna Revisar Comentários como várias linhas de texto.
Habilitar a edição de documentos sem precisar de um check-out
É mais fácil testar o modelo de fluxo de trabalho quando você pode editar os documentos sem precisar fazer check-out deles. No próximo procedimento, você configura o site do SharePoint para habilitar isso.
Para habilitar a edição de documentos sem fazer check-out deles
Na barra QuickLaunch, escolha o link Documentos Compartilhados.
Na faixa de opções Ferramentas de Biblioteca, escolha a guia Biblioteca e, em seguida, o botão Configurações da Biblioteca para exibir a página Configurações da Biblioteca de Documentos.
Na seção Configurações Gerais, escolha o link Configurações de Controle de Versão para exibir a página Configurações de Controle de Versão.
Verifique se a configuração para Exigir o check-out dos documentos antes que eles possam ser editados é Não. Se não for, altere-a para Não e escolha o botão OK.
Feche o navegador.
Criar um projeto de fluxo de trabalho sequencial do SharePoint
Um fluxo de trabalho sequencial é um conjunto de etapas executado em ordem até que a última atividade seja concluída. Neste procedimento, criamos um fluxo de trabalho sequencial que se aplicará à lista de Documentos Compartilhados. O assistente de fluxo de trabalho permite associar o fluxo de trabalho à definição do site ou à definição da lista e permite determinar quando o fluxo de trabalho será iniciado.
Para criar um projeto de fluxo de trabalho sequencial do SharePoint
Inicie o Visual Studio.
Na barra de menus, escolha Arquivo>Novo>Projeto para exibir a caixa de diálogo Novo Projeto.
Expanda o nó do SharePoint no Visual C# ou no Visual Basic e escolha o nó 2010.
No painel Modelos, escolha o modelo Projeto do SharePoint 2010.
Na caixa Nome, insira MySharePointWorkflow e clique no botão OK.
O Assistente de Personalização do SharePoint é exibido.
Na página Especificar o site e o nível de segurança para depuração, escolha o botão de opção Implantar como uma solução de farm e escolha o botão Concluir para aceitar o nível de confiança e o site padrão.
Esta etapa define o nível de confiança da solução como solução de farm, a única opção disponível para projetos de fluxo de trabalho. Para saber mais, confira Considerações sobre soluções em área restrita.
No Gerenciador de Soluções, escolha o nó do projeto e, na barra de menus, escolha Projeto>Adicionar Novo Item.
No Visual C# ou no Visual Basic, expanda o nó do SharePoint e, em seguida, o nó 2010.
No painel Modelos, escolha o modelo Fluxo de Trabalho Sequencial (somente Solução de Farm) e, em seguida, escolha o botão Adicionar.
O Assistente de Personalização do SharePoint é exibido.
Na página Especificar o nome do fluxo de trabalho para depuração, aceite o nome padrão (MySharePointWorkflow - Workflow1). Mantenha o valor padrão de tipo de modelo de fluxo de trabalho, Fluxo de Trabalho de Lista e escolha o botão Avançar.
Na página Deseja que o Visual Studio associe automaticamente o fluxo de trabalho em uma sessão de depuração?, escolha o botão Avançar para aceitar todas as configurações padrão.
Essa etapa associa automaticamente o fluxo de trabalho à biblioteca de Documentos Compartilhados.
Na página Especificar as condições de como o fluxo de trabalho é iniciado, deixe as opções padrão selecionadas na seção Como deseja que o fluxo de trabalho seja iniciado? e escolha o botão Concluir.
Essa página permite que você especifique quando o fluxo de trabalho é iniciado. Por padrão, o fluxo de trabalho é iniciado quando um usuário o inicia manualmente no SharePoint ou quando um item ao qual o fluxo de trabalho está associado é criado.
Criar atividades de fluxo de trabalho
Fluxos de trabalho contêm uma ou mais atividades que representam ações a serem executadas. Use o designer de fluxo de trabalho para organizar as atividades de um fluxo de trabalho. Neste procedimento, adicionaremos duas atividades ao fluxo de trabalho: HandleExternalEventActivity e OnWorkFlowItemChanged. Essas atividades monitoram o status de revisão dos documentos na lista Documentos Compartilhados
Para criar atividades de fluxo de trabalho
O fluxo de trabalho deve ser exibido no designer de fluxo de trabalho. Se isso não ocorrer, abra Workflow1.cs ou Workflow1.vb no Gerenciador de Soluções.
No designer, escolha a atividade OnWorkflowActivated1.
Na janela Propriedades, insira onWorkflowActivated ao lado da propriedade Invocado e pressione a tecla Enter.
O Editor de Código é aberto e um método de manipulador de eventos chamado onWorkflowActivated é adicionado ao arquivo de código Workflow1.
Volte para o designer de fluxo de trabalho, abra a caixa de ferramentas e expanda o nó Fluxo de Trabalho do Windows v3.0.
No nó Fluxo de Trabalho do Windows v3.0 da Caixa de Ferramentas, execute um dos seguintes conjuntos de etapas:
Abra o menu de atalho da atividade Quando e escolha Copiar. No designer do fluxo de trabalho, abra o menu de atalho da linha na atividade onWorkflowActivated1 e escolha Colar.
Arraste a atividade Quando da Caixa de Ferramentas para o designer de fluxo de trabalho e conecte-a à linha sob a atividade onWorkflowActivated1.
Escolha a atividade WhileActivity1.
Na janela Propriedades, defina a Condição como Condição de Código.
Expanda a propriedade Condição, insira isWorkflowPending ao lado da propriedade filho Condição e pressione a tecla Enter.
O Editor de Código é aberto e um método chamado isWorkflowPending é adicionado ao arquivo de código Workflow1.
Volte para o designer de fluxo de trabalho, abra a caixa de ferramentas e expanda o nó Fluxo de Trabalho do SharePoint.
No nó Fluxo de Trabalho do SharePoint da Caixa de Ferramentas, execute um dos seguintes conjuntos de etapas:
Abra o menu de atalho da atividade OnWorkflowItemChanged e escolha Copiar. No designer do fluxo de trabalho, abra o menu de atalho da linha dentro da atividade whileActivity1 e escolha Colar.
Arraste a atividade OnWorkflowItemChanged da Caixa de Ferramentas para o designer de fluxo de trabalho e conecte-a à linha dentro da atividade whileActivity1.
Escolha a atividade onWorkflowItemChanged1.
Na janela Propriedades, defina as propriedades conforme indicado na tabela a seguir.
Propriedade Valor CorrelationToken workflowToken Invocado onWorkflowItemChanged
Manipular eventos de atividade
Por fim, verifique o status do documento de cada atividade. Se o documento tiver sido revisado, o fluxo de trabalho será concluído.
Para manipular eventos de atividade
Em Workflow1.cs ou Workflow1.vb, adicione o campo a seguir à parte superior da classe
Workflow1
. Esse campo é usado em uma atividade para determinar se o fluxo de trabalho foi concluído.Adicione o método a seguir à classe
Workflow1
. Esse método verifica o valor da propriedadeDocument Status
da lista Documentos para determinar se o documento foi revisado. Se a propriedadeDocument Status
for definida comoReview Complete
, o métodocheckStatus
definirá o campoworkflowPending
como false para indicar que o fluxo de trabalho está pronto para ser concluído.Adicione o código a seguir aos métodos
onWorkflowActivated
eonWorkflowItemChanged
para chamar o métodocheckStatus
. Quando o fluxo de trabalho é iniciado, o métodoonWorkflowActivated
chama o métodocheckStatus
para determinar se o documento já foi revisado. Se ele não tiver sido revisado, o fluxo de trabalho continuará. Quando o documento é salvo, o métodoonWorkflowItemChanged
chama o métodocheckStatus
novamente para determinar se o documento foi revisado. Enquanto o campoworkflowPending
está definido como true, o fluxo de trabalho continua sendo executado.Adicione o código a seguir ao método
isWorkflowPending
para verificar o status da propriedadeworkflowPending
. Sempre que o documento é salvo, a atividade whileActivity1 chama o métodoisWorkflowPending
. Esse método examina a propriedade Result do objeto ConditionalEventArgs para determinar se a atividade WhileActivity1 deve continuar ou terminar. Se a propriedade for definida como true, a atividade continuará. Caso contrário, a atividade e o fluxo de trabalho serão concluídos.Salve o projeto.
Testar o modelo de fluxo de trabalho do SharePoint
Quando você inicia o depurador, o Visual Studio implanta o modelo de fluxo de trabalho no servidor do SharePoint e associa o fluxo de trabalho à lista Documentos Compartilhados. Para testar o fluxo de trabalho, inicie uma instância dele em um documento na lista Documentos Compartilhados.
Para testar o modelo de fluxo de trabalho do SharePoint
Em Workflow1.cs ou Workflow1.vb, defina um ponto de interrupção ao lado do método onWorkflowActivated.
Pressione a tecla F5 para compilar e executar a solução.
O site do SharePoint aparece.
No painel de navegação do SharePoint, escolha o link Documentos Compartilhados.
Na página Documentos Compartilhados, escolha o link Documentos na guia Ferramentas de Biblioteca e, em seguida, o botão Carregar Documento.
Na caixa de diálogo Carregar Documento, escolha o botão Procurar, escolha qualquer arquivo de documento, escolha o botão Abrir e, em seguida, o botão OK.
Isso carrega o documento selecionado na lista Documentos Compartilhados e inicia o fluxo de trabalho.
No Visual Studio, verifique se o depurador para no ponto de interrupção ao lado do método
onWorkflowActivated
.Escolha a tecla F5 para continuar a execução.
Você pode alterar as configurações do documento aqui, mas deixe-as com os valores padrão por enquanto escolhendo o botão Salvar.
Isso leva você de volta para a página Documentos Compartilhados do site padrão do SharePoint.
Na página Documentos Compartilhados, verifique se o valor abaixo da coluna MySharePointWorkflow – Workflow1 está definido como Em andamento. Isso indica que o fluxo de trabalho está em andamento e que o documento está aguardando revisão.
Na página Documentos Compartilhados, escolha o documento, escolha a seta exibida e o item de menu Editar Propriedades.
Defina o Status do Documento como Revisão Concluída e, em seguida, escolha o botão Salvar.
Isso leva você de volta para a página Documentos Compartilhados do site padrão do SharePoint.
Na página Documentos Compartilhados, verifique se o valor abaixo da coluna Status do Documento está definido como Revisão Concluída. Atualize a página Documentos Compartilhados e verifique se o valor abaixo da coluna MySharePointWorkflow – Workflow1 está definido como Concluído. Isso indica que o fluxo de trabalho foi concluído e que o documento foi revisado.
Próximas etapas
Saiba mais sobre como criar modelos de fluxo de trabalho nestes tópicos:
Para saber mais sobre as atividades de fluxo de trabalho do SharePoint, consulte Atividades de fluxo de trabalho do SharePoint Foundation.
Para saber mais sobre as atividades da Windows Workflow Foundation, consulte Namespace System.Workflow.Activities.