Compartilhar via


Desenvolvimento do SharePoint

Crie soluções de fluxo de trabalho para o SharePoint Online

Chris Mayo

Baixar o código de exemplo

Muitas organizações adotaram o SharePoint para facilitar a colaboração entre seus profissionais de informação. Essas organizações frequentemente usam o SharePoint para armazenar informações em listas e bibliotecas de documentos, para dar suporte a processos manuais de negócios. Enquanto o armazenamento dessas informações no SharePoint torna a colaboração em torno daquela informação muito mais eficaz, pode-se conseguir um aumento significativo na produtividade do profissional de informação automatizando-se os processos de negócios no SharePoint sob a forma de fluxos de trabalho do SharePoint. 

Com o lançamento do Office 365, o SharePoint Online oferece às organizações muitos dos mesmos benefícios de colaboração que o SharePoint, fornecendo também as vantagens de um Software como Serviço baseado em nuvem. O SharePoint Online dá suporte ao fluxo de trabalho através de fluxos de trabalho criados no SharePoint Designer 2010 e implantados através de soluções de área restrita. Se as ações internas de fluxo de trabalho não derem suporte aos requisitos da solução de fluxo de trabalho, será possível criar ações personalizadas de fluxo de trabalho usando o Visual Studio 2010 e implantá-las no SharePoint Online por meio de soluções de área restrita.

Neste artigo, fornecerei uma visão geral de suporte a fluxo de trabalho no SharePoint Online, criarei um fluxo de trabalho declarativo usando o SharePoint Designer 2010, aprimorarei esse fluxo de trabalho por meio de uma ação personalizada e o implantarei para ser executado em nuvem como uma solução de área restrita do SharePoint Online.

Para obter informações sobre como o desenvolvimento com o SharePoint Online é semelhante e, ao mesmo tempo, diferente do desenvolvimento com o SharePoint 2010, consulte meu artigo “Colaboração baseada na nuvem com o SharePoint Online”, publicado na edição de março de 2011 da MSDN Magazine (bit.ly/spodevmsdn). E para obter mais detalhes sobre o SharePoint Online e o Office 365, inclusive sobre como se cadastrar para uma conta de avaliação, acesse office365.com.  

Visão geral do desenvolvimento com o SharePoint Online

O SharePoint Online permite desenvolver soluções de colaboração usando as mesmas habilidades e ferramentas utilizadas para desenvolvimento no SharePoint 2010, incluindo Visual Studio 2010, SharePoint Designer 2010, C# ou Visual Basic e APIs e SDKs do SharePoint. Embora exista uma série de semelhanças entre o desenvolvimento de soluções para o SharePoint 2010 e para o SharePoint Online, há diferenças que afetarão quais soluções podem ser criadas e como.

O SharePoint Online dá suporte somente a soluções de área restrita, o que significa ser impossível implementar fluxos de trabalho baseados em código, inclusive soluções criadas com itens de projeto de fluxo de trabalho sequencial e de fluxo de trabalho de máquina de estado. Entretanto, fluxos de trabalho criados com o SharePoint Designer 2010 têm suporte, pois esses fluxos de trabalho são declarativos em vez de baseados em código e podem ser implantados tanto diretamente no SharePoint Online quanto pela Galeria de Soluções, usando arquivos de pacote. Além disso, você pode ampliar esses fluxos de trabalho declarativos através de soluções de área restrita criadas com Visual Studio 2010 para fornecer ações personalizadas de fluxo de trabalho que ofereçam suporte a cenários aos quais o SharePoint Designer 2010 não dá suporte direto.

Este artigo elabora os conceitos e a solução abordados no artigo anterior. Recomendo a leitura daquele artigo, seguindo as orientações fornecidas para configuração de seu ambiente de desenvolvimento do SharePoint Online e criando exemplos de soluções de compras, para que se possa ter uma boa compreensão dos conceitos de desenvolvimento para o SharePoint Online. Para ilustrar o suporte a fluxo de trabalho no SharePoint Online, este artigo ampliará a solução de compra para incluir uma solução de fluxo de trabalho.

Visão geral do SharePoint Designer 2010

O SharePoint Designer 2010 permite que usuários avançados e desenvolvedores personalizem o SharePoint 2010 sem código. O SharePoint Designer 2010 também dá suporte ao SharePoint Online, sendo que as únicas diferenças estão nos recursos do SharePoint 2010 e do SharePoint Online, como o suporte ao BCS e às listas externas. O SharePoint Designer 2010 é uma excelente ferramenta para navegar e gerenciar artefatos no SharePoint, trabalhar com dados e para personalizar a aparência de seus sites do SharePoint. Ele também permite criar fluxos de trabalho personalizados que podem ser implantados como parte de uma solução geral de colaboração. Saiba mais sobre os recursos do SharePoint Designer 2010 assistindo ao vídeo “Apresentando o SharePoint Designer 2010 para o SharePoint Online” (bit.ly/spdspointro). O download do SharePoint Designer 2010 é gratuito e dá suporte tanto à versão de 32 bits (bit.ly/spd201032) quanto à de 64 bits (bit.ly/spd201064).

A solução de compras

Nos exemplos citados neste artigo, enriquecerei o processo de compras da fictícia Contoso Corp., apresentado no artigo anterior, acrescentando um fluxo de trabalho do SharePoint para automatizar a aprovação de solicitações de compra. Sempre que uma solicitação de compra exigir aprovação, o usuário dará início ao fluxo de trabalho e fornecerá uma justificativa comercial para a compra. O fluxo de trabalho dará início a um processo de aprovação e criará uma tarefa para o grupo de aprovadores, com detalhes sobre a compra. Após a aprovação ou rejeição, um email será enviado ao usuário solicitante, com o resultado da solicitação. O fluxo de trabalho examinará então o tipo de solicitação e, no caso de uma solicitação de viagem aprovada (como para participação em uma conferência técnica), criará um subsite para que o usuário preencha um relatório de viagem e carregue slides. Para esse fim, acrescentarei um campo RequestType às solicitações de compras não padrão. 

Atualizei o projeto PurchaseMgr do artigo anterior para incluir esse campo RequestType. Se você acompanhou aquele artigo, poderá remover o pacote anterior e implantar aquele fornecido com este artigo ou adicionar um campo RequestType necessário com as opções Viagem, Equipamento e Solicitação de Serviço à lista de solicitações de compra não padrão. Vou começar com o código deste artigo (bit.ly/spoworkmsdncode) e extraí-lo para o diretório Documents\Visual Studio 2010\Projects\SPOMSDN_Workflow em meu computador local. Em seguida, implantarei o PurchasingMgr.wsp na Galeria de Soluções do conjunto de sites em meu ambiente de desenvolvimento local do SharePoint 2010 (no meu caso, http://o365dpe.contoso.com/sites/spomsdnmag) e ativarei o recurso Gerente de Compras – Tipos de Conteúdo e Listas em meu site de compras (http://o365dpe.contoso.com/sites/spomsdnmag/purchasing). 

Criando o fluxo de trabalho

Para começar a desenvolver meu fluxo de trabalho, abro o site de compras em meu ambiente de desenvolvimento local do SharePoint 2010 abrindo o SharePoint Designer 2010, selecionando Arquivo | Sites | Abrir Site e inserindo a URL do meu site (http://o365dpe.contoso.com/sites/spomsdnmag/purchasing). No Painel de Navegação, seleciono Fluxos de Trabalho para exibir o fluxo de trabalho atualmente publicado e a faixa de opções Fluxos de Trabalho, como mostra a Figura 1.

Workflows in SharePoint Designer 2010
(clique para ampliar)

Figura 1 Fluxos de trabalho no SharePoint Designer 2010

O SharePoint Online suporta fluxos de trabalho de lista que atuam em uma lista específica, fluxos de trabalho de site que funcionam em um site específico e fluxos de trabalho reutilizáveis que podem ser anexados, no futuro, a uma lista ou a um tipo específico de conteúdo. Quero ser capaz de distribuir meu fluxo de trabalho como parte de uma solução geral, então, vou criar um fluxo de trabalho reutilizável, que é o único tipo de fluxo de trabalho que dá suporte à distribuição.

Ao criar um fluxo de trabalho no SharePoint Designer, tenho várias opções. Eu posso criar meu fluxo de trabalho baseado em um dos fluxos de trabalho incorporados (inclusive Aprovação, Coletar Comentários ou Coletar Assinaturas) usando o botão Copiar e Modificar, importar um diagrama do Visio 2010 baseado no modelo de fluxo de trabalho do Microsoft SharePoint usando o botão Importar do Visio ou criar o fluxo de trabalho do zero usando o grupo Novo da guia Fluxos de Trabalho da faixa de opções. Vou criar meu fluxo de trabalho do zero clicando no botão Fluxo de Trabalho Reutilizável no grupo Novo da faixa de opções. Na caixa de diálogo Criar Fluxo de Trabalho Reutilizável, identificarei o fluxo de trabalho Solicitação de Compras Não Padrão e selecionar o tipo de conteúdo Gerente de Compras – Solicitação de Compras Não Padrão, de modo que o fluxo de trabalho fique vinculado ao meu tipo de conteúdo, como mostrado na Figura 2.

Reusable Workflow Bound to the Content Type
(clique para ampliar)

Figura 2 Fluxo de trabalho reutilizável vinculado ao tipo de conteúdo

Em seguida, vou até a página de configuração do fluxo de trabalho de aprovação de solicitação de compra não padrão clicando em Definições de Fluxo de Trabalho no grupo Gerenciar da guia Fluxos de Trabalho.

No grupo Configurações, vou marcar “Mostrar Visualização do Fluxo de Trabalho na Página de Status” para oferecer aos meus usuários uma visualização em tempo real do status de cada instância do fluxo de trabalho. Usarei o grupo Opções de Inicialização para fazer com que este fluxo de trabalho seja ativado manualmente, desmarcando a caixa de seleção “Desabilitar a Opção de Inicialização Manual” e marcando a caixa de seleção “Desabilitar Inicialização Automática para a Opção Criação/Alteração de Item”. Você pode criar um fluxo de trabalho acionado pelo computador agindo de maneira inversa.

Em várias situações, a informação necessária para se completar o fluxo de trabalho não se encontra armazenada na lista ou na biblioteca. É possível coletar e armazenar essa informação em variáveis e colunas específicas ao fluxo de trabalho. Isso pode ser feito com o grupo de variáveis na faixa de opções de fluxos de trabalho, conforme descrito na Figura 3.

Figura 3 Variáveis de fluxo de trabalho

Tipo de variável Descrição
Parâmetro de formulário de inicialização Um parâmetro que armazena dados coletados do usuário quando o fluxo de trabalho é inicializado ou associado a uma lista.
Variáveis locais Variáveis privadas usadas para armazenar dados utilizados no processamento do fluxo de trabalho.
Colunas de associação Colunas que são acrescentadas à lista quando o fluxo de trabalho é associado à lista para garantir um conjunto básico de colunas para fluxos de trabalho reutilizáveis.

Nesta instância, quero coletar a justificativa comercial para a compra quando o fluxo de trabalho é iniciado, de modo a poder fornecer essa informação aos aprovadores para auxiliá-los em sua decisão. Para isso, vou clicar em Variáveis | Parâmetros de Formulário de Inicialização | Adicionar… e criar um parâmetro de lógica comercial na caixa de diálogo Adicionar Campo e, em seguida, clicar em Avançar e Concluir.

Implementando o fluxo de trabalho no SharePoint Designer

A essa altura, estou pronto para iniciar a implementação do fluxo de trabalho, de modo que vou selecionar o botão Editor do fluxo de trabalho em Editar Grupo na guia Configurações de Fluxo de Trabalho. Estou agora no designer de fluxo de trabalho do SharePoint Designer 2010, onde posso implementar meu fluxo de trabalho usando as opções Condição, Ação e Etapa no grupo Inserir da faixa de opções Fluxo de Trabalho (consulte a Figura 4).

Workflow Designer—Insert Section
(clique para ampliar)

Figura 4 Designer de Fluxo de Trabalho — Inserir Seção

Etapas são usadas para organizar as condições e ações em um fluxo de trabalho e para controlar a maneira como essas condições e ações são executadas, como descreve a Figura 5.

Figura 5 Tipos de etapas

Tipo de etapa Descrição
Etapa Etapas são usadas para organizar condições e ações em um fluxo de trabalho. Todas as condições e ações devem ser concluídas antes que a execução avance para a próxima etapa. Elas podem ser aninhadas.
Etapa de representação Fluxos de trabalho são executados sob as permissões do usuário que os inicializa, tanto manual quanto automaticamente. As etapas em Etapa de Representação são executadas como se fossem o autor do fluxo de trabalho. A etapa de representação só pode ser adicionada como a primeira etapa em um fluxo de trabalho. Etapas podem ser aninhadas dentro da etapa de representação.
Bloco paralelo Quando etapas são adicionadas a um bloco paralelo, elas são executadas em paralelo em vez de sequencialmente.

 Por exemplo, na Figura 6, a etapa 2 será executada com as permissões do autor do fluxo de trabalho, enquanto a etapa 1 será executada como sendo o usuário que inicializou o fluxo de trabalho (manual ou automaticamente). As etapas 5 e 6 serão executadas em paralelo, enquanto as etapas 3 e 4 serão executadas sequencialmente.

Steps—Effect on Workflow Execution

Figura 6 Etapas — Efeito sobre a execução do fluxo de trabalho

Em meu fluxo de trabalho, haverá somente uma etapa. Para documentar o que as condições e ações fazem na etapa, substituo o título clicando em “Etapa 1” e inserindo “Solicitar aprovação de compra”. Em seguida, clico dentro da etapa de modo que o cursor esteja onde eu precise começar a adicionar ações e condições.

Ações funcionam em um fluxo de trabalho e podem incluir o início de um processo de aprovação, a modificação de um item de lista, o envio de um email e muito mais. Para obter uma lista completa das ações suportadas, consulte a referência do SharePoint Designer 2010 (bit.ly/spd2010act) Neste cenário, eu quero iniciar um processo de aprovação para a solicitação de compra, de modo que vou selecionar a lista suspensa Ação da seção Inserir da faixa de opções e selecionar Iniciar Processo de Aprovação. Isso adiciona uma frase ao designer contendo hiperlinks, o que me permite completar a ação selecionando cada link e fornecendo mais informações, como mostrado na Figura 7.

Adding the Start Approval Process Action

Figura 7 Adicionando a ação Iniciar Processo de Aprovação

Clicar no link Aprovação me permite personalizar a tarefa de aprovação, inclusive alterar tanto a maneira como a tarefa é processada quanto seus resultados. Posso retornar ao editor clicando no botão Voltar. Vou clicar no link “estes usuários” para personalizar a tarefa e especificar os participantes do processo de aprovação. Na caixa de diálogo Selecionar Participantes do Processo da Tarefa, selecionarei o grupo Aprovadores como sendo os participantes e definirei o título da tarefa, como mostrado na Figura 8. Para as instruções, eu desejo fornecer detalhes sobre o item e a lógica comercial, para ajudar o aprovador na sua tomada de decisão. Por exemplo, para incluir o título de lista de item, clico no botão de pesquisa Adicionar ou Alterar, seleciono Item Atual como fonte de dados e Título como o campo da fonte.

Customizing the Approval Task

Figura 8 Personalizando a tarefa de aprovação

A tarefa final será semelhante à exibida na Figura 9.

Customized Approval Task

Figura 9 Tarefa de aprovação personalizada

A essa altura da execução do fluxo de trabalho, este fará uma pausa até que a tarefa seja aprovada ou rejeitada ou, caso uma data de vencimento seja fornecida, expirada. Para controlar o fluxo, usarei condições.

As condições controlam a lógica do fluxo de trabalho com base nos valores das variáveis ou dos campos do fluxo de trabalho. Por exemplo, se o item for aprovado, eu quero enviar um email ao solicitante e criar um site se a solicitação for do tipo viagem. Se o item for rejeitado, eu quero enviar um email e excluí-lo. Para tanto, vou colocar o cursor sob o processo de aprovação, clicar na lista suspensa Condição e selecionar “Se qualquer valor for igual a qualquer valor”. Vou clicar no hiperlink “valor” e clicar no botão exibido para mostrar a caixa de diálogo Definir Pesquisa de Fluxo de Trabalho. Como fonte de dados, selecionarei Variáveis e Parâmetros do Fluxo de Trabalho, e como campo da fonte seleciono Variável: IsItemApproved. Essa variável será adicionada ao fluxo de trabalho quando uma tarefa para iniciar processo de aprovação for adicionada.

Em seguida, vou selecionar o link Igual a e selecionar Igual a na lista suspensa exibida. Em seguida, selecionarei o link Valor e Sim na lista suspensa. Colocarei um bloco Elsif sob essa condição, de modo a poder tomar uma ação quando o item for rejeitado. Adicionarei as ações Enviar e Email a cada ramificação e usarei o construtor de cadeia de caracteres para definir o título do email, como mostrado na Figura 10.

Approval E-mail

Figura 10 Email de aprovação

Em seguida, adicionarei uma condição “Se o campo do item atual for igual a valor” sob a condição If e vou baseá-la no campo RequestType de modo a poder criar um novo subsite quando a solicitação for uma solicitação de viagem. O designer agora tem a aparência da Figura 11.

The Conditional Flow of the Workflow

Figura 11 O fluxo condicional do fluxo de trabalho

Para criar o site para solicitações de viagem, precisarei criar uma ação personalizada de fluxo de trabalho, porque essa ação não está incorporada ao SharePoint Designer 2010. Para isso, vou salvar meu fluxo de trabalho, fechar o SharePoint Designer 2010 e abrir o Visual Studio 2010.

Criando uma ação personalizada de fluxo de trabalho no Visual Studio 2010.

Pode-se adicionar ações personalizadas de fluxo de trabalho ao SharePoint Designer 2010 usando o Visual Studio 2010 e soluções de área restrita. Essas ações podem realizar qualquer tarefa possível de ser executada em uma solução de área restrita, o que oferece muita flexibilidade aos fluxos de trabalho do SharePoint Online.

No Visual Studio 2010, seleciono Arquivo | Novo Projeto e, na caixa de diálogo Novo Projeto, Modelos do SharePoint 2010 e o Modelo Vazio do SharePoint. Vou inserir PurchasingMgrActions como Nome e Documentos\Visual Studio 2010\Projetos\SPOMSDN_Workflow\ como o Local e clicar em OK. No Assistente para Personalização do SharePoint, vou inserir meu site local de desenvolvimento (http://o365dpe.contoso.com/sites/spomsdnmag/purchasing) como o site local e selecionar “Implantar como solução de área restrita” e clicar em Concluir.

No Solution Explorer, clico com o botão direito no projeto PurchasingMgrActions, seleciono Adicionar | Classe... e, em seguida, nomeio a classe CreateSiteAction e clico em OK. A classe CreateSiteAction fornece o método que o fluxo de trabalho chamará para criar o novo site. Adiciono as instruções Using necessárias e implemento o método CreateSite, como definido na Figura 12.

Figura 12 Implementando o método CreateSite

using System;

using System.Collections;



using Microsoft.SharePoint;

using Microsoft.SharePoint.UserCode;



namespace SPDCustomWorkflowActions

{

  public class CreateSiteActivity

  {

    public Hashtable CreateSite(SPUserCodeWorkflowContext context, string siteName)

    {

      Hashtable results = new Hashtable();

      try

      {

        using (SPSite site = new SPSite(context.CurrentWebUrl))

        {

          using (SPWeb web = site.OpenWeb())

          {

            web.Webs.Add(

              siteName,

              "Trip Report: " + siteName,

              string.Empty,

              1033,

              "STS",

              false,

              false);

          }

        }

                

        results["success"] = true;

        results["exception"] = string.Empty;

      }

      catch (Exception e)

      {

        results = new Hashtable();

        results["exception"] = e.ToString();

        results["success"] = false;

      }



      return results;

    }

  }

}

O método CreateSite segue a assinatura do método para ações personalizadas, passando por SPUserCodeWorkflowContext para fornecer acesso ao contexto sob o qual o fluxo de trabalho está sendo executado e quaisquer outros parâmetros necessários (neste caso, o nome do site a ser criado). O método consegue acesso ao conjunto de sites (SPSite) e ao site (SPWeb) por meio do contexto e cria o novo site por meio do método SPWeb.Webs.Add. Os resultados são retornados por meio da variável Results Hashtable.

Para que CreateSiteAction seja adicionada à lista suspensa Ações, preciso implantar um arquivo Elements.xml com meu recurso para descrever a ação para o SharePoint Designer 2010. Adiciono esse arquivo ao projeto selecionando o projeto PurchasingMgrActions em Gerenciador de Soluções, clicando com o botão direito e selecionando Adicionar | Novo Item... e, em seguida, selecionando SharePoint 2010 sob Modelos Instalados e selecionando o modelo Elemento Vazio. Denomino o item CreateSiteActionDefinition e clico em OK. Essa definição é realizada implementando-se um elemento Action nos elementos WorkflowActions, como mostrado na Figura 13.

Figura 13 Definindo a ação Criar Site por meio de Elements.xml

<?xml version="1.0" encoding="utf-8"?>

<Elements xmlns="https://schemas.microsoft.com/sharepoint/">

  <WorkflowActions>

    <Action Name="Create Site"

                      SandboxedFunction="true"

                      Assembly="$SharePoint.Project.AssemblyFullName$"

                      ClassName="PurchasingMgrActions.CreateSiteAction"

                      FunctionName="CreateSite"

                      AppliesTo="all"

                      UsesCurrentItem="true"

                      Category="Purchasing Manager Workflow Actions">

      <RuleDesigner Sentence="Create Site with name %1 (exceptions logged to %2)">

        <FieldBind Field="siteName" Text="Site Name" Id="1" DesignerType="TextBox" />

        <FieldBind Field="exception" Text="Exception" Id="2" 

          DesignerType="ParameterNames" />

      </RuleDesigner>

      <Parameters>

        <Parameter Name="__Context"

                      Type="Microsoft.SharePoint.WorkflowActions.WorkflowContext,

                        Microsoft.SharePoint.WorkflowActions"

                      Direction="In"

                      DesignerType="Hide" />

        <Parameter Name="siteName"

                      Type="System.String, mscorlib"

                      Direction="In"

                      DesignerType="TextBox"

                      Description="Name of the site to create" />

        <Parameter Name="exception"

                      Type="System.String, mscorlib"

                      Direction="Out"

                      DesignerType="ParameterNames"

                      Description="Exception encountered"/>

      </Parameters>

    </Action>

  </WorkflowActions>

</Elements>

O elemento Action e seus atributos descrevem o assembly, a classe e o método que serão chamados quando a ação for executada no fluxo de trabalho. Nesse caso, ele chamará o método CreateSiteAction.CreateSite. O elemento RuleDesigner e seus elementos FieldBind definem a frase que será exibida no designer do fluxo de trabalho e o nome e tipo dos campos mostrados no hiperlink daquela frase. O elemento Parameters e seus subelementos Parameter definem como os elementos RuleDesigner\FieldBind são passados para dentro ou fora da chamada para CreateSiteAction.CreateSite. Por exemplo, o parâmetro __Context é do tipo WorkflowContext e é usado para passar aquele contexto para dentro da chamada sem ser mostrado ao designer (definindo o atributo DesigerType como “Hide”). O parâmetro siteName receberá o valor na ligação de campo siteName. Isso é feito dando-se o mesmo nome ao campo e ao parâmetro. Pela mesma razão, exceções serão distribuídas por meio do parâmetro de exceção e para dentro do campo de exceção.

Antes de testar minha ação personalizada, abro Feature1 e dou-lhe o título de Ações do fluxo de trabalho de gerente de compras, para torná-lo mais descritivo, e altero seu escopo para Site, conforme exigido pelas ações de fluxo de trabalho personalizado.

Implantando a solução de fluxo de trabalho no SharePoint Online

Para testar meu fluxo de trabalho personalizado, clico com o botão direito no projeto PurchasingMgrActions, no Gerenciador de Soluções, e seleciono Pacote para empacotar a solução. Em seguida, carrego o PurchasingMgrActions.wsp na Galeria de Soluções no meu conjunto local de sites de desenvolvimento (http://o365dpe.contoso.com/sites/spomsdnmag) para implantar a ação do fluxo de trabalho personalizado.

Agora, ao abrir o SharePoint Designer 2010 e meu fluxo de trabalho Aprovação de Solicitação de Compras Não Padrão no editor de fluxo de trabalho, minha ação de fluxo de trabalho personalizado será exibida na lista suspensa Ações sob a categoria Fluxos de Trabalho de Gerente de Compras, como mostrado na Figura 14.

Create Site Custom Action in Workflow Designer

Figura 14 Criar ação de site personalizada no Workflow Designer

Após definir a variável Site Name como Current Item:Title, meu fluxo de trabalho estará concluído e pronto para teste (veja a Figura 15).

The Completed Workflow

Figura 15 O fluxo de trabalho completo

Para estar pronto para teste, preciso publicar o fluxo de trabalho em meu site de desenvolvimento e associá-lo à minha lista. Para publicar, seleciono Publicar na seção Salvar da faixa de opções. Quando a publicação estiver completa, navego até minha lista de solicitações de compras não padrão em meu site local de desenvolvimento, clico na guia Lista e seleciono Definições de Fluxo de Trabalho na seção Configurações da faixa de opções. Sob “Estes fluxos de trabalho são configurados para executar itens deste tipo”, seleciono Gerente de Compras – Solicitação de Compras Não Padrão e seleciono o link “Adicionar um fluxo de trabalho”. Seleciono meu fluxo de trabalho de aprovação de solicitação de compra não padrão como modelo e dou ao fluxo de trabalho o nome de Aprovação de solicitação de compra não padrão, clicando em Próximo e, em seguida, em Salvar.

E, neste ponto, posso executar meu fluxo de trabalho. Seleciono o primeiro item de minha lista e, em seguida, seleciono Fluxos de Trabalho na seção Fluxos de Trabalho da faixa de opções e clico no fluxo de trabalho Aprovação de Compra Não Padrão para inicializar o fluxo de trabalho. Serei então solicitado a inserir uma lógica de negócio, como especificado no meu parâmetro de formulário de inicialização de lógica de negócio.

Forneço uma justificativa como a apresentada e clico em Iniciar para iniciar o fluxo de trabalho. Posso, então, entrar na página Fluxos de Trabalho do item e selecionar o fluxo de trabalho em andamento para a página de informação do fluxo de trabalho, a qual inclui uma visualização do fluxo de trabalho. Quando a tarefa for aprovada, o diagrama será atualizado, como mostrado na Figura 16.

Workflow Information Page with Visualization
(clique para ampliar)

Figura 16 Página de informações do fluxo de trabalho com visualização

Posso, então, ir até Ações de Site | Exibir Todo o Conteúdo do Site e ver o site que foi criado por minha ação de fluxo de trabalho personalizado.

Neste momento, estou pronto para distribuir meu fluxo de trabalho para o SharePoint Online. Para obter o arquivo de pacote para meu fluxo de trabalho para solicitações de compras não padrão, abro o fluxo de trabalho no SharePoint Designer 2010 e seleciono a opção do Salvar Como Modelo da seção Gerenciar da faixa de opções, para salvar o fluxo de trabalho na biblioteca Ativos do Site. Posso, então, selecionar os arquivos de pacote PurchasingMgr.wsp (ou modificar a lista existente, caso já esteja implantada), PurchasingMgrActions.wsp e Non-Standard Business Purchase Request Approval.wsp da biblioteca de ativos do site e carregá-los na Galeria de Soluções em meu conjunto de sites do SharePoint Online. Note que os recursos devem ser ativados nessa ordem, com base nas dependências entre os recursos (isso pode ser automatizado por meio de dependências de ativação de recursos). Após ativar o recurso do fluxo de trabalho em meu site e associar o fluxo de trabalho à minha lista, posso seguir as mesmas etapas para testar meu fluxo de trabalho no SharePoint Online.

Conclusão

Automatizar processos de negócios por meio de fluxos de trabalho no SharePoint Online pode tornar a colaboração ainda mais eficaz, indo além de simplesmente armazenar as informações no SharePoint Online. Neste artigo, mostrei como implementar um fluxo de trabalho no SharePoint Designer 2010, ampliar esse fluxo de trabalho com uma ação personalizada desenvolvida com o Visual Studio e distribuir esse fluxo de trabalho por meio de arquivos de pacote criados pelo SharePoint Designer 2010 e pelo Visual Studio 2010. Recomendo uma análise aprofundada do desenvolvimento de fluxo de trabalho com o SharePoint Online. Seus usuários ficarão impressionados com a maneira com que seus processos comerciais manuais e sujeitos a erros tornam-se mais eficientes, com menos esforço, quando automatizados nos fluxos de trabalho do SharePoint Online.

Chris Mayo é especialista em tecnologia especializado no SharePoint Online e trabalha na Microsoft há dez anos. É coautor do livro “Programming for Unified Communications with Microsoft Office Communications Server 2007 R2” (Microsoft Press, 2009). Antes de ingressar na Microsoft, trabalhou como desenvolvedor e arquiteto nos departamentos de TI de empresas da Fortune 500 atuantes nos setores financeiro e de varejo. Acompanhe o trabalho de Mayo em seu blog, blogs.msdn.com/b/cmayo.

Agradecemos aos seguintes especialistas técnicos pela revisão deste artigo: Mark Kashman, Keenan Newton, AJ May e George Durzi