Bueno, una pregunta .. ">
Necesito programar una funcionalidad a los usuarios para que puedan especificar un rango de fechas en la que la "visibilidad" de las actividades puede ser cambiado. Es decir, los profesores podrían cambiar el intervalo de fechas en que sus tutoriales serán visibles para sus alumnos.
Moodle ya tiene la funcionalidad de la visibilidad en las actividades, pero será posible crear otra para que acepte un rango de fechas y de acuerdo a esa fecha se muestre o no una actividad??
¿Pueden darme información al respecto?
Gracias de antemano
No sé si lo he comprendido bien, pues inicialmente parece que quieres restringir visibilidad, pero tras leer el segundo párrafo me figuro que lo que deseas es restringir los periodos en los que los usuarios pueden cambiar la opción de visibilidad ¿no? ¿podrías poner un ejemplo concreto de donde y como quieres aplicar esta modificación?
Hola Xavier, gracias por tu respuesta
Sí claro...
Imagina que creas una tarea cualquiera, debo hacer que en el ingresar/modificar esa tarea, exista una opción para que la visibilidad de la tarea esté determinada por un rango de fecha. Si seleccionan que se "verá" del 15 de mayo de 2010 1:00 hasta 17 de mayo 23:55 cuando lleguemos a esa fecha, moodle deberá activar la visiblidad y lo mostrará a todos los integrantes del curso, de lo contrario estará en off/invisible.
Espero me entiendas
Gracias de nuevo!!!!
Saludos
Sí claro...
Imagina que creas una tarea cualquiera, debo hacer que en el ingresar/modificar esa tarea, exista una opción para que la visibilidad de la tarea esté determinada por un rango de fecha. Si seleccionan que se "verá" del 15 de mayo de 2010 1:00 hasta 17 de mayo 23:55 cuando lleguemos a esa fecha, moodle deberá activar la visiblidad y lo mostrará a todos los integrantes del curso, de lo contrario estará en off/invisible.
Espero me entiendas
Gracias de nuevo!!!!
Saludos
Creo que lo he entendido, pero todas las soluciones que se me ocurren son algo complejas.
La visibilidad o no de una tarea dentro del curso se decide cuando se carga el formato del curso, pues es en ese momento cuando se recolectan todas las actividades asociadas al mismo. Por tanto habría que crear un formato de curso a medida, que comprobara la fecha actual y el rango de visibilidad asociado a cada actividad del curso, mostrando u ocultando la misma. Digamos que esta es la parte más fácil.
Ahora está el problema de cómo establecer ese rango de visibilidad. Inicialmente, se podría poner el menu de añadir módulo, en la sección de ajustes de módulo. No es mala idea pero implica que tienes que modificar la tabla course_modules, que almacena la relación de módulos de cada curso, para guardar las fechas del rango de visibilidad. Después bastaría con recuperar dichos valores desde el formato de curso para cada actividad del curso. El principal problema es que este cambio afecta a una tabla de llamado núcleo de Moodle, y en caso de actualización, podría dar problemas.
La otra solución es crear un bloque, donde se listen todas las actividades del curso y puedas establecer los rangos de visibilidad. Esto permitiría almacenar dichos rangos para cada curso, y el formato de curso obtendría la información de la tabla del bloque. Técnicamente esta solución es algo más tediosa pero implica modificar menos elementos críticos de Moodle. Los bloques se pueden desarrollar fácilmente, pueden tener tablas propias y se añaden o retiran del curso, lo cual te daría la posibilidad de tener cursos que usuran o no la característica del rango de visibilidad.
La visibilidad o no de una tarea dentro del curso se decide cuando se carga el formato del curso, pues es en ese momento cuando se recolectan todas las actividades asociadas al mismo. Por tanto habría que crear un formato de curso a medida, que comprobara la fecha actual y el rango de visibilidad asociado a cada actividad del curso, mostrando u ocultando la misma. Digamos que esta es la parte más fácil.
Ahora está el problema de cómo establecer ese rango de visibilidad. Inicialmente, se podría poner el menu de añadir módulo, en la sección de ajustes de módulo. No es mala idea pero implica que tienes que modificar la tabla course_modules, que almacena la relación de módulos de cada curso, para guardar las fechas del rango de visibilidad. Después bastaría con recuperar dichos valores desde el formato de curso para cada actividad del curso. El principal problema es que este cambio afecta a una tabla de llamado núcleo de Moodle, y en caso de actualización, podría dar problemas.
La otra solución es crear un bloque, donde se listen todas las actividades del curso y puedas establecer los rangos de visibilidad. Esto permitiría almacenar dichos rangos para cada curso, y el formato de curso obtendría la información de la tabla del bloque. Técnicamente esta solución es algo más tediosa pero implica modificar menos elementos críticos de Moodle. Los bloques se pueden desarrollar fácilmente, pueden tener tablas propias y se añaden o retiran del curso, lo cual te daría la posibilidad de tener cursos que usuran o no la característica del rango de visibilidad.
Hola de nuevo Xavier...
Respecto a tu primera solución era lo que yo tenía en mente, pero no me atreví a probarla porque pensaba lo mismo, que es modificar el core, y para cualquier actualización voy a tener problemas :S
En cuanto a la segunda tendría que analizarla mejor a ver si aplica al contexto que necesito.
Vaya que este requerimiento está duro!
Por cierto, no sabes si esto que necesito quizás venga para Moodle 2?
Saludos y Gracias!
Respecto a tu primera solución era lo que yo tenía en mente, pero no me atreví a probarla porque pensaba lo mismo, que es modificar el core, y para cualquier actualización voy a tener problemas :S
En cuanto a la segunda tendría que analizarla mejor a ver si aplica al contexto que necesito.
Vaya que este requerimiento está duro!
Por cierto, no sabes si esto que necesito quizás venga para Moodle 2?
Saludos y Gracias!
Efectivamente, parece que esta característica será incluida en Moodle. En realidad, incorporarla siendo desarrollador de Moodle es relativamente sencillo, como ajustes comunes a los módulos.
http://70.86.170.226/en/Development:Stealth_mode_and_nested_activities
http://70.86.170.226/en/Development:Stealth_mode_and_nested_activities
Ok Xavier, muchas por tu seguimiento!
Saludos
Saludos
Hola Andrés,
Al crear una tarea de tipo: "Subida Avanzada de Archivos" hay una opción que te permite: "Ocultar descripción antes de la fecha disponible" y supuestamente, oculta el enunciado (aunque no la propia tarea) hasta que llegue la fecha de disponiblidad.
Realmente no lo he probado, pero debería funcionar.
Se que no es exactamente lo que necesitas, pero se acerca bastante. Al menos, puede ser util hasta que se incorpore la nueva funcionalidad que indica Xavier.
Hasta pronto,
Salu2
J. Raul (juagarc4)
Al crear una tarea de tipo: "Subida Avanzada de Archivos" hay una opción que te permite: "Ocultar descripción antes de la fecha disponible" y supuestamente, oculta el enunciado (aunque no la propia tarea) hasta que llegue la fecha de disponiblidad.
Realmente no lo he probado, pero debería funcionar.
Se que no es exactamente lo que necesitas, pero se acerca bastante. Al menos, puede ser util hasta que se incorpore la nueva funcionalidad que indica Xavier.
Hasta pronto,
Salu2
J. Raul (juagarc4)
Gracias por tu respuesta Juan Raul
Sí, esa es la idea de lo que necesito. Desafortunadamente lo necesito para cada uno de las actividades ( tareas, foros, glosario,...) y recurso (insertar etiqueta, componer una página de texto,..).
Lo que he averiguado es que debería modificar el core de Moodle para intentar adquirir esa funcionalidad ( cosa que no me parece viable, por cuestiones de actualizaciones ).
No sé, la verdad que opción darle al cliente para tal requerimiento.
Saludos.
Sí, esa es la idea de lo que necesito. Desafortunadamente lo necesito para cada uno de las actividades ( tareas, foros, glosario,...) y recurso (insertar etiqueta, componer una página de texto,..).
Lo que he averiguado es que debería modificar el core de Moodle para intentar adquirir esa funcionalidad ( cosa que no me parece viable, por cuestiones de actualizaciones ).
No sé, la verdad que opción darle al cliente para tal requerimiento.
Saludos.