2011-04-11 6 views
1

J'ai développé un Orbeon Form avec 500 contrôles. Il a beaucoup de contrôles interdépendants qui conduisent à un tas de conditions de liaison pour requis, en lecture seule, calcul etc ..Comment améliorer la performance/l'exécution d'Orbeon Form

Maintenant, quand je change quelque chose dans une liste déroulante, il faut plus de temps pour exécuter les conditions de liaison. Mais cette liste déroulante est liée à seulement 3 autres contrôles sur readonly/required/calculate/pertinent.

Je voudrais savoir si les liaisons de modèle entières sont exécutées chaque fois qu'il y a un changement dans un contrôle ou que seules les liaisons dépendantes sont exécutées.

Répondre

1

Essayez de vérifier xxforms:refresh-itemslink. Que se passe-t-il si ces options select et select1 sont calculées dans l'événement xforms-refresh. Si vous savez que ces options ne changeront pas, le xxforms:refresh-items créera les options une fois au début du formulaire et ne tentera pas de les mettre à jour à nouveau.

Pour des performances plus générale peaufinage: link

1

En plus du lien vers la page wiki sur performance tuning déjà mentionné par @Anthony, il semble que la situation que vous décrivez est exactement ce que la fonction XPath analysis est conçu pour aider à . Sans analyser les expressions XPath, Orbeon Forms doit réévaluer presque toutes vos expressions XPath presque chaque fois que les utilisateurs interagissent avec le formulaire, et parfois même plusieurs fois par interaction. Maintenant, vous devez savoir qu'il s'agit uniquement d'une fonctionnalité PE, mais si vous n'utilisez pas déjà Orbeon Forms PE et que cette fonctionnalité fait une différence sur la performance de votre grande forme, il se peut que le PE soit ça vaut le coup pour toi.