Pergunta

Como você gerencia a implantação de formulários do InfoPath em diferentes servidores SharePoint?Existe uma maneira melhor de lidar com todas as conexões de dados específicas do site sem abrir os formulários, editar as conexões de dados e republicar para cada ambiente?

Foi útil?

Solução

Se entendi seu cenário corretamente:

Você tem um formulário do InfoPath, com conexões de dados que enviam seus dados.Você deseja implantar este formulário em vários servidores SharePoint e fazer com que essas conexões de dados enviem dados para o servidor atualmente implantado.

Você realmente não pode evitar a necessidade de trabalhar em todos os servidores do SharePoint nos quais deseja implantar o formulário.No entanto, você pode evitar a necessidade de modificar o modelo de formulário do InfoPath.

Se você usar a Biblioteca de Conexão de Dados do SharePoint (DCL) e criar um arquivo UDC a partir de sua conexão de dados, em cada servidor SharePoint que você deseja usar... então seu modelo do InfoPath poderá simplesmente se comunicar com o arquivo UDC.

Aqui está um link para um artigo sobre a integração do InfoPath com o DCL do SharePoint:

http://msdn.microsoft.com/en-us/library/bb267335.aspx

Outras dicas

Este é um problema comum se você estiver trabalhando em um sistema de desenvolvimento e precisar de implantações em um sistema produtivo de tempos em tempos.Eu uso um script que executa substituições (texto simples) com base em expressões regulares.

em cada implantação:

  1. faça um backup do seu formulário ;-)
  2. Salve seu formulário como código-fonte. (Sugiro que você trabalhe em arquivos de código-fonte em vez de .xsn, porque o xsn é apenas um .cab renomeado com os arquivos de origem nele.E você pode usar o controle de origem de uma maneira mais satisfatória.)
  3. abra o manifesto.xsf arquivo
  4. procure o nó xml "DataConnections"
  5. pesquise e substitua a parte do URL do site
  6. (Não se esqueça dos atributos save-path, file-&site e subscribeUrl)
  7. implantar a partir do InfoPath Designer

Eu uso um script que faz todas as substituições.Isso funciona bem e já me poupou muito trabalho.

Se você acessar as opções de envio, haverá uma opção para executar ações personalizadas usando regras.Se você tiver todas as conexões de dados configuradas, poderá configurar regras para selecionar a qual conexão enviar.

ré:Resposta do speedfox, tente evitar editar o manifesto sempre que possível.Isso só vai causar dores de cabeça.

Se entendi seu problema, você está implantando em vários servidores (DEV, UAT, Produção) e precisa editar a conexão de dados manualmente toda vez que passa de um ambiente para outro?Perdoe-me se simplifiquei demais o problema

Descobri que a melhor maneira de tornar relativo o site de conexões de dados é:

  1. Use arquivos de conexão de dados em seu formulário.Abra o assistente de conexão de dados no infopath e, para todos os dados conectados, clique em "Converter...". Isso altera sua conexão de dados de incorporada no formulário para um arquivo XML independente.Você precisará de uma biblioteca de conexão de dados no site do SharePoint para armazená-los.Crie isso no navegador.

  2. Depois de converter e a conexão voltar para ela e haverá uma opção de conexão...botão use-o para mudar de "Biblioteca de conexões de dados locais" para "Biblioteca de conexões gerenciadas centralmente"

  3. Faça upload da conexão de dados que está na Biblioteca de conexões de dados do seu site para o administrador central

  4. Ao publicar seu formulário, certifique-se de publicá-lo em um local gerenciado centralmente (Administrador Central)

  5. Use seu formulário como um tipo de conteúdo em qualquer biblioteca de formulários desse conjunto de sites.

  6. Para usar o formulário em outro site, carregue o arquivo de conexão de dados para o administrador central dos novos servidores e publique o formulário (inalterado) nos formulários gerenciados centralmente.

Veja minha postagem no blog, onde apresento passo a passo com instantâneos relevantes que cobrem o seguinte:

a.Convertendo conexões de dados do InfoPath em biblioteca DCL no SharePoint.b.Publicação do Formulário Infopath em uma lista/biblioteca do SharePoint c.Criando um pacote de solução .wsp para o formulário Infopath e seu código-behind d.Criando um script em lote que implantará o formulário do InfoPath em seu site de produção.e.Garantir que o formulário de Infopath tenha sido implantado como um recurso f.Modifique os DCLs no ambiente de produção.g.Associe o tipo de conteúdo do InfoPath à biblioteca de documentos/formulários

Veja a postagem completa do blog em: http://www.sharepointfix.com/2009/12/infopath-2007-form-and-nintex-workflows.html

Por site específico, você quer dizer que as conexões de dados em seus formulários referem-se ao servidor no qual o formulário está implantado?Se for esse o caso, talvez você possa ajustar suas conexões para usar localhost em vez do nome do servidor para a parte do nome do host dos URLs de conexão de dados.

No meu cenário, não estou usando o botão "salvar" integrado.Tenho uma conexão de dados que utilizo para "postar" os dados em outra lista.

Sim, é isso que quero dizer com site específico.Eu não acho que você possa usar localhost porque quando um usuário salva o formulário, ele tentará postar no computador do usuário (ou seja,host local).Tentei usar caminhos relativos, mas isso não parece funcionar.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top