Contrôle du flux à l'aide de sections

Lorsque l'utilisateur navigue dans les différentes sections d'un script à l'aide du bouton 'next', un lien pour chaque section terminée sera activé dans le panneau des sections sur la gauche de l'écran (dans la configuration par défaut). Si l'utilisateur clique sur ce lien, il accédera à la page de synthèse de cette section. Toutes les sections terminées précédemment restent activées tandis que l'utilisateur avance et recule dans le script. Par exemple, si les quatre premières sections sont terminées dans le script, un utilisateur peut passer à la page de synthèse de l'article 3, puis à la page de synthèse de l'article 1, et revenir à la page de synthèse de l'article 3. Les sections sont activées uniquement jusqu'au point le plus avancé du script auquel l'utilisateur a accédé. Si la section la plus éloignée n'est pas encore terminée (c'est-à-dire que l'utilisateur n'a pas accédé à la page de synthèse de cette section), le lien de cette section qui amène l'utilisateur à sa page de synthèse l'emmènera à la page la plus éloignée consultée dans la section. Si aucune page de synthèse n'a été définie pour la section, ou si la page de synthèse est conditionnelle et n'a pas été affichée, la navigation amènera toujours l'utilisateur à la page visitée la plus avancée dans la section.

La liste des sections activées peut changer en fonction des actions qu'un utilisateur entreprend lors de l'édition et de la suppression des réponses précédentes ou de l'ajout de nouvelles. Par exemple, un utilisateur progresse à travers un script qui contient 5 sections et est arrivé à la page de synthèse de la quatrième section. L'utilisateur revient ensuite à la deuxième section et modifie certaines réponses. Si les nouvelles réponses sont utilisées pour déterminer le flux des parties ultérieures du script, il n'est plus sûr de permettre à l'utilisateur d'accéder à toutes les pages du script, car le trajet original emprunté par le script peut ne plus être valide. Toutes les sections après la section contenant la page sur laquelle les nouvelles réponses ont été données seront automatiquement désactivées. L'utilisateur est obligé d'utiliser le bouton Suivant pour progresser dans le script, afin que le trajet correct soit déterminé en fonction des nouvelles réponses. Aucune information saisie précédemment n'est supprimée lorsque des sections sont désactivées, sauf si les pages contenant les informations ne font plus partie de l'exécution du script.

Certaines sections peuvent contenir des questions applicables uniquement en fonction des réponses précédentes. Il est possible de rendre certaines sections conditionnelles : un attribut "visible" peut être spécifié sur des sections. Il contiendra une expression qui sera évaluée au début de l'exécution. Si elle est définie sur false, la section sera supprimée de l'exécution et ne s'affichera pas dans le panneau des sections. Une autre possibilité consiste à encapsuler tous les éléments contenus dans une section (y compris la page de synthèse) dans une seule condition. Cette navigation conditionnelle suivra la même logique que les conditions existantes, de sorte que l'expression sera évaluée lorsqu'elle sera détectée lors de l'exécution du script. Dans ce cas, les sections seront affichées dans le panneau des sections, même si elles ne sont pas détectées par l'utilisateur (mais elles seront désactivées).