aplicaciones desarolladas en ejs y su uso en - UNILabs

Anuncio
[ESCRIBIR EL TÍTULO DEL DOCUMENTO]
[Seleccionar
fecha]
19/3/2015
APLICACIONES DESAROLLADAS EN EJS Y
SU USO EN MOODLE: MANUAL
Departamento de Informática y Automática | L. de la Torre y R. Heradio
1
[APLICACIONES DESARROLLADAS EN EJS Y SU USO EN MOODLE] [L. de la Torre y R. Heradio]
1.
CAPACIDADES DE INTEGRACIÓN DE LAS APLICACIONES EJS EN MOODLE
Las aplicaciones desarrolladas en EJS (importante: es necesario usar la versión 5.1, build 150302 o
posterior para tener todas estas capacidades) e integradas en un entorno de Moodle, pueden adquirir
las siguientes características y funcionalidades:
•
•
•
•
•
•
•
•
•
•
•
•
Conexión del soporte multi-idioma de EJS con el de Moodle.
Grabación de ficheros (.xml, .cnt, .rec, .txt, .jpg…), desde la aplicación EJS, al repositorio
privado de ficheros de Moodle y lectura de los mismos, desde dicho repositorio, a la aplicación
EJS.
Configuración de una aplicación EJS para usarla como laboratorio remoto
Añadir una actividad EJS y ajustar el tamaño de la aplicación en el entorno web de Moodle.
Carga de estados iniciales de la simulación EJS (ficheros en formato .xml).
Carga de controladores para laboratorios EJS (ficheros en formato .cnt).
Carga de grabación de interacciones con laboratorios EJS (ficheros en formato .rec).
Personalización de variables seleccionadas de la simulación; distintos usuarios trabajan con
distintos valores en dichas variables.
Trabajo en sesiones colaborativas síncronas con las aplicaciones de EJS en Moodle.
Soporte para laboratorios remotos.
Trabajo futuro: reutilización de las páginas de descripción en html de las aplicaciones EJS.
Trabajo futuro: corrección y evaluación automática de actividades realizadas con EJS.
Este manual describe como beneficiarse de todas las características de integración enumeradas arriba. El
punto 2 de este documento explica cómo se deben preparar las aplicaciones en EJS para obtener un
correcto funcionamiento en Moodle mientras que el punto 3 muestra cómo configurar en Moodle las
actividades con una aplicación EJS y algunas maneras en las que se les puede dar uso.
2
[APLICACIONES DESARROLLADAS EN EJS Y SU USO EN MOODLE] [L. de la Torre y R. Heradio]
2.
PREPARACIÓN DE APLICACIONES EJS PARA SU USO EN MOODLE
Antes que nada, conviene mencionar que los applets generados por EJS se ejecutarán en Moodle con el
look and feel conocido como Nimbus. Por tanto, conviene cambiar la opción del look and feel en EJS a
éste (Nimbus) para visualizar nuestras aplicaciones creadas con este programa con el mismo aspecto
que un usuario las visualizará al ejecutarlas como un applet dentro de Moodle.
2.1.
Soporte multi-idioma
La configuración del idioma en las aplicaciones EJS integradas en Moodle queda automáticamente
ligada al idioma seleccionado en el entorno web de Moodle cuando la aplicación EJS ha sido
preparada usando el soporte multi-idioma nativo que ofrece este programa. Para preparar una
aplicación en EJS con dicho soporte para múltiples idiomas basta con seguir las instrucciones que se
dan en este video-tutorial: http://www.um.es/fem/Ejs/WebCasts/en/EJSTranslationFacilities/index.html
Conviene, además, poner botones de cambio de idioma en la interfaz de la aplicación EJS (como
muestra el ejemplo de la Figura 1). Para ello basta con añadir el siguiente código en dichos botones:
Figura 1. Botones de cambio de idioma en la interfaz de EJS
Tabla 1. Código para cambiar el idioma de una aplicación EJS
setLanguage("es"); /*Para el botón que pasa el idioma de la interfaz a español*/
setLanguage("en"); /*Para el botón que pasa el idioma de la interfaz a inglés*/
Nota importante: Es necesario que el idioma por defecto (es decir, el idioma de los textos que se
escriben en los elementos de la Vista de EJS) sea el inglés y que luego se añada la traducción al
castellano. Lo contrario (por defecto castellano y traducción en inglés) hace que ésta última no se
muestre en Moodle.
2.2.
Grabación y lectura de ficheros
Es importante tratar de seguir unas líneas de diseño de las interfaces de usuario que sean similares
para todas las aplicaciones. El menú de grabación/lectura de ficheros ha venido colocándose en la
parte superior de dichas aplicaciones, tal y como muestra la Figura 2.
3
[APLICACIONES DESARROLLADAS EN EJS Y SU USO EN MOODLE] [L. de la Torre y R. Heradio]
Figura 2. Botones y menú para guardar y/o cargar ficheros
La Tabla 2 da un listado de los métodos nativos de EJS que pueden utilizarse para realizar estas
tareas.
Tabla 2. Métodos para grabar y leer ficheros y datos
Hay cuatro métodos que permiten enviar un fichero desde la
repositorio privado de ficheros de Moodle (EJSApp File Browser):
•
•
•
•
•
aplicación
EJS
al
El método _saveText(String NombreDelFichero, String ContenidoDelFichero), para
grabar un fichero de texto sugiriendo la extensión indicada en el parámetro
NombreDelFichero o, en su defecto, .txt.
El método _saveText(String NombreDelFichero, String TipoDeFichero, String
ContenidoDelFichero), para grabar un fichero de texto que, dependiendo del
parámetro TipoDeFichero, fijará necesariamente una extensión dada y será: de
tipo controlador y con extensión .cnt si se indica controller, o de tipo
grabación de interacción y con extensión .rec si se indica record.
El método _saveImage(String NombreDelFichero, String ElementoDeLaVista), para
grabar un fichero de imagen con la captura de un elemento de la vista de EJS.
El método _saveState(String NombreDelFichero), para grabar la lista completa
de variables que definen un estado de la simulación en un fichero .xml.
El método _saveVariables(String NombreDelFichero, List<String> vars), para
grabar solo algunas variables seleccionadas del estado actual de la simulación
(también en un fichero .xml).
Y hay tres formas de recuperar y leer datos (ficheros de texto o .xml previamente
almacenados en el repositorio de ficheros de Moodle) con una aplicación EJS:
•
•
•
El método _readText(String NombreDelFichero, String TipoDeFichero), para
obtener el contenido de un fichero de texto plano. Los tres tipos de fichero
aceptados por este método en el segundo parámetro son: text, controller y
record. Nota importante: para usarlo en Moodle, pasar un string vacío en el
primer parámetro (NombreDelFichero).
El método _readState(null), para leer y cargar la lista completa de variables
de una simulación desde un fichero .xml.
El método _readVariables(null, List<String> vars), para leer y cargar una
lista de variables seleccionadas de la simulación desde un fichero .xml.
Todos los métodos de grabación de ficheros abren una ventana como la mostrada en la Figura 3.a,
mientras que los métodos de lectura de ficheros abren una ventana como la mostrada en la Figura
3.b.
4
[APLICACIONES DESARROLLADAS EN EJS Y SU USO EN MOODLE] [L. de la Torre y R. Heradio]
a)
b)
Figura 3. Ventanas de grabación y lectura de ficheros
2.3.
Configuración de la aplicación para su uso como laboratorio virtual o laboratorio remoto
firmado
Las aplicaciones que van a usarse como laboratorio remotos necesitan conectar a terceros
servidores. Esto supone una violación de las normas de seguridad de Java y, por tanto, es necesario
darle permisos especiales al applet que se va a compilar, lo cual se configura en el manifest del
mismo. Para ello, se pulsa en el botón de Información de EJS (Figura 4.a) y se va a la pestaña de
“opciones de ejecución” (run options), que se muestra en la Figura 4.b. Allí se debe cambiar el texto
sandbox que figura por defecto en el campo Permissions por all-permissions. Así mismo, las
últimas versiones de Java requieren que cualquier applet en una página web esté firmado. Para que
el sistema en Moodle lo firme automáticamente, es necesario cambiar en EJS el campo Codebase
de * a unilabs.dia.uned.es (o el DNS utilizado por el servidor Moodle al que se sube el laboratorio),
también mostrado en la Figura 4.b. Por tanto, el primer paso es necesario sólo para laboratorios
remotos mientras que el segundo es necesario tanto para el caso de un laboratorio remoto como
para el de un laboratorio virtual.
2.4.
Comentario adicional sobre el manifest del applet EJS
El parámetro Caller-Allowable-Codebase del manifiesto del applet EJS (presente en el mismo sitio
que los parámetros Permissions y Codebase) conviene fijarlo también con el identificador o dirección
del servidor que va a alojar el applet en cuestión. De este modo, se evita que aparezca una ventana
de advertencia cuando un código Javascript de los plugins EJSApp de Moodle llaman al applet para
realizar ciertas acciones como cargar un fichero con un estado, leer variables personalizadas (ver
secciones 3.2 y 3.3 de este manual, respectivamente), etc.
La Tabla 3 resume la configuración necesaria de la aplicación EJS según su uso sea de laboratorio
virtual o de laboratorio remoto:
Tabla 3. Configuración de parámetros de la aplicación EJS a través de la pestaña “opciones de ejecución” o “run
options”.
Permissions
Codebase
Caller-Allowable-Codebase
Laboratorio Virtual
sandbox
unilabs.dia.uned.es
unilabs.dia.uned.es
Laboratorio Remoto
all-permissions
unilabs.dia.uned.es
unilabs.dia.uned.es
5
[APLICACIONES DESARROLLADAS EN EJS Y SU USO EN MOODLE] [L. de la Torre y R. Heradio]
2.5.
Sesiones colaborativas
Preparar una aplicación EJS para que soporte el funcionamiento en modo de sesiones colaborativas
síncronas es tan fácil como marcar una casilla de configuración de la simulación desde la pestaña
Opciones de Ejecución (Figura 4.b) situada en el Panel de Información de EJS (Figura 4.a).
a)
b)
Figura 4. Añadir soporte para sesiones colaborativas en Moodle y configurar aplicaciones para su uso como
laboratorios virtuales o remotos
6
[APLICACIONES DESARROLLADAS EN EJS Y SU USO EN MOODLE] [L. de la Torre y R. Heradio]
3.
CONFIGURACIÓN Y USO DE ACTIVIDADES CON APLICACIONES EJS EN MOODLE
3.1.
Añadir una aplicación EJS en Moodle y ajustar el tamaño de la aplicación
La figura 5 muestra el formulario de alta o edición de una actividad con una aplicación EJS (EJSApp).
Los dos únicos campos que se requiere rellenar son el del nombre del laboratorio y el del fichero que
encapsula la aplicación EJS (el fichero .jar).
En el siguiente enlace puede encontrarse un video particularmente útil que explica el proceso de alta
de una actividad EJSApp, así como otras cuestiones adicionales como, por ejemplo, de qué forma se
puede realizar una copia de seguridad: http://www.youtube.com/watch?v=Oql5h_ravGE
Para el campo con el nombre de la actividad, conviene utilizar la nomenclatura html que permite a
Moodle filtrar los textos por idioma y establecer dicho nombre tanto en inglés como en español,
según qué idioma haya seleccionado el usuario. Ejemplo:
Tabla 4. Código para poner el nombre de una actividad en Moodle soportando el filtro multi-idioma
<span class="multilang" lang="es">Laboratorio Virtual del Servo Motor</span><span
class="multilang" lang="en">Virtual Laboratory of the Servo Motor</span>
Una vez establecido el nombre de la actividad y subido el fichero EJS, se pueden configurar distintas
opciones para fijar el tamaño con el que los estudiantes visualizarán el applet. Las posibilidades son,
básicamente, tres:
Figura 5. Añadir una actividad EJS en Moodle y ajustar el tamaño de la aplicación
7
[APLICACIONES DESARROLLADAS EN EJS Y SU USO EN MOODLE] [L. de la Torre y R. Heradio]
•
•
•
3.2.
Mantener el tamaño original: el applet tendrá el tamaño fijado para la aplicación en EJS.
Permitir que Moodle fije el tamaño: el plugin EJSApp redimensionará el applet (manteniendo
las proporciones) para que ocupe el espacio máximo posible teniendo en cuenta factores
como el tamaño de la ventana del navegador abierta por el cliente.
Fijar el tamaño a mano: se podrá introducir el tamaño deseado (en píxeles) para la
aplicación, decidiendo si mantener o no las proporciones originales.
Carga de un estado inicial
Al crear una actividad en Moodle con una aplicación de EJS, puede seleccionarse un fichero .xml que
contenga un estado concreto de la simulación para que el sistema cargue dicho estado de manera
automática. Esto se logra en el formulario de alta/edición de la actividad (Figura 6), en el apartado
“Archivo .xml con el estado que este laboratorio EJS debe leer”.
Esta opción permite cargar un estado inicial distinto al que trae por defecto una simulación de EJS,
de modo que pueden proponerse distintos escenarios o ejemplos de uso predefinidos (con algún
valor didáctico especial) con un mismo sistema.
3.3.
Carga de un controlador
Si la aplicación EJS incorpora el elemento de evaluador de código, puede también seleccionarse un
fichero de texto con extensión .cnt que contenga un controlador para que cargue el código de dicho
controlador en ese laboratorio EJS. Esto se logra en el formulario de alta/edición de la actividad, en el
apartado “Archivo .cnt con el controlador que la aplicación EJS debe cargar al iniciarse”, muy similar
al mostrado para la carga de un estado inicial en la Figura 6.
3.4.
Carga de un fichero de grabación de interacción
Puede también seleccionarse un fichero de texto con formato .rec que contenga un script con las
órdenes para reproducir la interacción efectuada por un usuario con la aplicación EJS. Esto se logra
en el formulario de alta/edición de la actividad, en el apartado “Archivo .rec con la grabación que la
aplicación EJS debe ejecutar al cargarse”, de nuevo muy similar a los dos anteriores.
Esta opción permite cargar un fichero que contiene el script de interacciones realizadas por un
usuario con una aplicación EJS de modo que ésta reproduzca dichas interacciones de manera
automática, similar a un vídeo. Esto puede servir como demostraciones, tutoriales, etc.
3.5.
Personalización de variables
Mientras que la opción descrita en el punto 3.2 de cargar un estado inicial fija un mismo estado para
todos los usuarios, la posibilidad de personalizar las variables de una aplicación permite que cada
usuario tenga su propio juego de parámetros particular, evitando de este modo la posibilidad de
copiar resultados entre ellos. La Figura 7 muestra cómo se puede configurar una actividad para
obtener esta característica.
8
[APLICACIONES DESARROLLADAS EN EJS Y SU USO EN MOODLE] [L. de la Torre y R. Heradio]
Figura 6. Cargar un estado inicial para una actividad EJS en Moodle
Figura 7. Personalizar variables de una aplicación EJS en Moodle
9
[APLICACIONES DESARROLLADAS EN EJS Y SU USO EN MOODLE] [L. de la Torre y R. Heradio]
Si bien de momento es necesario conocer el nombre y el tipo de la variable en el Modelo de EJS para
la aplicación que desea personalizarse, en el futuro aparecerá un listado de las variables cuyo valor
puede tener interés particularizar.
3.6.
Sesiones colaborativas
Crear y unirse a sesiones de trabajo colaborativo con aplicaciones EJS en Moodle es tan sencillo
como pulsar, en el bloque EJSApp Collab Sessions, sobre los botones “Crear sesión colaborativa” o
“Ver mis sesiones activas”, respectivamente.
En relación a esto, en el siguiente enlace se puede ver un video tutorial que explica en detalle el
proceso de creación, unión o cierre de una sesión colaborativa dentro del entorno
Moodle: http://www.youtube.com/watch?v=DOOoq2rUJYE
Figura 8. Bloque de sesiones colaborativas
3.7.
Laboratorios remotos
Cuando se desea dar de alta un laboratorio remoto, es necesario introducir algunos datos en el
apartado “Configuración del laboratorio remoto” dentro del formulario de alta/edición de una actividad
EJSApp (Figuras 5, 6 y 7). Todos los campos tienen una ayuda contextual que hace sumamente
sencillo saber cómo rellenarlos. La Figura 9 muestra un ejemplo de configuración de un laboratorio
remoto.
10
[APLICACIONES DESARROLLADAS EN EJS Y SU USO EN MOODLE] [L. de la Torre y R. Heradio]
En el caso de estar usando SARLAB como sistema de acceso al laboratorio remoto, habrá un
desplegable que muestra la lista de experiencias. Basta con seleccionar en dicha lista el identificador
de la experiencia que establece las comunicaciones necesarias para permitir el acceso y uso del
laboratorio remoto que se está dando de alta. Si no se usa SARLAB, hay que indicar la IP pública del
ordenador que maneja el equipo del laboratorio remoto así como el puerto de comunicaciones con el
mismo.
Figura 9. Configuración de un laboratorio remoto
11
Descargar