#ISCLondon – InfoPath Tips & Tricks

1. InfoPath or Not?
– Browser vs Rich Client
Does the user need to work with the form if he is not connected to the Internet?
Yes: InfoPath is a good solution, it runs in the Client!
– Do not try to replace Excel with a form
– InfoPath is not a Data Reporting Solution
InfoPath is good for data input, but not good in performance with output of a lot of data
– Pixel Perfect Forms vs “Close Enough”
– Your SharePoint infrastructure will be impacted
especially with Browser Services

2. UI – Design UI wisely, keep Users Happy
– use Views
– build “tabs” to allow easy navigation
– use database and web service for data connections
– when roundtrips are necessary, let the user initiate the request via a button, so they expect to wait
– use rules to deliver the data your users expect

3. Views
Common Uses
– Tab Navigation
– Previous / Next Wizard
– Confirmation Page
– Separate Pages for Display and Print
– Pages targeted to different audiences

Whenever a user has to scroll, you should use a new view
Navigate to the View using a parameter in the URL: defaultview=[ViewName]
Navigate to the View with the ‘defaultView’ WebPart property
Use the OnLoad Rule to set view
Remember: Views are no security Mechanism

4. Logic
Types of Logic
1. Data Validation
2. Formatting (Colours, Show/Hide)
3. Actions (Buttons, Picture Buttons)
4. Default Values

Use Preview often
Copy/Paste rules to save time
Provide correctly formatted sample values
Utilize OnLoad and OnSubmit rules
Use Sandboxed Solution Code if rules are not enough

Forms Services Best Practices
Design for performance
– try to avoid postbacks
– think long and hard about using custom code
– be realistic about the size of the form and the number of controls
– limit the number of richtext and file attachment controls
– Monitor your environment, e.g. using Fiddler

What causes Postbacks
– conditional formatting
– Complex XPath
– Out of Context Binding
– View Switching
– Multiple Binding, Datafield bound to multiple controls
– unsupported functions (Translate, Position)

make nice pages for viewing forms
try not to get user into the form library

Leave a Comment