Control del flujo mediante secciones

A medida que el usuario navega a través de las distintas secciones de un script utilizando el botón "siguiente", se habilita un enlace por cada sección completada en el panel de secciones a la izquierda de la pantalla (en la configuración predeterminada). Una pulsación en dicho enlace llevará al usuario a la página de resumen de esa sección. Todas las secciones completadas anteriormente permanecen habilitadas mientras el usuario se mueve hacia atrás y hacia adelante a lo largo del script. Por ejemplo, si se completan las primeras cuatro secciones del script, un usuario podrá saltar a la página de resumen de la sección 3, y luego a la página resumen de la sección 1 y volver a la página resumen de la sección 3. Las secciones solo se habilitan hasta el punto más lejano del script visitado por el usuario. Si aún no se ha completado la sección más lejana (es decir, el usuario no ha accedido a la página de resumen de dicha sección), el enlace de dicha sección llevará al usuario a la página más lejana que haya visitado en la sección en lugar de llevarlo a su página de resumen. Si no se ha definido ninguna página de resumen para la sección, o si la página de resumen es condicional y no se ha visualizado, la navegación seguirá llevando al usuario a la página más lejana visitada en la sección.

La lista de secciones habilitadas puede cambiar en función de las acciones que un usuario realiza al editar y suprimir las respuestas anteriores o al añadir nuevas. Por ejemplo, un usuario avanza a lo largo de un script que contiene 5 secciones y ha hecho hasta la página de resumen de la sección cuarta. A continuación, el usuario vuelve a la segunda sección y edita algunas respuestas. Si las nuevas respuestas se utilizan para determinar el flujo de partes posteriores del script, entonces ya no será seguro permitir al usuario que se mueva por todas las páginas del script porque podría ocurrir que la ruta original seguida a lo largo del script ya no fuera válida. Se inhabilitarán automáticamente todas las secciones posteriores a la sección que contiene la página en la que se han dado las nuevas respuestas. Se forzará al usuario a utilizar el botón Siguiente para avanzar a lo largo del script para que pueda determinarse la ruta correcta en función de las nuevas respuestas. Cuando las secciones están inhabilitadas, no se descarta la información previamente especificada a menos que las páginas que contienen la información ya no formen parte de la ejecución del script.

Es posible que algunas secciones contengan preguntas que sólo son aplicables dependiendo de respuestas anteriores. Es posible hacer que algunas secciones sean condicionales: en las secciones puede especificarse el atributo 'visible'. Dicho atributo contiene una expresión que se evalúa al comienzo de la ejecución. Si evalúa a falso, la sección se eliminará de la ejecución y no se visualizará en el panel secciones. Otra posibilidad consiste en agrupar todos los elementos contenidos en una sección (incluyendo la página de resumen) en una única condición. Esta navegación condicional seguirá la misma lógica que las condiciones existentes, por lo que la expresión se evalúa cuando se encuentra durante la ejecución de script. En este caso, las secciones se mostrarán en el panel de secciones incluso si el usuario no llega a ellas (aunque estarán inhabilitadas).