Few performance tuning techniques for Xform
We have a Orbeon Xform which is around 1.5 MB in size. It contains around 450+ controls in it. Hence the performance of the Xform is extremely bad. Kindly recommend few t开发者_运维知识库echniques to improve the performance of this complex Xform.
Two suggestions:
(a) don't use such a big form
(b) invest in some consultancy from the Orbeon guys.
Sorry if those suggestions seem banal, but I don't think you're going to solve the problem without doing either or both.
Make sure the form is static, so that the caching in Orbeon can work well. This means anything dynamic (anything which is different each time the form loads) is confined to instance data, rather than using XSLT/other templating to generate variations in the form. Any instance data should be loaded using the @src attribute on the xforms instance rather than using onready events. There is some debugging you can enable to see how well the caching is being used.
For any reference/non-editable data, mark instances as readonly or better as shared instances. Check the docs for more information.
Make sure you're using the latest version of Orbeon (currently 3.9 RC1).
Try the performance edition, there is a free evaluation version you can use to test if this provides any improvement.
If you're able to post the source of the form, you might get some more specific pointers. However, 450 controls is still a lot to have on one page at a time, Michael's suggestion about splitting the form is a good one.
精彩评论