Entendendo o Uso do InfoPath no SharePoint

O InfopPath 2010 é uma excelente ferramenta para ser utilizada em conjunto com o SharePoint 2010, ele agrega muito valor a qualquer projeto e é muito funcional e produtivo, permitindo entregar soluções mais rapidamente do que outras ferramentas. 

Neste post vou mostrar algumas considerações sobre o uso do InfoPath no SharePoint, não irei abordar assuntos técnicos.

Este post faz parte de uma série de posts sobre entendimento do SharePoint 2010, acesse o post principal para ver os outros assuntos: Entendendo o SharePoint 2010

 

Criação de Formulários

O InfoPath, na minha visão, é um dos principais recursos do SharePoint 2010 Enterprise para a criação de soluções rápidas e que atendam as necessidades do usuário.

É muito comum trabalharmos com formulários para entrada de dados que precisem de validação de dados, formatação condicional, exibição de campos condificionais, comunicação com fontes de dados, persistência de maneira simples.

O  InfoPath é muito bom nessas atividades permitindo que formulários ricos sejam criados em pouco tempo.

Na maioria dos projetos os formulários são gravados em bibliotecas de formulários do SharePoint. Na verdade apenas o conteúdo é armazenado na forma de arquivos XML, o formulário em si fica no SharePoint na forma do template com a extensão XSN. Toda vez que o formulário é aberto o template é aplicado ao conteúdo e o formulário é exibido ao usuário com todas as regras.

 

Formulários Avançados

Assim como o Excel permite trabalhar com macros em VBA, o InfoPath permite trabalhar com código-fonte escrito em .NET (C# ou VB.NET), sendo assim, além de trabalhar com formulários simples podemos utilizar formulários complexos para a solução de problemas.

É muito importante que algumas coisas fiquem claras, o InfoPath não é considerado uma ferramenta de desenvolvimento, assim com o Visual Studio. Ele é um produto que faz parte do Office é é voltado a usuários avançados e desenvolvedores.

Para desenvolver no InfoPath é necessário conhecer como interagir com XML, já que todo o conteúdo é lido dessa forma. É uma forma simples de se trabalhar, mas conforme as regras pode gerar complexidade extra.

Como o InfoPath é um produto com muito foco no usuário avançado e na produtividade, ele não permite que tudo seja feito, podendo frustar alguns desenvolvedores com necessidades de maior customização, como o uso de JavaScript por exemplo. Por isso devemos ter cuidado e pensar bem antes de escolher a criação de formulários avançados com o InfoPath, é possível você chegar perto do final da tarefa e descobrir que não irá conseguir terminar conforme esperado, as opções serão entregar assim ou ter que refazer em ASP.NET, gerando em qualquer uma das duas desconforto.

A publicação de formulários pode ser feita diretamente do InfoPath para a biblioteca de documentos se não tiverem código-fonte, nesse caso é necessário publicar num diretório e subir o formulário manualmente para o SharePoint utilizando a Administração Central.

 

Versionamento de Formulários

Como os arquivos salvos são sempre XML, é necessário tomar cuidado no momento de alteração dos formulários. Ao alterar o template XSN campos podem ser adicionados, alterados ou removidos e isso pode gerar incompatibilidade com os formulários XML já salvos.

A primeira coisa a fazer para evitar esse problema é o cuidado nas alterações do formulário, evite principalmente excluir ou alterar o nome de campos existente, por exemplo. Alterações na estrutura do template podem gerar incompatibilidades.

Em um nível de altearção muito grande do formulário, algumas vezes a melhor opção é publicar o formulário com um novo nome ao invés de apenas atualizar o existente.

 

Conclusão

Considero o InfoPath uma ferramenta muito poderosa para projetos SharePoint, utilizo muito nos projetos, mas assim como outros recursos do SharePoint, avalie bem antes de usar e evite problemas futuros. Para evitar desconfortos estude bem a ferramenta e saiba o que ela pode fazer e até onde pode ir, você ficará muito satisfeito com o poder do InfoPath.

Anúncios

9 Respostas to “Entendendo o Uso do InfoPath no SharePoint”

  1. Graciano Says:

    Bom dia,
    O Sharepoint é um produto decepcionante, pois deveria estar pronto para o uso sem ter que executar mirabolantes códigos de asp.net,c#,java Scrit, entre outros. Coisas básica essa “capenga” ferramenta não executa sozinha, como por exemplo:
    Acessar uma lista de outro site no mesmo Farm. Rídiculo.
    No Designer, criação de fluxo de trabalho,da mesma forma, não existe opcão para criar ou atualizar um item de uma lista de outro site.
    Em fim um produto fraco dependente de solução de desenvolvedores estudioso e dedicado que trabalham de graça e de forma inconsciente, para a gigante Microsoftware, que em troca da uma certificação virtual, criando assim um vinculo de escravidão virtual.

    • Fabian André Gehrke Says:

      Olá Graciano,

      Muito interessante o se ponto de vista, todos os pontos de vista são bem vindos, mesmo que equivocados. Se você quiser podemos conversar para lhe explicar algumas coisas. Depois que você entender o SharePoint, com certeza irá ter outra opinião.

  2. Larissa Andrade Says:

    Oi Fabian!
    Tudo bem? Muito boas as explicações. Gostei muito do post.
    Queria saber se com essa customização pelo Infopath seria possível tornar campos obrigatórios ou não a depender de uma flag marcada no próprio formulário?
    Sabe de algum documento ou link do MSDN que explique TODAS as possibilidades do Infopath?
    Obrigada!
    Abraço,
    Larissa

  3. fabriciotulio Says:

    Oi Fabian! Excelente seu tópico e todo o conteúdo.
    Tive um grande problema hoje e talvez você possa me salvar.
    Hoje aconteceu uma coisa terrível no EPM quando atualizei um modelo que utilizamos em formato infopath, que está publicado em uma biblioteca.
    Esse modelo é utilizado por todos os usuários como documentação no site de projetos.
    Haviam vários preenchidos e salvos nos sites dos projetos. Houve a necessidade de atualizar uma informação no modelo, daí alterei e publiquei para substituir o modelo.
    O problema foi que, após a publicação do novo modelo, ao abrir os formulários salvos baseados no modelo antigo, exibiu a mensagem que havia a necessidade de atualizar o modelo utilizado, sem opção de manter a estrutura antiga.
    Ao atualizar, o formulário ficou em branco e não consegui recuperar o conteúdo que existia.
    Até alguns que estavam salvos no PC ou na rede perderam o conteúdo, acredito por terem como referência o modelo publicado.
    Existe alguma maneira de recuperar o conteúdo perdido, ou para que ele não atualize para os formulários que ainda não foram abertos e que serão atualizados quando forem? Senão, como faço para que as atualizações de novos modelos não sejam aplicados a modelos já preenchidos para evitar esse transtorno novamente?
    Obrigado!

    • Fabian André Gehrke Says:

      Olá Fabrício,

      O arquivo que é gerado quando um formulário InfoPath é publicado no SharePoint é um arquivo de modelo com extensão XSN. Quando salvamos um arquivo no SharePoint ou qualquer arquivo que usa este modelo, estamos salvando apenas um arquivo XML com os dados e as referências dos campos do modelo. Para abrir o XML, vc sempre irá precisar do XSN (por vias normais). Se vc mudar o modelo e deixar ele com um schema diferente dos arquivos XML atuais, você poderá ter problemas.

      Acredito que esse seja o seu caso, teria que analisar melhor se tem como resolver, mas sugiro voltar uma versão anterior do template para que os formulários antigos funcionem. Tenha muito cuidado ao gerar novas versões, um ponto que pode ajudar é numa remover ou alterar nomes de campos, ou de repente, para cada versão gerar um template novo de formulário. Assim você garante que tudo irá funcionar sem precisar ficar carregando “lixo” entre versões de formulários.

  4. Marcela Says:

    Olá Fabian,
    Parabéns por todos os seus posts relacionados a sharepoint, tem me ajudado muito.

    Tenho uma biblioteca de documentos e fiz um workflow de aprovação para os documentos, este workflow possui uma coluna que exibe seu status, gostaria de filtrar o conteúdo da lista através desta coluna em um content query, porém não é possível pois a coluna não aparece. Pesquisando encontrei algumas informações que diz que, através de um filtro secundário com infopath é possível, mas não sei como fazer isso dentro de um content query. Poderia me ajudar, ou dar uma outra alternativa para resolução?

    Desde já, obrigada!

    • Fabian André Gehrke Says:

      Marcela,

      Uma coisa é o status do workflow, o status do document pode ser entendida como outra informação. Partindo deste princípio, considere adicionar uma coluna na biblioteca onde o workflow grava o status atual do documento. Assim acredito que você resolverá a sua necessidade.


Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: