Wednesday, March 26, 2008

InfoPath Property Promotion Woes

Note: I experienced this issue with Administrator Approved templates only. I am unaware if this is a problem with either of the other publishing methods or if it will fix those problems.

I have been having issues lately with property promotion in InfoPath 2007 forms. When I create, publish, and deploy a form to a SharePoint site, promoted properties function correctly. If I add new structural elements and property promotion settings to a form after it has been deployed to a SharePoint site and is in use in a form library, then the new properties do not appear in SharePoint at all.

This has surfaced as a concern within my company as we have a few forms in use which require structural/property promotion changes. After several days of searching for any information on the capabilities and limitations of property promotion, I stumbled upon the following forum entry: Property Promotion - Full Trust Form - TechNet Forums.

In this forum post, there is some discussion of whether this is a bug or by design and possible resolutions.

Jasbury summed up the thread as:
The workarounds presented in this thread suggest the following:
  • Rebuild the library or site

  • Replace InfoPath’s “Automatically determine security level” with “Domain Security”

  • Deactivate/Reactivate the InfoPath Form Template from the Site Collections

The first suggestion was not an option for my situation.
The second suggestion did not apply to me as I experienced problems with automatic, domain, and full trust permission levels.
The third option, however, was right on the mark. Once I deactivated/reactivated the template, the new properties were promoted successfully.

Thanks to bobchauvin for originally suggesting this:
I also notice when using the Publish to Sharepoint as a content type that a change to the promoted cols wont take effect until you disable and then re-enable the content type for the site collection.

With a little investigation, I discovered what was causing Jasbury's problem here:
I was able to deactivate/reactivate with some success (thanks for this work-around!!!). The missing content type columns were added. However, changes to InfoPath property promotion were not reflected...huge bummer!! That leaves me with no other options that to start over…again!

This is due to the order in which the steps were completed rather than a bug within SharePoint/InfoPath. Field values within an InfoPath form are copied into the corresponding SharePoint columns when the form is saved/submitted. If people have been filling out forms prior to fixing the missing columns in the content type, these values will not be stored anywhere. Once the content type is correct, simply open any forms and save them again for the values to be copied.

I recommend the following order for updating a form which has property promotion/structural changes:
  1. Deactivate the form from all site collections it is active on

  2. Upload the new version of the form

  3. Reactivate the form on all necessary site collections
When you go to your SharePoint site, the content type will now reflect the correct promoted properties, and these columns will be available for use withn your form library views.

Enjoy!
--andrew

19 comments:

  1. When the form template is deactivated, what happens to all the forms that have already been created using that template? I have a library that already has documents I can't loose abd I need to promote another column, will this solution work for me?

    ReplyDelete
  2. Thanks a lot for summarizing the issues and its solution.

    I had deleted and re-created the form library several times before i found the solution here.

    ReplyDelete
  3. garrido,

    When the form template is deactivated, the form content type remains, but the form template (from the Form Templates library) is removed. However, once you reactivate the form, the content type will be updated and the form template placed back into the Form Templates library.

    This means, your existing completed forms will remain in the library, but for the duration between deactivating and reactivating, opening any of them will result in an error message. You will also be unable to submit any new forms.

    Please note: When uploading an InfoPath form via Central Administration for the first time, there is no interruption of service to any SharePoint sites. However, when uploading a new version of an InfoPath form (and the system needs to upgrade), the Application Pool will recycle itself, resulting in a brief period where you'll receive a white screen with "Service Unavailable" when attempting to navigate to any site. Try to upload new versions of forms during off-hours.

    ReplyDelete
  4. I found that I had to use "YourSite > YourFormLibrary > Settings > Add Columns from Site Columns" to add my promoted fields before I could use them in my views.

    ReplyDelete
  5. Thank you very much ! I was pulling my hear for 2 hours by doing again and again a new form version update to the CEntral Admin with new Property Promoted columns.
    THANKS A LOT !

    ReplyDelete
  6. I'd like to thank you for taking the time to submit this information. Admin approved templates are a total gray area in the form process and you've filled some important gaps!

    ReplyDelete
  7. It saved me a day. Thanks a ton!

    ReplyDelete
  8. Thanks a ton!!! Good article.Very well summarized.

    ReplyDelete
  9. I got my columns by this way Thank you so much!

    I found that I had to use "YourSite > YourFormLibrary > Settings > Add Columns from Site Columns" to add my promoted fields before I could use them in my views.

    ReplyDelete
  10. Thanks a lot, you saved my life. After working a day with Jasbury's solution, without succes. Your solution took me 2 minutes.

    ReplyDelete
  11. Thank you! Great answers to a problem that's been driving me nuts

    ReplyDelete
  12. @Andrew: Exemplary writeup, thank you very much for taking the time to research, investigate, and document this so well and for sharing your results. I sure hope your company appreciates you.

    ReplyDelete
  13. Man after a couple of hours of frustration, I found your post. Thanks!! It works for me now.

    ReplyDelete
  14. What if the form isn't published centrally, but a regular form just published right to the sharepoint forms library? There is no option to activate/deactivate from site collection features.

    Are there other ways to trigger the process? Does SharePoint 2010 add anything useful to this discussion?

    Thanks!
    Toby

    ReplyDelete
  15. Toby,

    I have been out of the SharePoint game for a little over a year now (been doing Unity3D game development), so the following information may be a bit out of date.

    When I was attempting to update forms published directly to the SharePoint forms library (rather than as a site content type), I experienced great difficulty in being able to update previously deployed forms. The deployment process wanted to make a new form type, rather than updating the existing type.

    My main suggestion (if possible) using SharePoint/InfoPath 2007 is to make them administrator approved templates deployed through Central Administration. In addition to being able to fix/update the promoted properties, it also greatly helps maintain a repeatable deployment method in the event of restoring/recreating a site from backups.

    Unfortunately, I stopped doing SharePoint work with 2007, so I'm helpless with regards to the improvements made with either SharePoint or InfoPath 2010. Best of luck with your situation!

    ReplyDelete
  16. I have gained a lot of information from this post and the people who have participated here. Keep up the good work people!!!

    ReplyDelete
  17. You just made something that I thought was so difficult be, truly, so easy! Thanks for the post!

    ReplyDelete
  18. Excellent! Thanks for this - I've been looking at this feature for ages. Followed your instructions and it works a treat!

    ReplyDelete