Passo a passo: importar um fluxo de trabalho reutilizável do SharePoint Designer
Este passo a passo demonstra como importar um fluxo de trabalho reutilizável criado no SharePoint Designer 2010 para um projeto de fluxo de trabalho do SharePoint do Visual Studio.
Fluxos de trabalho criados no SharePoint Designer ou fluxos de trabalho declarativos consistem de instruções XML em vez de código. O SharePoint Designer 2010 apresenta fluxos de trabalho reutilizáveis, que são fluxos de trabalho portáteis e declarativos que podem ser usados por listas diferentes em sites do SharePoint.
Os fluxos de trabalho criados no Visual Studio 2012, como fluxos de trabalho de máquina de estado e sequenciais, são chamados de fluxos de trabalho de código. Os fluxos de trabalho de código consistem em arquivos XML e módulos de código nos quais os usuários podem personalizar o comportamento do fluxo de trabalho.
O Visual Studio permite importar fluxos de trabalho reutilizáveis criados no SharePoint Designer 2010 e convertê-los em fluxos de trabalho de código para uso em seus sites do SharePoint.
Este passo a passo demonstra as seguintes tarefas:
Criar um fluxo de trabalho simples e reutilizável no SharePoint Designer.
Exportar o fluxo de trabalho reutilizável do SharePoint Designer para um arquivo .wsp e para o SharePoint.
Importar o arquivo .wsp no Visual Studio usando o projeto Importar Fluxo de Trabalho Reutilizável.
Alterar o fluxo de trabalho adicionando código.
Usar o fluxo de trabalho importado em um site do SharePoint.
Observação
Seu computador pode mostrar diferentes nomes ou locais 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.
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.
Microsoft Office SharePoint Designer 2010.
Criar subsites do SharePoint de destino
Primeiro, você cria dois subsites do SharePoint: um para hospedar os fluxos de trabalho reutilizáveis do SharePoint Designer, outro para hospedar os fluxos de trabalho convertidos.
Para criar subsites do SharePoint
No SharePoint Designer 2010, na barra de menus, escolha Arquivo>Novo Site em Branco.
Na caixa de diálogo Novo Site em Branco, navegue até um site do SharePoint onde você deseja criar o fluxo de trabalho ou use o valor de http://SystemName/ e escolha o botão OK.
A Página Inicial é exibida.
Na seção Subsites, escolha o botão Novo.
Na caixa de diálogo Novo, escolha Modelos do SharePoint na lista no painel esquerdo e escolha Site da Equipe na lista no painel direito.
Na caixa Especificar o local do site, substitua a palavra subsite na URL por SPD1 e escolha o botão OK.
Isso abre o novo subsite no SharePoint Designer. Feche esta instância do SharePoint Designer e volte para a primeira instância (o site de nível superior).
Repita as etapas 3 a 5 para criar o segundo subsite, desta vez substituindo a palavra subsite na URL por SPD2.
Criar um fluxo de trabalho reutilizável do SharePoint Designer
Como o SharePoint não inclui fluxos de trabalho reutilizáveis que você pode usar para este exemplo, você criará um. Nesse fluxo de trabalho simples, quando um usuário insere uma nova tarefa na lista Tarefa que tem um título específico, a tarefa é atribuída a esse usuário.
Para criar um fluxo de trabalho reutilizável do SharePoint Designer
Na seção Subsites, escolha o site SPD1 para modificá-lo.
Na faixa de opções, escolha o botão Fluxo de Trabalho Reutilizável.
O assistente Criar Fluxo de Trabalho Reutilizável é exibido.
Na caixa Nome, insira Fluxo de Trabalho da Tarefa SPD.
Na lista Tipo de Conteúdo, escolha Tarefa e o botão OK.
O fluxo de trabalho é aberto no designer de fluxo de trabalho do SharePoint Designer.
No designer de fluxo de trabalho, escolha Etapa 1 e, na faixa de opções, escolha o botão Condição.
Na lista de condições, escolha If current item field equals value.
Esta etapa adiciona uma condição chamada If field equals value.
Na condição If field equals value, escolha o link field.
Na lista de valores, escolha Título.
Na condição If field equals value, escolha o link value.
Na caixa, insira Nova tarefa.
A instrução condition agora lê If Current Item:Title equals New task.
Escolha a linha na instrução condition e, na faixa de opções, escolha o botão Ação.
Na lista de ações, escolha Definir campo no item atual.
Na ação Definir campo como valor, escolha o link do field e, na lista, escolha Atribuído a.
Na ação Definir campo como valor, escolha o link do valor e, na lista de usuários e grupos existentes, escolha Usuário que criou o item.
Escolha o botão Adicionar e o botão OK.
A instrução de ação agora é lida como Set Assigned To Current Item:CreatedBy.
Salvar e implantar o fluxo de trabalho reutilizável
Como o Visual Studio pode importar apenas arquivos .wsp, você deve salvar o fluxo de trabalho reutilizável como um arquivo .wsp e implantar no SharePoint antes de importar para o Visual Studio.
Importante
Se você receber um erro de runtime executando o procedimento a seguir, precisará executar o procedimento em um sistema que tenha acesso ao site do SharePoint.
Para salvar e implantar o fluxo de trabalho reutilizável
Na parte superior do SharePoint Designer, escolha o botão Salvar para salvar seu progresso e o botão Publicar para implantar o fluxo de trabalho no site SPD1 do SharePoint.
No painel Navegação, escolha o objeto Fluxos de Trabalho.
Em Fluxo de Trabalho Reutilizável, escolha Fluxo de Trabalho da Tarefa SPD.
Na faixa de opções, escolha o botão Salvar como Modelo para salvar o fluxo de trabalho como um arquivo .wsp.
Abra o site SPD1 do SharePoint em um navegador para exibir o arquivo .wsp no SharePoint.
Na barra QuickLaunch, escolha o link Bibliotecas.
Na seção Bibliotecas de Documentos, escolha o link Ativos do Site.
O arquivo Fluxo de Trabalho da Tarefa SPD está listado com outros ativos do site.
Na lista de arquivos, escolha o nome desse arquivo
Na caixa de diálogo Download de Arquivo, escolha o botão Salvar para salvar o arquivo .wsp no sistema local.
Importar o arquivo .wsp no Visual Studio
Importar o arquivo .wsp no Visual Studio usando um projeto Importar Fluxo de Trabalho Reutilizável. Este projeto converte o fluxo de trabalho de um fluxo de trabalho reutilizável e declarativo em um fluxo de trabalho de código. Depois que o fluxo de trabalho for convertido, você usará o código para modificar seu comportamento.
Para importar um fluxo de trabalho a partir de um arquivo .wsp e modificá-lo
No Visual Studio, na barra de menus, escolha Arquivo>Novo>Projeto.
Na caixa de diálogo Novo Projeto, expanda o nó SharePoint no Visual C# ou Visual Basic e escolha o nó 2010.
No painel Modelos, escolha o modelo Importar Fluxo de Trabalho Reutilizável do SharePoint 2010, deixe o nome do projeto como WorkflowImportProject1 e escolha o 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, insira a URL do segundo subsite do SharePoint criado anteriormente: http://system name/SPD2.
Na seção Qual é o nível de confiança para esta solução do SharePoint?, clique no botão da opção Implantar como uma solução de farm e escolha o botão Avançar.
Para obter mais informações sobre soluções de área restrita versus farm, confira Considerações sobre a solução em área restrita.
Na página Especificar a nova origem do projeto, navegue até o local no sistema em que você salvou anteriormente o arquivo .wsp, abra o arquivo e escolha o botão Avançar.
Observação
Escolha o botão Concluir para importar todos os itens disponíveis no arquivo .wsp.
Isso exibe uma lista de fluxos de trabalho reutilizáveis disponíveis para importação.
Na caixa Selecionar itens a serem importados, escolha o fluxo de trabalho Fluxo de Trabalho da Tarefa SPD e selecione o botão Concluir.
Depois que a operação de importação for concluída, um projeto chamado WorkflowImportProject1 será criado contendo um fluxo de trabalho chamado SPD_Workflow_TestFT. Nessa pasta está o arquivo de definição do fluxo de trabalho Elements.xml e o arquivo de designer de fluxo de trabalho (.xoml). O designer contém dois arquivos: o arquivo de regras (.rules) e o arquivo code-behind ( .cs ou .vb, dependendo da linguagem de programação do projeto).
No Gerenciador de Soluções, exclua a pasta Outros Arquivos Importados.
No arquivo Elements.xml, exclua
InstantiationURL="_layouts/IniErkflIP.sspx"
.No Gerenciador de Soluções, escolha WorkflowImportProject1 e, na barra de menus, escolha Projeto>Configurar como Projeto de Inicialização para definir WorkflowImportProject1 como o Item de Inicialização.
Isso exibe a lista imediatamente quando você depura o projeto.
Como o modelo Importar Fluxo de Trabalho Reutilizável do SharePoint 2010 não importa os valores de propriedade da associação para o fluxo de trabalho importado, você deve inseri-los. Para fazer isso:
No Gerenciador de Soluções, escolha o nó SPD_Workflow_TestFT.
Escolha o botão de reticências () ao lado de uma das propriedades da lista, como a propriedade Lista de Destino.
Preencha os valores ausentes no Assistente de Personalização do SharePoint e escolha o botão Concluir.
Escolha o arquivo .xoml e, na barra de menus, escolha Exibir>Designer para exibir o fluxo de trabalho importado no designer do fluxo de trabalho.
No nó Fluxo de Trabalho do Windows v3.0 da Caixa de Ferramentas, execute uma das seguintes etapas:
Abra o menu de atalho da atividade Código e escolha Copiar. No designer do fluxo de trabalho, abra o menu de atalho da linha na atividade SequenceActivity1 e escolha Colar.
Arraste a atividade Código da Caixa de Ferramentas para o designer do fluxo de trabalho e conecte à linha sob a atividade SequenceActivity1.
Isso adiciona uma atividade ao designer do fluxo de trabalho chamado CodeActivity1. Nesta atividade, você adicionará uma ação de código que cria um comunicado na lista Comunicados quando o usuário inicia o fluxo de trabalho.
Realize um dos seguintes conjuntos de etapas:
Clique duas vezes em CodeActivity1 para gerar um manipulador de eventos e exibir o código.
Na janela Propriedades de CodeActivity1, defina o valor da propriedade ExecuteCode como codeActivity_ExecuteCode.
Adicione o seguinte nas diretivas using ou Imports existentes:
Substitua
codeActivity1_ExecuteCode
pelo seguinte:private void codeActivity1_ExecuteCode(object sender, System.EventArgs e) { try { // Get reference to SharePoint site. SPSite site = new SPSite("http://MyServer"); SPWeb web = site.OpenWeb("SPD2/"); // Get reference to Announcements list. SPList announcementsList = web.Lists["Announcements"]; // Add announcement to Announcements list for the Task. SPListItem oListItem = announcementsList.Items.Add(); oListItem["Title"] = "Assigned task on " + DateTime.Now.ToString(); oListItem.Update(); } catch (Exception err) { Console.WriteLine("Error: " + err.ToString()); } }
Implantar o projeto e associar o fluxo de trabalho
Execute WorkflowImportProject1 para implantar em um site do SharePoint e associe o fluxo de trabalho à lista Tarefas para exibir e testar o fluxo de trabalho modificado e convertido.
Para implantar o projeto e associar o fluxo de trabalho
No Visual Studio, escolha a tecla F5 para executar e implantar o projeto de fluxo de trabalho convertido.
Na barra de Início Rápido, escolha o link Tarefas para exibir a lista Tarefas.
Na guia Ferramentas de Lista, escolha o botão Itens e escolha o botão Novo Item.
A caixa de diálogo Tarefas – Novo Item é aberta.
Na caixa Título, insira Nova tarefa e escolha o botão Salvar.
Na guia Ferramentas de Lista, escolha o botão Lista e o botão Configurações da Lista.
A página Configurações da Lista é exibida.
Na seção Permissões e Gerenciamento, escolha o link Configurações do Fluxo de Trabalho.
A página Configurações do Fluxo de Trabalho é exibida.
Escolha o link Adicionar um Fluxo de Trabalho.
Na lista Fluxo de Trabalho, escolha WorkflowImportProject1 – Teste do Fluxo de Trabalho do SPD.
Na caixa Nome, insira Teste do Fluxo de Trabalho do SPD e clique no botão OK.
Na barra de Início Rápido, escolha a lista Tarefas.
Escolha a seta ao lado de Nova tarefa e, na lista, escolha Fluxos de trabalho.
Na seção Iniciar um Novo Fluxo de Trabalho, escolha o link para Teste do Fluxo de Trabalho do SPD e escolha o botão Iniciar para iniciar o fluxo de trabalho.
Observação
Como alternativa, você pode associar automaticamente um fluxo de trabalho a uma lista executando o assistente de configurações de fluxo de trabalho e definindo o fluxo de trabalho como associado automaticamente.
Observe que duas ações são executadas pelo fluxo de trabalho: seu nome aparece na coluna Atribuído a da tarefa e um comunicado aparece na lista Comunicados.