Welcome to Comunidade Bloggers |create|it| Sign in | Join | Help

André Vala

SharePoint
Office
FAST Search Server
.Net

News

  • European SharePoint Community Awards 2012 Winner
    Locations of visitors to this page

    Comunidade Portuguesa de SharePoint

    View André Vala's profile on LinkedIn

    © André Vala and Create IT, 2006-2011. Unauthorized use and/or duplication of this material without express and written permission from this blog’s author and/or owner is strictly prohibited. Excerpts and links may be used, provided that full and clear credit is given to André Vala and Create IT with appropriate and specific direction to the original content.

SharePoint Tip #12: Forms InfoPath em Workflows criados com Visual Studio

Criar forms InfoPath para usar com Workflows criados no Visual Studio para o SharePoint é, à partida, mais simples do que criar páginas ASPX. No entanto, apesar de existir um walk-through no SDK do MOSS 2007 (http://msdn2.microsoft.com/en-us/library/ms564355.aspx) que descreve todos os passos para criar um workflow utilizando Visual Studio e InfoPath, a parte do deployment é remetida para o SDK do WSS 3.0 (http://msdn2.microsoft.com/en-us/library/ms461324.aspx).

Seguindo todos os passos, em ambos os SDK, é possível criar com sucesso um Workflow com forms InfoPath e instalá-lo no MOSS. Mas quando chegar a altura de o associar a uma lista, o mais provável é que que o Forms Services mostre o erro Form Not Found. O problema está exactamente no deployment que não foi bem executado já que os forms InfoPath requerem um passo que não está presente em nenhum dos tutoriais.

No ficheiro de configuração da feature (feature.xml) é necessário indicar um Receiver Assembly (ou seja, um event handler que trata os eventos de instalação, activação, desactivação e desinstalação da feature) pertencente ao Office SharePoint Server, como indicado abaixo.

<Feature
 
Id="C2D16482-0891-4303-A097-60D7DA1AE41E"
 
Title=" Workflow Sample"
 
Description="Workflow sample description."
 
Version="12.0.0.0"
 
Scope="Site"
 
ReceiverAssembly = "Microsoft.Office.Workflow.Feature, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"
 
ReceiverClass = "Microsoft.Office.Workflow.Feature.WorkflowFeatureReceiver"
 
xmlns="http://schemas.microsoft.com/sharepoint/">
 
<ElementManifests>
   
<ElementManifest Location="Workflow.xml" />
 
</ElementManifests>
 
<Properties>
   
<Property Key="GloballyAvailable" Value="true" />
   
<Property Key="RegisterForms" Value="*.xsn" />
 
</Properties>
</Feature>

O Assembly indicado é instalado com o MOSS (e não com o WSS) e é responsável pelo deployment dos forms InfoPath no Office SharePoint Server. Podemos ver o resultado desse deployment acedendo à Central Administration, secção Application Management, opção Manage Form Templates. Na lista de forms instalados constam todos os que são instalados através do dito Receiver Assembly ou através da opção Upload. No entanto, a opção Upload não permite a utilização do form em Workflows.

A terceira linha assinalada no exemplo acima serve para que o Receiver Assembly saiba onde encontrar os ficheiros .XSN na pasta da feature.

Posted: Monday, February 26, 2007 5:22 PM by andrevala

Comments

snypes said:

I'm tring to install a Workflow in a Farm scope. But I receive the following error:

"Elements of type 'Workflow' are not supported at the 'Farm' scope. This feature could not be installed."

Have any idea?

Ueslei

# August 18, 2008 10:54 AM
Anonymous comments are disabled