Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια

Accelerating Infopath Forms in Sharepoint 2007

A friend recently encountered a performance problem using Infopath forms published through Sharepoint 2007 Forms Services. One of his clients used Infopath forms for data entry and experienced delays of several seconds when moving from one field to the other. In a data entry scenario this translates to a lot of wasted time. The strange thing is, performance under Firefox was a lot better!

Luckily, Tim Pash discusses this very thing in Tips and Tricks for Tuning Forms Services Performance. The important thing to note is that Sharepoint and Infopath forms make heavy use of Javascript and postbacks. The trick to improving performance is to improve the execution speed of the Javascript code and reduce the processing time for each postback. Here are some tricks from Tim Pash, and Microsoft's Improving the Performance of Infopath 2007 Forms whitepaper, with some personal notes as well.

  • Use the latest version of IE available. IE 7 can execute Javascript code about 5 to 10 times faster. IE 8 feels like it is 10 faster at least. It can also download more than two javascript files at a time, further reducing a page's load time. Pages that would render in several seconds in IE7, render in less than half a second in IE8.
  • Install Sharepoint 2007 SP1. It includes performance improvements in the javascript files - and fixes some annoying errors too.
  • Don't try to integrate data from many different systems in the form itself. Each query costs time, and has to be repeated after every postback.
  • Populate dropdowns from an XML file that is part of the form's XSN. This can be cached and avoids the extra query after each postback.
  • Conditional rendering can be slow too. You can replace it by creating multiple views per form.
  • Rich Text boxes are slow too. These are only supported under IE, so that may account for the improved performance under Firefox - they aren't executed there!
  • Fine-tune the round tripping behaviour of controls using the Browser Forms tab. The less round trips the better. And, as Tim Pash suggests, have them triggered by buttons, so the users know what caused the delay.
  • This one is mine. Instead of putting complex logic in the form, put it on the server. You can create an event receiver using C# or VB.NET and register it on the form's library. This way the code is executed in managed code only when the form is actually submitted.
Έχουν δημοσιευτεί Τρίτη, 3 Ιουνίου 2008 11:05 πμ από το μέλος Παναγιώτης Καναβός
Δημοσίευση στην κατηγορία: ,

Ενημέρωση για Σχόλια

Αν θα θέλατε να λαμβάνετε ένα e-mail όταν γίνονται ανανεώσεις στο περιεχόμενο αυτής της δημοσίευσης, παρακαλούμε γίνετε συνδρομητής εδώ

Παραμείνετε ενήμεροι στα τελευταία σχόλια με την χρήση του αγαπημένου σας RSS Aggregator και συνδρομή στη Τροφοδοσία RSS με σχόλια

Σχόλια:

Χωρίς Σχόλια

Ποιά είναι η άποψή σας για την παραπάνω δημοσίευση;

(απαιτούμενο)
απαιτούμενο
(απαιτούμενο)
ÅéóÜãåôå ôïí êùäéêü:
CAPTCHA Image