Herramientas de usuario

Herramientas del sitio


es:manual:test:variables_de_sesion

Variables de sesión

Las variables de sesión son espacios de memoria referenciados mediante un nombre o identificador, a los que se van asignado valores durante la ejecución de un test.

Las variables de sesión se crean al iniciar el test, tan pronto como se les asigna el primer valor, y desaparecen una vez que el test ha terminado.

Para modificar las variables de sesión el test y las preguntas establecen pequeños programas en lenguaje SSL que se ejecutan cuando ocurren distintos eventos:

  • Al inicio del test.
  • Cada vez que se selecciona una respuesta a una pregunta.
  • Al final del test.

No todas las variables de sesión se tienen que modificar en todos estos puntos. Por ejemplo, supongamos una variable de perfil denominada nFallos, y otra nAciertos, que nos permite medir el número de veces que un alumno ha seleccionado una opción incorrecta o una opción correcta de un test en el que se permite la marcha atrás, y por tanto múltiples cambios en la respuesta a una misma pregunta hasta llegar a una respuesta final.

Siette evalúa la respuesta final y lleva cuenta de los cambios, pero supongamos que se quiere realizar algún tipo de adaptación o mensaje al usuario mientras aún no ha concluido el test.

En este caso lo primero que se haría será fijar el el script del principio del test el siguiente programa:

 nFallos = 0;
 nAciertos = 0;

Luego, en cada pregunta del test se configura una acción diferente si la opción es correcta o si no lo es, es decir, en las respuestas correctas se usaría el script

 nAciertos++;

y en las respuestas incorrectas el script:

 nFallos++;

Al finalizar el test estas dos variables tomarán un valor dependiendo del número de veces que se haya seleccionado la opción correcta o incorrecta, y esta información se asociará a la sesión.

Variables de sesión predefinidas

Inicialmente se definen algunas variables de sesión a partir de los datos del usuario. Las variables están definidas con nombres tanto en inglés como en español, aunque se trata de variables diferentes. El valor de estas variables no debería modificarse (salvo en casos excepcionales):

  • nombre, contiene el nombre propio del alumno
  • apellidos, contiene los apellidos del alumno
  • correo, contiene su dirección de correo electrónico
  • respuesta, contiene el texto de la respuesta que acaba de seleccionar el alumno. Si la respuesta es múltiple esta variable contendrá un array válido en el lenguaje ssl
  • calificacion, contiene la estimación actual del nivel de conocimientos del alumno en la escala del test.
  • orden, contiene el número de la última pregunta, empezando a contar por 1.

Los identificadores de estas mismas variables en inglés son:

  • name
  • surname
  • email
  • answer 1).
  • score
  • order

Variables de perfil

Las variables de perfil son a todos los efectos variables de sesión, con la particularidad de que su valor se conserva entre distintas ejecuciones del mismo o distintos test de una misma asignatura, o incluso entre asignaturas si se trata de variables de perfil globales. Si el uso de las variables de perfil es temporal, es decir, si se van a inicializar cada vez que se entre en un test, no sería necesario definirlas como variables de perfil, sino simplemente como variables de sesión.

La diferencia entre unas y otras es simplemente la permanencia entre distintas sesiones. Las variables de sesión se extinguen y las de perfil permanecen.

Acceso a las variables de sesión y perfil

las variables de sesión y de perfil pueden accederse directamente usando su nombre en los scripts en lenguaje lenguaje SSL que se incrustan al principio o final del test, y en las preguntas. Estos scripts se editan respectivamente mediante las áreas de texto que aparecen al final de las pestañas de Evaluación en la sección de Test y de Contenido en la sección de Preguntas. Los scripts se aplican conforme el alumno va avanzando en la realización del test, actualizando el valor de las variables.

Tambien es posible mostrar el valor de cualquiera de las variables sesión o de perfil incrustándolas en el anunciado, en las respuestas, las ayudas o los refuerzos. Todas estas secciones contienen textos en HTML. Para incluir una variable simplemente se añade su nombre dentro de un doble paréntesis angular. Por ejemplo, para personalizar el enunciado de una pregunta de la siguiente forma:

  Hola <<nombre>>, si este año cumples <<edad>> años. 
  ¿Cuántos años cumplirás dentro de cinco años?

En este ejemplo suponemos que se usa la variable de sesión mombre y la variable de sesión edad, que puede calcularse mediante un script al inicio del test a partir de la variable de perfil del año de nacimiento.

IMPORTANTE: Nótese que el texto de la respuesta de un alumno a una pregunta no está disponible en la propia pregunta, ya que la pregunta se plantea ANTES que la respuesta, y por consiguiente no se conoce al plantear la pregunta, ni tan siquiera en los refuerzos cuya instanciación se ha realizado previamente, aunque no se haya mostrado. Lo que si puede conocerse es la respuesta a la pregunta anterior, declarando para ello una variable de sesión que se actualiza en el script de la pregunta.

Interacción con javascript

Las variables de sesión (y por consiguiente las variable de perfil) son variables que residen en el servidor de Siette, que en principio solo podrán modidifcarse a través de programas SSL que se ejecutan en el servidor.

No obstante, existe un mecanismo para que las interacciones del alumno con la página web de Siette donde se plantean las preguntas puedan ser capturadas y enviadas a Siette como variables de sesión. Las páginas que plantean preguntas contienen dos funciones javascript para leer y modificar las variables de sesión:

  function getVariable(nombre) {
     ...
     return valor;
  }
 
  function setVariable(nombre, valor) {
     ...
  }

Por ejemplo, supongamos una variable de sesión nClicks, que se quiere usar para llevar la cuenta de las veces que el usuario ha abierto un enlace que muestra un texto o una imagen. Para informar a Siette de esta contabilidad, cada vez que se dispara el evento que abre el enlace se añadirá la llamada javascript:

   setVariable('nClicks', getVariable('nClicks')+1);

Preguntas condicionadas

Uno de los usos mas frecuentes de las variables de sesión es para la selección de preguntas en las que se establece alguna condición en lenguaje SSL. Si la condición devuelve true la pregunta puede seleccionarse, si devuelve false, no.

Con las variables del primer ejemplo, la condición de selección de una pregunta puede ser:

  return nAciertos>5 && nAciertos>nFallos;

es decir, que la pregunta solo aparecería en aquellas sesiones en las que el número de aciertos sea superior a 5 y superior al número de fallos hasta el momento.

Véasen algunos ejemplos sobre el uso de la página dedicada a las Preguntas condicionadas

Consejos prácticos

Use las variables de sesión con moderación. Normalmente pequeñas adaptaciones

1)
Esta es la misma variable que se usa para conectar con las preguntas externas. Aunque no se ha dicho, tambien podría usarse la variable respuesta, que es la misma
es/manual/test/variables_de_sesion.txt · Última modificación: 2023/06/05 11:12 por root

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki