Artigo original publicado em 2 de maio de 2011, segunda-feira

foto de jonghwalOlá. Eu sou JongHwa Lim, Gerente de Projetos na equipe do SharePoint Designer. Quanto tempo. Algumas pessoas podem ter considerado este site morto porque não tem havido novas postagens desde abril do ano passado, mas estamos de volta. Vamos manter este site ativo, lançar novos blogs pelo menos a cada mês e tentar nos manter conectados aos leitores e clientes.

Para animar este site (e também animar minha equipe para postagens futuras), vamos começar com um novo recurso pequeno, mas muito útil no SharePoint Designer 2010 (aka. SPD).

Quando precisamos das colunas de associação

Vamos começar primeiro pela configuração de um cenário. Você é autor de um fluxo de trabalho que está acostumado a usar o SPD e você é obrigado a criar um fluxo de trabalho que deve ser usado em muitas listas ou bibliotecas de documentos com alguns campos específicos do fluxo de trabalho. Como você o implementa? Aqui estão alguns exemplos de opções que você pode experimentar para alcançar esse objetivo.

· Fluxo de trabalho de lista

o Você pode começar a partir dos fluxos de trabalho de lista. Você adicionará os campos específicos do fluxo de trabalho à lista diretamente. E durante o tempo de design no SharePoint Designer, é possível ver os campos e criar sua lógica de fluxo de trabalho usando esses campos.

o Mas quando se trata de reutilizar este fluxo de trabalho em outras listas ou bibliotecas de documentos, você não tem uma boa resposta para isso.

· Fluxo de trabalho reutilizável

o Você está um pouco mais familiarizado com os fluxos de trabalho do SPD, então opta por usar o fluxo de trabalho reutilizável que resolverá o problema de reutilização. Mas, conforme abre o designer de fluxo de trabalho, você acaba vendo apenas "Título" (Title) para o campo configurável e vendo "Tipo de Conteúdo" (Content Type), "Criado em" (Created), "Criado por" (Created By), "ID", "Modificado em" (Modified), "Modificado por" (Modified By) e "Título" (Title) para os campo legíveis.

o Você não pode utilizar os campos que precisa para criar a lógica do fluxo de trabalho.

· Fluxo de trabalho reutilizável com tipo de conteúdo base

o Você é um usuário avançado do fluxo de trabalho do SPD, portanto, sabe o conceito do tipo de conteúdo base para fluxo de trabalho reutilizável.

o Primeiro, crie um novo tipo de conteúdo e adicione os campos necessários ao tipo de conteúdo. E, na caixa de diálogo "Criar Fluxo de Trabalho Reutilizável" (Create Reusable Workflow), designe o tipo de conteúdo que criou como o tipo de conteúdo base.

o Agora você pode ver os campos no designer de fluxo de trabalho e pode conseguir o que é obrigado a fazer. Isto não tem nenhum problema com o cenário de reutilização, desde que você associe este fluxo de trabalho com o tipo de conteúdo e o tipo de conteúdo seja adicionado à lista ou à biblioteca de documentos.

o E se você descobriu que precisa de um novo campo? Toda vez que você precisa de um novo campo, deve ir para o tipo de conteúdo do site ou para a interface do usuário da coluna do site no servidor ou no SPD.

o Ainda existe outro ponto fraco. Quando você desejar mover o fluxo de trabalho usando "Salvar como Modelo" (Save as Template), o fluxo de trabalho não empacotado perderá algumas informações sobre o tipo de conteúdo base se este for um tipo de conteúdo personalizado ou um tipo de conteúdo contém uma coluna do site personalizada.
clip_image001

· Fluxo de trabalho reutilizável com coluna de associação

o Você está quase tão familiarizado com o SPD quanto aquele que conhece o conceito do tipo de conteúdo base. Então você sabe o conceito de coluna de associação.

o Assim que você começar a criar o fluxo de trabalho, quando precisar de um campo, basta criá-lo imediatamente com colunas de associação, em que pode escolher entre uma coluna existente do site e uma nova. Você não alterna todo o caminho entre designer de fluxo de trabalho, tipo de conteúdo do site e interfaces do usuário da coluna do site. É possível fazer tudo em um único lugar.

o Além disso, não há problema com a reutilização porque as definições de fluxo de trabalho reutilizável transportam os campos com elas e um pacote de fluxo de trabalho oferece suporte para isso.
clip_image002

O que é coluna de associação?

Alguns de vocês podem ter tentado encontrar arquivos de ajuda sobre este tema. Aqui estão alguns exemplos do que pode ser encontrado:

· Por padrão, os fluxos de trabalho reutilizáveis não têm o contexto de uma lista ou biblioteca específica. Portanto, por padrão, eles fornecem apenas as colunas que são comuns em listas e bibliotecas, como Criado em (Created) e Criado por (Created by).
Se o fluxo de trabalho reutilizável requer que determinadas colunas estejam presentes na lista ou na biblioteca à qual estão associadas, você pode adicionar essas colunas como colunas de associação. As colunas de associação são adicionadas automaticamente a uma lista ou biblioteca quando um fluxo de trabalho reutilizável está associado a essa lista ou biblioteca.

· Colunas de associação
Se o fluxo de trabalho reutilizável requer que determinadas colunas estejam presentes na lista ou na biblioteca à qual estão associadas, você pode adicionar essas colunas como colunas de associação. As colunas de associação são adicionadas automaticamente a uma lista ou biblioteca quando um fluxo de trabalho reutilizável está associado a essa lista ou biblioteca.

· (Dica de tela do botão Faixa de Opções (Ribbon))
Define as colunas que serão adicionadas a uma lista quando o fluxo de trabalho está associado a essa lista. Esta opção não está disponível para fluxos de trabalho de site.

Todas essas descrições são completamente verdadeiras e explicam perfeitamente o que são colunas de associação e para que servem. As colunas de associação foram introduzidas por causa do cenário mundial real em que não há nenhuma experiência boa para os autores de fluxo de trabalho reutilizável quando eles desejam atualizar os campos do "item atual". Como não tínhamos um conceito de "fluxo de trabalho reutilizável" até o SharePoint Designer 2010, também não tínhamos colunas de associação. Sem colunas de associação, a única alternativa pode ter sido a utilização do tipo de conteúdo base. Mas, isso também coloca várias limitações em termos de associação e tempo de design UX, porque só poderia ser associada ao tipo de conteúdo base ou aos tipos de conteúdo herdados, e o autor deveria ir do designer de fluxo de trabalho para o tipo de conteúdo do site ou para as interfaces do usuário da coluna do site várias vezes.

Como criar uma coluna de associação

A criação de uma coluna de associação é simples. Eu vou te mostrar com um exemplo. Como mostrado abaixo, você pode começar com o botão Faixa de Opções (Ribbon) denominado "Colunas de Associação" (Association Columns).

clip_image002[1]

Se você clicar nele, uma caixa de exibição de aviso será exibida como abaixo.

clip_image003

Se você selecionar "OK", será direcionado para a caixa de diálogo principal da coluna de associação.

clip_image004

Você pode escolher entre "Selecionar Coluna do Site" (Select Site Column) e "Adicionar nova Coluna" (Add New Column). Se você selecionar uma coluna do site, a seguinte caixa de diálogo será apresentada.
clip_image005

Se você selecionar o campo Endereço (Address), ele será adicionado à caixa de diálogo principal.

clip_image006

Se você adicionar uma nova coluna, a seguinte interface do usuário será mostrada, onde você pode definir uma nova coluna.

clip_image007

Neste exemplo, eu criei um campo de texto com várias linhas denominado "Comentários dos Aprovadores" (Comments from Approvers).

clip_image008

Você pode ver que, quando uma nova coluna é selecionada, Modificar (Modify) também é habilitado, mas ficará desabilitado para todas as colunas existentes.

Se você clicar em "OK", terminará a coluna de associação. Agora você pode ver "Endereço" (Address) e "Comentários dos Aprovadores" (Comments from Approvers) na superfície do designer.

clip_image009

Como funciona

Internamente, a coluna de associação está usando coluna do site e é por isso que você pode ver o botão da opção "Selecionar Coluna do Site..." (Select Site Column…) na interface do usuário. As colunas de associação sejam recém-criadas ou escolhidas a partir das colunas do site são persistentes no arquivo wfconfig para que ele possa ser usado durante o tempo de design.

clip_image011

No entanto, se você observar o wfconfig antes de publicar o fluxo de trabalho, poderá encontrar a seguinte definição de campo. Isto ocorre porque criamos as colunas do site na hora da publicação e atualizamos a definição do campo correspondente no wfconfig.

clip_image013

Então, se você revisitar a caixa de diálogo da coluna de associação depois de publicar, poderá ver a diferença de que "Nova Coluna" (New Column) foi alterada para "Coluna Existente" (Existing Column) e não será possível modificá-la.

clip_image014

Quando o fluxo de trabalho reutilizável está associado à lista ou à biblioteca de documentos, adicionamos as colunas de associação à lista e à biblioteca de documentos para que o fluxo de trabalho reutilizável que faz referência aos campos funcione bem.

Empacotamento

Se você empacotar o fluxo de trabalho reutilizável e não desempacotá-lo em outro site, as colunas de associação serão mantidas, o que significa que as colunas de associação também serão empacotadas e desempacotadas. Por outro lado, o tipo de conteúdo base personalizado e a coluna do site personalizada no tipo de conteúdo base não são totalmente empacotados, o que significa que pode haver perda de informações durante a transferência.

Limite

Quando associamos um fluxo de trabalho reutilizável a um tipo de conteúdo, as colunas de associação são adicionadas à lista ou à biblioteca de documentos quando o tipo de conteúdo é adicionado à lista ou à biblioteca de documentos. Nós não adicionamos as colunas de associação diretamente ao tipo de conteúdo.

Esta é uma postagem de blog traduzida. Consulte o artigo original em Association Columns