Lo que a principio parecía algo simple se ha complicado.
Contexto
Curso en formato Wiki
- Al acceder a una wiki en formato curso, se carga el archivo moodle/course/view.php . Éste archivo utiliza carga los archivos moodle/course/format/wiki/format.php, formatlib.php y config.php que definien el formato de los bloques dentro del curso.
- Los únicos archivos que a priori podemos modificar al nivel de moodle/course, son format.php y formatlib.php.
- El archivo format.php hace un require de moodle/mod/wiki/lib.php que a su vez hace un require de moodle/mod/wiki/locallib.php . es en estos archivos donde se define la lógica de las funcionalidaes.
- Resumiendo, es un poco kafquiano, pero las funcionalidades se cargan a partir de los arrchivos que definen el formato de los bloques que se integran al curso...
Módulo Wiki
- La wiki se carga a partir del archivo moodle/mod/wiki/view.php y que hace un require de moodle/mod/wiki/lib.php que a su vez hace un require de moodle/mod/wiki/locallib.php
Elementos comunes
- Las funcionalidades están definidas en la ruta moodle/mod/wiki
- Concretamente en los archivos locallib.php y lib.php
- Son comunes tanto al módulo wiki como al curso wiki.
- Al acceder a una funcionalidad de una wiki integrada a un curso, como por ejemplo editar la wiki, se termina cargando el archivo moodle/mod/wiki/view.php.
- Al guardar la edición, en lugar de volver a la wiki en formato curso, volevemos a la wiki en formato módulo. Y esto no queremos que sea así.
- Crear una nueva pestaña:
- Al estar en un curso wiki, crear una pestaña que se visualice al estar en la vista tipo módulo de la wiki, que permita volver a la vista tipo curso. Ej: Pestaña
- Ventajas: Fácil de implementar, no duplica código.
- Desventajas: No soluciona totalmente el problema. La navegabilidad no es óptima.
- Redireccionar a vista curso:
- Al estar en un curso wiki, y editar una wiki o al volver de cualquier actividad, realizar el tratamiento que corresponda y que se encuentra definido a partir de moodle/mod/wiki/view.php. Una vez realizado el tratamiento, redireccionar a moodle/course/view.php
- Ventajas: Fácil de implementar, usando al finalizar el tratamiento de la funcionalidad requerida la siguiente instrucción: header('Location:$CFG->wwwroot.$dfform["pagecourse"]'); Donde $dfform["pagecourse"]' contiene la url de la página en moodle/course/view.php
- Desventajas:
- No termina de funcionar: Warning: Cannot modify header information - headers already sent by (output started at C:\moodle\moodle\mod\wiki\blocks\lib.php:13) in C:\moodle\moodle\mod\wiki\locallib.php on line 1431.
- Hay que analizar el tema de la seguridad.
- Efectuar tratamientos distintos en función de curso o módulo wiki:
- Tratar de forma difeten una wiki en un curso wiki y en un módulo wiki mediante el siguiente código: i
- if (isset($dfcourse)){
//lo que sea referente al curso
}else{
//el codigo que habia antes.
} - Ventajas: Navegabilidad óptima. No añadimos más pestañas. No hay problema de seguiridad
- Desventajas:
- Dificultad de implementación.
- Duplicación de código.
Actualemente hemos adoptado la solución de las pestañas. Pero no descartamos modificar la solución y aplicar la redirección o el tratamiento diferenciado.
No hay comentarios:
Publicar un comentario