InfoPath 2010 Form List vs Library Template Features

Products:  SharePoint InfoPath 2010

New with SharePoint 2010 is the ability to customize the layout and presentation of a list directly from the ribbon.  In one (1) click you have access to the current version of the InfoPath Form.

Since 2003, InfoPath had the ability to publish a form using the Form Library template.

A subset of the Form Library features are now available in the Form List template.

I have included a few features of each list followed by direct links to some helpful best practices.

Form List Template

  • start by developing the list within a site first and then customize with InfoPath
  • columns defined in the form are all exposed within the list (full promotion)
  • submit via the toolbar option
  • offline data capture available via the SP Workspace; resync with network connection
  • supports flat file structures (no nesting or repeating elements; single selection)
  • workflows supported
  • editing of data via the Datasheet View IS allowed (see List Advanced Settings)
  • digital signatures are NOT supported
  • supports cascading dropdown lists
  • can not create a connection to a list to customize the submit process

Form Library Template

  • start by developing the form within InfoPath first and then publish to a site to create the Form Library
  • select the form columns to expose within the library (choice promotion)
  • submit via the toolbar option or a custom action thru a library connection
  • offline data capture available via the InfoPath Filler template
  • supports tiered file structures (nesting, repeating elements; multiple selections)
  • workflows supported
  • editing of data via the Datasheet View IS allowed (see Form Library Advanced Settings)
  • individual entries are more portable as each is a separate xml file
  • digital signatures ARE supported (single, co-sign, counter-sign)
  • supports cascading dropdown lists
  • may create a new connection to a library to customize the submit process

General Best Practices

  • Adjust the form width for the maximum real estate allowed with your user’s browsers
    • select the base form
    • select the ribbon tab of Layout
    • select Width within the ribbon section of Cell
    • select the Column tab
    • update the width to 800+ pixels
    • save the changes
  • Perform a ‘Save As’ to save the current version of your InfoPath Form to your desktop, jump drive or favorite server location
    * this is a great way to preserve the last ‘great’ version of your form prior to including additional requirements that ‘may’ break your production form
  • Adjust the InfoPath Form Services Timeout Setting within Central Admin for the best user experience
    • Active Session value:  1440 minutes (24 hours)
    • Maximum form session state: 4096 KB
  • Define multiple views
    • breaks down the entry process
    • identifies specific fields by role or process phase
    • allows for redirection to a specific view within the process or on Form Load
  • When multiple views are required on a form, optionally configure the view menu to show in the ribbon of the ‘edit’ form view
    • select the view
    • select the ribbon icon of Page Setup
    • select the General tab
    • check or uncheck the box next to ‘Show on the View menu when filling out this form
  • On Form Load, direct the user to appropriate view based on item Status and alternately open the form in ‘Edit’ (EditForm.aspx) or ‘List’ (DispForm.aspx) mode using the following URL statement syntax
    http://{server}/{site}/Lists/{ListName}/editform.aspx?ID={CurrentItem:ID}&Source={URL}
  • If your users find the “Cannot Be Blank” help text of ‘required’ fields annoying, hide the popup/tooltip with a little bit of CSS on the “newifs.aspx” page
  • Use the REST web service data connection to retrieve a custom list view of data

Gotchas

  • Configure multi-line columns as Plain Text within the SharePoint list otherwise the form may not be compatible across browsers and field content will unexplicably disappear; especially, when drop down boxes are also present on the form
  • Remove unnecessary white space in form ‘sections’ by setting the Height to the minimum allowed (ie; 4 pixels); by default, a section Height is set to automatic
  • Remove unnecessary white space in multi-line form fields by setting their Size Height to auto; by default, the Height is set to 50 pixels
  • Only one ‘Save’ is allowed per form session; in other words, a user can not save a form entry/item multiple times within the same session
    NOTE:  Traversing multiple views within a form session is allowed

REST Web Service Data Connection

It is often helpful to retrieve additional data elements from existing SharePoint lists to help drive conditional processing or to retain for further downline processes (ie; workflow).

A recent scenario required that only one entry for each employee be allowed in a custom list (ie; Employee Voting).  As the survey template was not a viable solution option, we opted to configure a custom list.

A custom list view was created to return only those entries that related to the employee who was voting … the filter condition was:  Created By (is equal to) [ME]

Within InfoPath at Form Load time, we created a data connection to retrieve a maximum of 1 entry from the list view for the employee.

Example …

http://yoursite.com/yourlist/_vti_bin/owssvr.dll
?Cmd=Display
&List={19826A5F-CB89-4044-BE0E-D50564D63435}
&View={8A542F78-D218-4E9C-816E-C457793F60F0}
&XMLDATA=TRUE
&noredirect=true

Best Practice References

Part 1 http://msdn.microsoft.com/en-us/library/ff961896.aspx
Part 2 http://msdn.microsoft.com/en-us/library/office/ff961895.aspx

Technet
http://social.technet.microsoft.com/Search/en-US/sharepoint?query=infopath%20forms%20services%20best%20practices&Refinement=26&ac=2

Extended Resources

[Copy the following into a Calculated column to capture the integer output]

=IF(AND((WEEKDAY([End Date],2))<(WEEKDAY([Start Date],2)),((WEEKDAY([Start Date],2))-(WEEKDAY([End Date],2)))>1),(((DATEDIF([Start Date],[End Date],”D”)+1))-(FLOOR((DATEDIF([Start Date],[End Date],”D”)+1)/7,1)*2)-2),(((DATEDIF([Start Date],[End Date],”D”)+1))-(FLOOR((DATEDIF([Start Date],[End Date],”D”)+1)/7,1)*2)))

http://yourwebserver/site/_vti_bin/UserProfileService.asmx

Feedback welcome.

How has SharePoint affected you?

Advertisements
This entry was posted in InfoPath, SharePoint. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s