Friday, May 11, 2007

Frustations with Infopath and MOSS

I've been very busy the last few months with building Infopath forms that are published to a MOSS server and during this period I came accross some pretty annoying things. And ofcourse I want to share my frustations with you in the hope you don't get these frustations as well (or just to let you know you are not the only one ;)

1. Content Types

Be very aware of the functionality of ContentTypes, as soon as you publish your infopath form with custom code in it, it becomes a contenttype. This is not ideal if you are not sure which fields you wanted to promote as columns in Sharepoint.  You could end up with a contenttype with several columns you never use. Or even worse, new fields are not added (c.q. promoted) to the existing contenttype, so you cannot use them in your custom workflow.

2. Deletion of the feature elements by MOSS

Every once in a while I am deploying a new version of a form, using the central administration page to upload the form, I receive the following error:

Failed to find the XML file at location '12\Template\Features\FT-01-15c4e6f3-1f3b-d12c-fcac-6cf906ce99b6\Feature.xml'

What happens is that Sharepoint is trying to upgrade the form. During this upgrade a new subfolder is created in the "FT-xxx" folder where the last version is stored. And what I think is happening is that the new version of the solution file is not stored in a main folder so Sharepoint cannot update the feature.xml and elements.xml and therefore deletes them.
To solve this problem, you just copy the feature.xml and elements.xml from another form template and modify these accordingly to the 'corrupt' form template.

3. The form has been closed

This one I do not yet understand, sometimes if successfully published a new version of my form template and want to to view/open the form and then without any error I'm confronted with 'the form has been closed' message. My solution to this is just republish the same form and waste another 5mins and then it works..


Don't get me wrong btw, it is a great feature and I will continue to use to build relatively easy forms with it. I just had to write off my frustations :)


Bryan Phillips said...

I have had all of these frustrations and then some. Check out Rob Bogue's post for more hair-pulling fun: Dear Mr. InfoPath: (An open letter to the InfoPath Team)

Robin Meuré said...

Haha yeah I just read Robert's post. Nice to know we are not the only ones eh ? :)

andrew said...

thanks! your observation with #3 helped me out. republishing the form template didn't work for me - still got the senseless "form has been closed message" with no errors or anything to go on. but i did figure out that forms previously filled using an earlier version of the form template caused the issue if their "solutionversion" attribute inside the "mso-infoPathSolution" directive was equal to or greater than the version of the published form template itself. i was using data with an identical schema from a different (later) version form and apparently forms services didn't like the fact that the different (earlier) version template was being used to display it. your work-around works because republishing the form template requires that you increment the template version and then it is greater than all previously filled out forms that point to that template. it didn't work for me because incremementing 1 version # wasn't enough to make it greater than the existing forms. this explanation probably makes no sense. you'd think form services would at least tell us WHY it doesn't like something rather than just closing the stupid thing. thanks again!

Martin D said...

Thanks for the tips. I had exactly the same problem mentioned in #3. Solved it by publishing exactly the same template to a complete new library. Now it works. I'm sure it has something to do with the version SharePoint has cached or something. I needed to merge all the existing filled-in forms from the 'old' library into newly created forms. No big deal, because only 3 forms existed.

RatSlave said...

I loved this post. First of all the part about the feature.xml is what helped me and second, I totally understand your frustration. I too still think it is a good tool. :-)

Marijo said...

For the versioning part #3, solved it by increasing the form version to a higher value then the one on sharpoint trough infopath -> tools -> form options -> versioning. Now all my previous and new forms work without the senseless "form has been closed" message.
Thanx for the post, really helped.