Wednesday, December 14, 2011

Comparing SharePoint List and Form Library Forms - Info Path 2010

So you’ve heard about SharePoint list form customization in InfoPath 2010. 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.




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!


Difference between SharePoint List and document library

 

 

  1. In to a document library we can upload document which are not blocked file type and some content, which get stored in Content database.
  2. A list on the other hand a just piece of data, just like SQL table although it is possible  to store binary content in to list as well as using attachment.
  3. And with a document library we can SPFileCollection.add(string, stream) – Document Library Accept a stream, means the content can be in memory, or disk or even a TCP/IP socket.
  4. But with List we Only Can SPAttachmentCollection.Add(string, byte) only accepting a byte , means the attachment must fit entirely in one continuous block memory. It this is something you do with large file , your server memory may become fragmented
  5. And we Can Publish a Infopath Form Template in document Library, and this problem is rise when we submit the Form in different place then where you published the form.
  6. We can’t create Folder in List but can in Doc. Library
  7.  Document library the Check in Check out functionality but not in List.
  8. Document library support the Major and Minor Version of files and Folders. But in List only support the Major version. So that two people cannot change the same content at concurrently.
  9. Some type of list have different functions like for instance people being only able to read their own posts, but these are not available in every type of list and are not available at all with document libraries and other libraries.
  10. List have one special List Content type, same as list Library has also DocumentLibaray type content type.
  11. Both list and Library are support Event handler and Workflow like features.