Take the 2-minute tour ×
SharePoint Stack Exchange is a question and answer site for SharePoint enthusiasts. It's 100% free, no registration required.

I have a pretty large browser-enabled InfoPath form in a form library. Recently, more people are using it, and we're seeing that it times out after a certain amount of time or postbacks.

Needless to say, the users are getting pretty frustrated, spending over an hour filling out a form and then having it fail and erase everything.

The error on submit is saying something about that the form has timed out. I found this pretty self-explained error in the ULS-logs:

Number of form actions, 220, has exceeded 200, the maximum allowable value per request. This value is configurable and can be changed by the administrator

I've seen there are several places in SharePoint it's possible to modify timeout/session options. Except fixing the form actions per request, what should I modify to ensure that the form doesn't time out (at least for 3 hours)?

What does really number of postbacks mean for a InfoPath form? And what about number of actions per postback?

My (relevant) settings in CA -> Configure InfoPath Forms Services are:

  • Default Data Connection Timeout: 10000 (ms)
  • Maximum Data Connection Timeout: 20000 (ms)
  • Number of postbacks per session: 75
  • Number of actions per postback: 200
  • Active sessions should be terminated after 1440 (minutes)
  • Maximum size of user session data: 4096 (kilobytes)
share|improve this question
    
I think the number of actions per postback was the key here, as my form contained possibly very many fields to update if the form was completely filled out from scratch –  tarjeieo Jul 26 '11 at 9:37

2 Answers 2

If you get a tool called fiddler, and open the form to fill it out, you will see what data is posting back. If you are using a lot of conditional formatting and validation, these are often treated as postbacks. The date picker will often be a postback. So will rich text fields because it opens and closes the toolbar.

You will want to adjust the data connection time out here to ensure that you meet your time limit for all data connections, however, you will also need to adjust your session time out for the web application.

There are a lot of options around creating forms. With it taking over an hour to complete your form, you are going to run into lots of issues, what I would suggest is creating views of your form that break the form down into more manageable parts and then having a save or submit button on each view that will post the form into your form library to save it and then set a value and move to the next view. This way if users leave their desk or something and it causes it to time out, their work is saved in the library and you have set a value that will ensure the form will open in the right view. The views may need to include previous data values, but you can do this as read only sections as you move from view to view so that only those areas that need to be completed at the time are available.

This should greatly improve the performance of your form as well as please your users so that they will not have to start over from the beginning if there is a session time out.

share|improve this answer
    
That's a good idea, and something I will definitely consider the next time I'm approaching a similar task. –  tarjeieo Jul 26 '11 at 9:38
up vote 0 down vote accepted

I think the number of actions per postback was the key here, as my form contained possibly very many fields to update if the form was completely filled out from scratch. Increasing the actions per postback seem to have solved the problem.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.