Condividi tramite


Upgrading InfoPath 2007 forms with Person/Group Pickers to InfoPath 2010

Hi, this is Frank Mueller again and this is the second of two posts that I’ve written about the InfoPath 2010 Person / Group picker control. InfoPath 2007 form templates containing the Person/Group Picker control (formerly named Contact Selector) will continue to work in InfoPath 2010 the same way they used to as long as the form template remains in the InfoPath 2007 Form Template format. However, if you wish to upgrade your form template to InfoPath 2010 to take advantage of newly added functionality for the control (see this blog post for more details) or other exciting new features, you will have to perform the steps outlined in this post in order to use the Person/Group Picker.

Attention: If you follow the steps outlined in this blog post to change your form template, you are changing the data schema of the form template. This means you will not be able to view any previously filled out forms with the new form template. In order to avoid data loss, you should create a new InfoPath 2010 version of your form template and publish it to a different location. This way you can continue to view previously filled out forms with the InfoPath 2007 version of your form template.

Saving the form template in InfoPath 2010 form template format

  1. Click the File button and select Save As
  2. In the Save As dialog select the corresponding InfoPath 2010 Web Browser or Filler Form Template in the Save as type dropdown.
  3. Change the file name to be something different so that you don’t overwrite your existing form template
  4. Click Save

Removing existing versions of the control from the form

After the form template is saved in the new format, you will notice that each Person/Group Picker in your view will show the following error message when you hover your mouse cursor over it.

Incompatibility error visual

Also the Design Checker task pane appears, indicating that the version of the Person/Group Pickers in the view is not compatible with InfoPath 2010. For each Person/Group Picker in all views, do the following:

  1. Select the Person/Group Picker control in the view
  2. Notice that the XML node tree that the control is bound to will be highlighted in the Fields task pane (if the Fields task pane is not visible, click Show Fields on the Data tab in the Ribbon).
  3. Delete the highlighted XML node tree by deleting the root node in the Fields task pane (Right-click the node, and select Delete from the context menu)                                                   Fields Task pane
  4. Select the Person/Group Picker control in the view and delete it
  5. Use the Controls Gallery on the Home tab to insert a new Person/Group Picker at the position in the view where you just deleted the control
  6. Right-click the newly inserted control in the view and select Person/Group Picker Properties from the context menu
  7. In the Person/Group Picker Properties dialog select the SharePoint Server tab
  8. Type in the URL of the SharePoint site (If you don’t know the SharePoint site that the control used to connect to, please follow the optional steps at the end of this blog post.) Control Properties
  9. Click OK to close the dialog

 

Testing the Person / Group Picker

Preview the form in InfoPath Designer or publish the form to a SharePoint site (be sure to publish to a different location in order to be able to view previously filled out forms) and view the form, enter a name or logon alias, click the “Check Names” button and resolve the name! Alternatively you can click the “Address book” button to perform a search if you do not know the complete name of the user.

Configuring advanced SharePoint list control properties (optional)

To configure advanced control properties  that are new in InfoPath 2010, such as limiting the entities the control can pick, as well as requiring the control to contain data before the form can be submitted, follow the steps in this blog post.

Determining the SharePoint site URL (optional)

If you added the control to your InfoPath 2007 form template following the steps outlined in this blog post, you will have created a data connection called Context, which specifies the SharePoint site the Person/Group Picker should connect to. Follow these steps to recover the data connection XML file and obtain the URL of SharePoint site:

  1. Start InfoPath Designer 2010 and open your InfoPath 2007 form template
  2. Click the Data tab and select Resource Files Data Tab - Resource Files
  3. In the Resource Files dialog select Context and click on the Export button to save the data connection XML to a location on your hard drive.
  4. Open the XML file in a text editor (e.g., notepad)
  5. Write down the siteUrl to configure the Person/Group Pickers

Frank Mueller

InfoPath Developer

Comments

  • Anonymous
    October 26, 2010
    As soon as I select the picker control, it prompts me to bind it to data in a form I am trying to upgrade. If I create a new form, I can add the control, and it creates the group for me automatically. Is there something else I need to be aware of? My Main data connection group is not labeled myFields. I have tested to see if modifying that has any effect but it did not.

  • Anonymous
    February 21, 2011
    We are having a similar problem to Tom.  We have an InfoPath form created from a Word form.  It never had any people pickers.  When we try to add one, instead of the above dialogs, we get a Person/Group Picker Binding dialog, but cannot bind to anything.  New forms create the people picker fine.  Is there a settint that we are missing? Thanks. James

  • Anonymous
    November 20, 2011
    I'm having the same problem as these other two gentlemen. I've chosen "Save As" from the File tab and saved the template as an InfoPath Web Browser Form Template in the hopes that this would nudge any meta-data to let InfoPath know that this is a form designed for 2010. No joy.

  • Anonymous
    February 19, 2012
    i got a scenario to get desktop items and share point items (May be library/List items) into Info path2010 form? How can i do it? Thanks in advance. do reply to naaraayana@gmail.com

  • Anonymous
    August 28, 2013
    I've already tried this change from Infopath 2007 forms to Infopath 2010 but in the options menu in Save As, obviouly it only supports 2007 or less versions. There's no choice for InfoPath 2010 template.

  • Anonymous
    June 25, 2014
    We tried to upgrde/migrate InfoPath 2007 Form Template to InfoPath 2010 Form Template (maybe later to 2013 version). One problem we encountered for the People/Group Picker Control (original Contact Selector control in InfoPath 2007) is when we working n InfoPath 2007 version, we could set Rule onto the fields included in the Contact Selector control group like the "AccountId" or "DisplayName" there. But when we upgrade to InfoPath 2010 or InfoPath 2013, we could not keep or set Rules onto the fields included in the new People/Group Picker Control group field at all.   By following this blog steps, the Rules set on the orignal Contact Selector control field will be deleted with the XML root node together. But after insterting/adding the new People/Group Picker Control there, I could not find any entry to set a Rule on the field like "AccountId" or "DisplayName" bind to the control again. The only rule we could set is on the group level formatting rule.   Is this a product compatibility/upgrade bug? Do you have any other suggested workaround/solution to keep original Rule settings on the control fields when upgrading/migrating from InfoPath 2007 Form Template to InfoPath 2010/2013 Form Template there?  I think we could not juse keep the InfoPath Form Template as the InfoPath 2007 Form always. Thanks for your suggestion and any information on this. Best regards, David