Microsoft InfoPath 2010
The official blog of the Microsoft InfoPath team

Comparing SharePoint List and Form Library Forms

Comparing SharePoint List and Form Library Forms

Rate This
  • Comments 31

So you’ve heard about SharePoint list form customization in InfoPath 2010 and you’ve seen the cool demos. But you may be asking yourself – What’s the difference between list and library forms and when should I use one or the other? In this post, we will answer these questions and provide guidance on when to create list vs. library forms.

When designing InfoPath forms for SharePoint 2010, the first choice you need to make is between a SharePoint list form and a SharePoint form library form.

Popular Form Templates

Recommendation

Use a list form if you just need to collect data and store it on SharePoint. Use a form library form if you want more advanced functionality such as complex or repeating data or code.

What are list forms and form library forms?

SharePoint list forms store data directly in a SharePoint list.  Each control (e.g. text box) in the form is bound to a column in the list. SharePoint list forms are directly connected to the list, which means that you don’t have to worry about setting up the publish and submit locations.
Form library forms store data in XML files in a SharePoint form library. This means they are more flexible and you can do more with them. For example, they can be configured to save drafts and submit to different locations. However, they are more complex to work with and require more decisions to be made during configuration.

Because the way data is stored between these template types is different, it is not possible to switch between them.

Guidelines

Here are some basic guidelines to help you decide what type of form to design.

Use a list if:

  • You want to quickly get started building InfoPath forms on SharePoint
  • You need to use your form offline with SharePoint Workspace (formerly Groove)
  • You want to filter your SharePoint list based on a person or group
  • You would like to use the built-in display / edit views

Use a form library if:

  • You have repeating or nested data
  • You are working from a predefined industry or complex schema
  • Your form needs to be digitally signed
  • You need code in your form
  • Your form is not hosted in SharePoint or you need to store results as an XML document

How can I build advanced functionality into my forms?

In general, form libraries provide better support for more complex and advanced forms. Here are a few examples of the way InfoPath can be used to build more powerful forms.

Repeating data or complex schema

  • In some cases, you will want to collect repeating data in a form. For example, you have a project proposal form and want to include a list of potential risks for each project, or you have a book request form where users can request multiple books at once.
  • If you have a schema that has any nesting or repeating structures, or a defined industry schema such as Dublin core or Health Level 7, form library forms will allow you to organize your fields into groups to match your schema as opposed to having to flatten your schema to work with a list.
  • SharePoint lists store only one value per column; you can’t use list forms to store repeating data in a single item. As form library forms use XML to store data they can store repeating data in a single form.

Using repeating data in list forms

  • If you have a SharePoint list form, you have several options for dealing with repeating data other than using the built in support of a form library.
  • If part of your content is repeating, consider flattening that schema so that it can repeat. For example, you could limit your book request form to no more than ten books per form.
  • You can also use multiple lists and link them together using lookup fields and web part connections. This works well for master/detail scenarios where one list tracks all the items and another contains the specific details for each item.

Using repeating data in form library forms

  • Form library forms include controls that are designed to deal with repeating data inside the current item.  Form libraries have built-in support for repeating data with controls such as plain list, bulleted list, numbered list, repeating table, and repeating section.
  • They also support more customization of the form using the choice group and choice section controls. Advanced choice controls such as option button and optional sections are also available. All of these controls will be available by default in the controls gallery in InfoPath Designer for form library forms.

Digital Signatures

Managed Code

  • Form libraries support code-behind. This will allow you to do actions beyond logic in your form, such as advanced financial calculations.
  • Code can be used to extend InfoPath functionality or create custom business logic.
  • For example, in a pet food store you may use an InfoPath form to track food orders and use code behind the scenes to make sure you have enough inventory to meet the order and make sure that it isn’t sold before the form is submitted.
  • For more detail about forms with code, see Introduction to Programming in InfoPath 2010.

Control over where your form is stored

  • Form libraries allow you to choose the location of where your form XML is sent when the form is submitted.
  • If you need to store your form as an XML document for use outside of SharePoint, then you should use a form library.
  • For example, if you have an insurance questionnaire and you want to store the completed form in a document collection with related content, a form library will allow you to do this.

Bottom line

Overall, both list forms and form library forms support much of the key functionality that InfoPath provides, such as data validation, custom rules, default values, and control over visual layout. In most cases, a list form will be sufficient for your needs. Lists have the most straightforward design and form management experience. However, for more complex scenarios such as repeating data or the need to add code, a form library may be necessary.

Please leave a comment if you have any further questions!

Daniel Broekman and Kate Everitt

InfoPath Program Managers

Leave a Comment
  • Please add 3 and 4 and type the answer here:
  • Post
  • Great post, thanks !

    I know that I can't use Infopath List Forms to manage data that includes Managed Metadata.  My guess is I could probably use Form Libraries, in conjunction with OOTB SP web services, to paliate.  So it is probably another reason one would go with Form Libraries.

    It would be great to see a blog on that particular topic !

  • Thanks for your comments. Managed Metadata Columns in InfoPath 2010 are supported in Document Information Panels only.

  • In SharePoint 2007 (WSS/MOSS v3) we were only allowed to show flat data structures once the InfoPath form was published to a Form Library. has this restriction been removed/enhanced and now allows for nested data displays (how many levels)? Or, are we still left up to ingenious ways of showing nested data from the InfoPath Form (more than one set of nested data in the form)?

  • In response to the previous comment from John Shaw, are you referring to promoting fields from the form as columns to the SharePoint library? If so, this functionality has not changed in InfoPath 2010. You can store nested data inside the form but nested values cannot be stored in SharePoint columns.

  • Thanks very good explanation.

    I needed that. :)

    Edward

  • what about getting data from web services on a form , i suppose only form library forms can do it.

    any way great article

  • Both list and library forms support Web service data connections.

  • Why in the world would the "option button" be unavailable for SharePoint list forms? All of my radio button fields get automatically converted to drop down lists, which is very frustrating! Is there anyway to use radio buttons in infopath without using a a form library?

  • You can use option buttons in list forms by right-clicking any dropdown control and choosing Change Control -> Option button, but you’ll have to copy/paste the option button several times to get the correct number of choices, and you’ll have to manually set up the correct value for each option so the right value is saved to the list when the form is submitted.

  • I would like to use combo list box option in Groove but it is not supported, is there a work around. Essentially all I would like to do is allow users to add to the drop down list.

    Many thanks, Toby

  • Hi, I'm new to InfoPath and I'm currently using a form library for a simple form I've been working on.  According to your checklist I think I can use a list instead, but I'm not clear on what is considered repeating data.  I am using a repeating table to allow multiple attachments to be attached to the form. Does repeating table = repeating data?

    Thanks.

  • Confusing!!!

    Am new to sharepoint and infopath.Please provide more explaination regarding this concept.It is very helpful to begineers like me.

  • Great post. Thank you ! That's clear.

  • Hi, Nice Post.

    I was using List forms but wanted to add repeating tables that i could not because option of repeating table was not present in the controls.

    Now i know where i was wrong.

    My suggestion is to provide a tool tip help on the control, that you cant choose repeating table unless you make a form library form type.

    Thanks.

  • Why do forms not support managed metadata? Is this being considered or worked on?

Page 1 of 3 (31 items) 123