Docencia

You are currently browsing the archive for the Docencia category.

Este curso hemos usado la herramienta Forrest para generar los apuntes del título de experto en programación con tecnologías web. Forrest genera un sitio web que queríamos integrar de alguna manera en Moodle. No es tan sencillo como parece, puesto que debido al sistema de ficheros de Moodle, se puede enlazar una página html, pero cuando dentro de dicha página se encuentran enlaces relativos, el comportamiento no era el adecuado (en Moodle todo pasa por algún script PHP).

Entonces, lo que buscaba era alguna manera de hacer que un directorio de fuera de Moodle tuviera la autentificación que proporciona Moodle (esto sirve tanto para Forrest como para cualquier directorio que tengáis). La solución no es sencilla (para mí que no controlo mucho PHP ni Apache). Son varios pasos:

  • Imaginad que el directorio que se quiere proteger es /moodle/forrest (en el servidor puede que sea /var/www/html/moodle/forrest).
  • Hay que crear un fichero .htaccess en dicho directorio con el siguiente contenido:
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^(.*)\.html$ index.php?file=$1\.html [L]
RewriteRule ^(.*)\.pdf$ index.php?file=$1\.pdf [L]
RewriteRule ^$ index.php?file=index.html [L]

Estas reglas lo que hacen es decirle a Apache que cuando llegue un fichero con extensión .html o .pdf se la pase al fichero index.php.

  • Hay que crear otro fichero index.php con el siguiente contenido:
<?php
require_once('../config.php'); // cargamos el fichero de configuración de Moodle
require_login(80); // esto llama a una función del API de Moodle que comprueba si se 
                   // está autentificado para el curso con id 80

$file=$_GET['file']; // recuperamos la variable file
if (strcmp("html",end(explode(".",$file)))==0) { // Se comprueba si termina en html
    $pagina=file_get_contents($file); // Si es así, se lee y se devuelve
    echo $pagina;
}
else {  // Si es otra (pdf) hacemos que devuelva el fichero y lo descargue.
    header("Content-type: application/octet-stream");
    header("Content-Disposition: attachment; filename=\"$file\"");
    $size=filesize($file);
    header("Content-Length: ".$size);
    header("Content-Transfer-Encoding: binary");
    readfile($file);
}
?>

Y ya está. Ahora, si intentamos entrar en ese directorio, nos pedirá la autentificación de Moodle (caso de no estar autentificado). OJO: se puede usar la función require_login() sin argumento, pero si permitimos acceso de invitados a nuestro Moodle, podrán entrar en los recursos de ese directorio.

Es posible que el código no sea óptimo y que se pueda hacer de otra manera, ya digo que no soy un especialista en estas lides, pero como dicen nuestros alumnos: funciona!! 🙂

Tags:

Desde hace algún tiempo he abandonado el paquete de Microsoft Office. Me he pasado por un lado al OpenOffice y por otro al paquete iWorks de Apple. La primera ventaja que tiene OpenOffice es que maneja un formato de fichero abierto. Un fichero (ya sea de presentación, de hoja de cálculo, de texto, etc.) está comprimido con ZIP. Se puede descomprimir y podemos ver el contenido. Pone las imágenes por un lado y el contenido está en un fichero XML, que se puede editar.

En unos apuntes que estamos creando entre varios profesores, hemos optado por el OpenOffice, que no tiene nada que envidiar al Office. El texto lo hemos dividido por capítulos que están en ficheros separados (para que cada uno modifique el suyo sin interrumpir al resto) y hemos creado un documento maestro para juntarlo todo e ir cambiando el formato desde un único sitio. Es un poco “delicado” puesto que algunas cosas no funcionan del todo, pero lo bueno del software libre es que siempre alguien se ha tropezado con tu problema antes y ha dado la solución.

Hemos insertado cientos de imágenes y en el texto hay referencias cruzadas a ellas. Cual fue nuestra sorpresa cuando repartimos estos apuntes y las referencias cruzadas no coincidían con la imagen a la que se hacía referencia. Este fin de semana me propuse solucionar el tema. Con un poco de búsqueda, descubrí que el problema estaba documentado desde el 2003!!! y todavía no le habían dado solución. Buf, un sudor frío me recorrió el cuerpo: ¿tendría que volver al Office? No ha sido necesario.

Lo primero que he tenido que hacer es numerar las imágenes con el número de capítulo, seguido con el número secuencial de la imagen dentro de ese capítulo (1.1, 1.2, …, 2.1, 2.2,…). Como no lo teníamos hecho desde un principio, no encontraba la manera de hacerlo. La solución fue tan sencilla como insertar una imagen en el documento maestro, ponerle título (botón derecho sobre la imagen), pinchar en Opciones y seleccionar el nivel 1 en la opción “Numeración de títulos por capítulos”. Automáticamente se numeraron todas las imágenes así. Si no lo hace, se puede pinchar dos veces sobre el número de la imagen que terminamos de insertar y pinchamos en la flecha de la derecha de Numeración por capítulos.

Sin embargo, las referencias cruzadas siguen sin estar bien. Para solucionarlo, he seguido el proceso descrito en este foro de OpenOffice. Solución posible por el carácter abierto del formato usado. Abriendo cada uno de los ficheros independientes que están incluidos en el fichero maestro y aplicando el cambio descrito, he conseguido solucionar el tema. Bravo, OpenOffice, la solución no es perfecta, pero es una solución grandiosa.

Tags:

Moodle es un sistema de gestión de cursos muy potente. Varias universidades de todo el mundo (incluidas algunas españolas) ya lo usan. Moodle es libre y de código abierto, lo que hace que mucha gente esté incorporando nuevas funcionalidades que deja atrás a otros sistemas propietarios muy difíciles de actualizar. En Moodle no sólo están ingenieros desarrollando código, sino que se han involucrado teóricos de la enseñanza, resultando un producto muy robusto y adecuado para impartir un curso o un conjunto de cursos (a diferencia de otros sistemas, como el campus virtual de mi Universidad, que por segunda vez me contengo de decir aquí lo que pienso de él). He hecho un resumen bastante escueto de lo que es Moodle, hay muchísima información por ahí, simplemente buscar en Google y veréis.

Bien, Moodle lo usamos en varios cursos. En algunos de ellos nos ha surgido la necesidad de realizar encuestas. Moodle incorpora un módulo de encuestas muy potente, pero no permite realizarlas de manera anónima. Esto, para obtener retroalimentación de nuestros alumnos, es esencial. Hemos notado que los alumnos detallan mejor tanto lo negativo como lo positivo en la docencia.

Por otro lado, existe una manera de crear encuestas públicas anónimas usando Google Docs. Los resultados que proporciona la encuesta en forma de gráficas es muy bueno. Y también existe una manera de integrarlo de manera sencilla en Moodle. De eso trata este post.

Para crear un formulario tenéis que entrar con vuestra cuenta de Google Docs. Creáis una nueva hoja de cálculo y vais al menú Formulario. Seleccionamos Crear un nuevo formulario y a crear la encuesta. Se nos abrirá una nueva ventana. Se pueden meter todo tipo de preguntas y cuestiones. Una vez creado, en Más opciones seleccionamos Incrustar. Nos aparecerá un código que copiaremos.

Nos vamos a Moodle e insertamos un nuevo recurso, una página web. Ahí colocamos el código antes copiado y ya lo tenemos. Fácil

Las contestaciones de los alumnos se guardarán en el formulario y nos permitirá obtener unas buenas estadísticas.

Una cosa a tener en cuenta: la encuesta es anónima, pero es pública, por lo que no hay forma de controlar que la rellenen otras personas de fuera de nuestro curso.

Un buen tutorial (en inglés) sobre este tema lo encontráis en: http://michaelpenney.blogspot.com/2008/07/putting-custom-form-into-moodle-over-my.html