Archive

Archive for September 19, 2008

Deploying InfoPath forms Using Features – the Right Way

September 19, 2008 3 comments

A week back couple of my friends was asking is there a proper way to deploy the InfoPath forms to the server, Way other than File -> Publish – > SharePoint server with or without forms server. I did a quick search and was not lucky, came to a lackadaisical conclusion that there is no other way. But whenever I deploy workflows with InfoPath form I see a new solution that adds itself to the Solution Store. By this I know for sure there is some other way to deploy InfoPath forms. First thing want I wanted was to get the Solution out of SharePoint and see what’s there inside, Again for this there is a tool through which you can do it [I lost the url from where I got it] or hardly 10 lines of code is all what you need.

To my surprise there is indeed a way to do it, well let’s see how. What I got out of that solution is a feature, what’s in it [Image speaks louder than words, image with comments even louder 😉 ] ]

Feature.xml

Element.xml

################### You are Right its again another File Provisioning in to SharePoint Lib #####################

############# Be sure to put the location as FormServerTemplates############

Here is the Stripped Out Version of the XML.



Steps in Short:

  • Develop your IP form.
  • Publish it to the network location as how you do to upload to the Central Administration Upload Form Templates.
  • Create one Feature.xml, Element.xml as defined in the article [Sorry how workflow does ;)].
  • Put in the IP form and create a feature out of it.
  • Its all.

-Senthil   

Deploying InfoPath forms using Features – the Right Way

September 19, 2008 2 comments

Same version of the Post is avaliable in this Link. Formatting Adjusted.

A week back couple of my friends was asking is there a proper way to deploy the InfoPath forms to the server, Way other than File -> Publish – > SharePoint server with or without forms server. I did a quick search and was not lucky, came to a lackadaisical conclusion that there is no other way. But whenever I deploy workflows with InfoPath form I see a new solution that adds itself to the Solution Store. By this I know for sure there is some other way to deploy InfoPath forms. First thing want I wanted was to get the Solution out of SharePoint and see what’s there inside, Again for this there is a tool through which you can do it [I lost the url from where I got it] or hardly 10 lines of code is all what you need.

To my surprise there is indeed a way to do it, well let’s see how. What I got out of that solution is a feature, what’s in it [Image speaks louder than words, image with comments even louder 😉 ]

Feature.xml

#########All usual Stuff ###########

<?xml
version=1.0
encoding=utf-8
standalone=yes?>

<Feature
Id=8ad77502-3602-6e81-c4de-8c7f674c4466

Title=IPDeplotyment

Description=$Resources:ipfscore,XsnFeatureDescription;

Version=1.0.0.0

Scope=Site

DefaultResourceFile=ipfscore

#########Here is the hero who does what we need ###########

ReceiverClass=Microsoft.Office.InfoPath.Server.Administration.XsnFeatureReceiver

ReceiverAssembly=Microsoft.Office.InfoPath.Server, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c

xmlns=http://schemas.microsoft.com/sharepoint/>

<ElementManifests>

<ElementManifest
Location=Elements.xml />

<!– Name of the IP Form

Note:Actual workflow generated feature has a different name–>

<ElementFile
Location=solution.xsn />

</ElementManifests>

<Properties>

<!– The Name of the Feature – Infact after you have deployed the WF to sharepoint there will be a

feature by this name that gets added –>

<Property
Key=FeatureName
Value=FT-01-8ad77502-3602-6e81-c4de-8c7f674c4466 />

<!– This is going to the File name with which you have Publised from IP Client / Added to the Workflow.xml

if you are going to deploy the IP forms that are not coupled with the WF you can safely ignore the below tag–>

<Property
Key=OriginalFileName
Value=IPDeplotyment.xsn />

</Properties>

<ActivationDependencies>

<!– Just to make sure that you have Enterprise feature turned on–>

<ActivationDependency
FeatureId=C88C4FF1-DBF5-4649-AD9F-C6C426EBCBF5 />

</ActivationDependencies>

</Feature>

Element.xml

################### You are Right its again another File Provisioning in to SharePoint Lib #####################

<?xml
version=1.0
encoding=utf-8
standalone=yes?>

<Elements
xmlns=http://schemas.microsoft.com/sharepoint/>

############# Be sure to put the location as FormServerTemplates############

<Module
Name=XSN
Url=FormServerTemplates
RootWebOnly=TRUE>

<File
Url=solution.xsn
Name=IPDeplotyment.xsn
Type=GhostableInLibrary />

</Module>

</Elements>

Well here is the stripped out version of the above file

<?xml
version=1.0
encoding=utf-8
standalone=yes?>

<Feature
Id=8ad77502-3602-6e81-c4de-8c7f674c4466

Title=IPDeplotyment

Description=$Resources:ipfscore,XsnFeatureDescription;

Version=1.0.0.0

Scope=Site

DefaultResourceFile=ipfscore

ReceiverClass=Microsoft.Office.InfoPath.Server.Administration.XsnFeatureReceiver

ReceiverAssembly=Microsoft.Office.InfoPath.Server, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c

xmlns=http://schemas.microsoft.com/sharepoint/>

<ElementManifests>

<ElementManifest
Location=Elements.xml />

<ElementFile
Location=IPDeplotyment.xsn />

</ElementManifests>

<Properties>

<Property
Key=FeatureName
Value=FirstIPFeatureWayDeployment />

</Properties>

<ActivationDependencies>

<ActivationDependency
FeatureId=C88C4FF1-DBF5-4649-AD9F-C6C426EBCBF5 />

</ActivationDependencies>

</Feature>

Element.xml

<?xml
version=1.0
encoding=utf-8
standalone=yes?>

<Elements
xmlns=http://schemas.microsoft.com/sharepoint/>

<Module
Name=XSN
Url=FormServerTemplates
RootWebOnly=TRUE>

<File
Url= IPDeplotyment.xsn
Name=IPDeplotyment.xsn
Type=GhostableInLibrary />

</Module>

</Elements>

Steps in Short:

  • Develop your IP form.
  • Publish it to the network location as how you do to upload to the Central Administration Upload Form Templates.
  • Create one Feature.xml, Element.xml as defined in the article [Sorry how workflow does ;)].
  • Put in the IP form and create a feature out of it.
  • Its all.

Categories: Uncategorized