¿Cómo podría saber la fecha en la que un alumno se matriculó en un curso?
Muchas gracias compañeros.Saludo para todos.
Fecha en la que un alumno se matriculo en un curso
Número de respuestas: 9Re: Fecha en la que un alumno se matriculo en un curso
La verdad es que no sé muy bien como se podría hacer de forma totalmente exacta. Si suponemos que el usuario se matricula en el curso cuando obtiene el rol de estudiante para ese curso, podrías obtener la fecha en que obtuvo el rol.
Debes obtener id del contexto del curso en la tabla mdl_context. Esto puede hacer con la siguiente consulta:
SELECT id
FROM mdl_context m
WHERE contextlevel = 50
AND instanceid = idcurso
El contextlevel o nivel de contexto correspondiente a cursos es 50.
A continuación para obtener las fechas en las que los alumnos, debes hacer la siguiente consulta a la tabla mdl_role_assignments.
SELECT mu.firstname, mu.lastname, FROM_UNIXTIME(timestart)
FROM moodle_icm.mdl_role_assignments m, moodle_icm.mdl_user mu
WHERE timestart > 0
AND contextid = idcontexto
AND m.userid = mu.id;
Esto te dará nombre, apellidos y fecha (en formato año-mes-dia hh:mm:ss) en que obtuvo dicho rol en el contexto del curso.
Debes obtener id del contexto del curso en la tabla mdl_context. Esto puede hacer con la siguiente consulta:
SELECT id
FROM mdl_context m
WHERE contextlevel = 50
AND instanceid = idcurso
El contextlevel o nivel de contexto correspondiente a cursos es 50.
A continuación para obtener las fechas en las que los alumnos, debes hacer la siguiente consulta a la tabla mdl_role_assignments.
SELECT mu.firstname, mu.lastname, FROM_UNIXTIME(timestart)
FROM moodle_icm.mdl_role_assignments m, moodle_icm.mdl_user mu
WHERE timestart > 0
AND contextid = idcontexto
AND m.userid = mu.id;
Esto te dará nombre, apellidos y fecha (en formato año-mes-dia hh:mm:ss) en que obtuvo dicho rol en el contexto del curso.
Re: Fecha en la que un alumno se matriculo en un curso
Muchas gracias xavier; algun dia quiero y necesito llegar a controlar Moodle como tu.
En fin, creo que lo que dices en mi caso es muy valido por que creo que cualquier usuario que se matricula en un curso por defecto al principio tiene perfil de estudiente con lo cual todos los participantes han pasado por ese rol. De todas formas ¿dónde puedo asegurarme que rol tienen los usuarios al matricularse en un curso?
SALUDO COMPAÑERO Y MUCHISIMAS GRACIAS DE TODO CORAZON.
En fin, creo que lo que dices en mi caso es muy valido por que creo que cualquier usuario que se matricula en un curso por defecto al principio tiene perfil de estudiente con lo cual todos los participantes han pasado por ese rol. De todas formas ¿dónde puedo asegurarme que rol tienen los usuarios al matricularse en un curso?
SALUDO COMPAÑERO Y MUCHISIMAS GRACIAS DE TODO CORAZON.
Re: Fecha en la que un alumno se matriculo en un curso
En Administración del sitio >>Políticas de usuario, hay un apartado llamado Rol por defecto de los usuarios de un curso(defaultcourseroleid) que indica el rol por defecto que obtiene todo usuario que se matricula en un curso. El valor por defecto es Estudiante.
Por otro lado, dentro de la configuración del curso, en la sección Matriculaciones hay un apartado llamado Rol por defecto donde puedes hacer lo mismo que en el párrafo anterior. El valor habitual es Sitio por defecto(Estudiante) que normalmente coincide con el valor que te comenté en el párrafo anterior.
Por otro lado, dentro de la configuración del curso, en la sección Matriculaciones hay un apartado llamado Rol por defecto donde puedes hacer lo mismo que en el párrafo anterior. El valor habitual es Sitio por defecto(Estudiante) que normalmente coincide con el valor que te comenté en el párrafo anterior.
Re: Fecha en la que un alumno se matriculo en un curso
Hola xavi, buenos dias.....
Resulta que al hacer la segunda consulta no entiendo porque lo de
timestart > 0....pues a mi de esta forma me muestra todos los usuarios del curso en cuestion que tienen un valor distinto a 1970-01-01 01:00:00. Lo que ocurre que el unico usuario que tiene el valor de esta fecha distinto al de 1970 es el único que no es estudiante.
Un abrazo y si no me entiendes te lo puedo volver a explicar con mucho gusto...quiza no me haya explicado bien.
Saludo Xavier.
Resulta que al hacer la segunda consulta no entiendo porque lo de
timestart > 0....pues a mi de esta forma me muestra todos los usuarios del curso en cuestion que tienen un valor distinto a 1970-01-01 01:00:00. Lo que ocurre que el unico usuario que tiene el valor de esta fecha distinto al de 1970 es el único que no es estudiante.
Un abrazo y si no me entiendes te lo puedo volver a explicar con mucho gusto...quiza no me haya explicado bien.
Saludo Xavier.
Re: Fecha en la que un alumno se matriculo en un curso
Ah perdona, una cosica más...donde haces referencia en la segunda consulta a ese primer rol de estudiante.
SALUDO Y DE VERDAD, LO SIENTO POR SER TAN CHAPAS.
SALUDO Y DE VERDAD, LO SIENTO POR SER TAN CHAPAS.
Re: Fecha en la que un alumno se matriculo en un curso
¡Ops! se me olvidó ponerlo en el proceso de corta y pega.. 
SELECT mu.firstname, mu.lastname, FROM_UNIXTIME(timestart)
FROM moodle_icm.mdl_role_assignments m, moodle_icm.mdl_user mu
WHERE timestart > 0
AND contextid = idcontexto
AND m.userid = mu.id;
AND roleid = id_rol_estudiante
El id del rol de estudiante lo puede sacar de la tabla mdl_role.
SELECT mu.firstname, mu.lastname, FROM_UNIXTIME(timestart)
FROM moodle_icm.mdl_role_assignments m, moodle_icm.mdl_user mu
WHERE timestart > 0
AND contextid = idcontexto
AND m.userid = mu.id;
AND roleid = id_rol_estudiante
El id del rol de estudiante lo puede sacar de la tabla mdl_role.
Re: Fecha en la que un alumno se matriculo en un curso
Hay está uno de los problemas. No sé que significa ese valor cero exactamente. A veces aparece y otras no, y no creo que sea un valor por defecto. Haciendo suposiciones, creo que tiene que ver con los roles locales y globales.
Es posible que si el usuario ya tiene ese mismo rol a nivel global (plataforma), al aplicarlo en un contexto local (curso) no se especifique la fecha en que se otorgó dicho rol local. Al fin y al cabo, si tienes rol global, tienes acceso a todo lo que te permita el rol, tanto a nivel de plataforma como a nivel de curso. Desde ese enfoque, el cuando obtuvo el estudiante el rol local es irrelevante, ya que siempre ha tenido acceso.
Pero son unicamente especulaciones, habría que echar un vistazo a los scripts que se ocupan de enrolar, para ver por qué meten ese valor. De todas formas, comprueba si tus usuarios tienen, rol global de alumnos, en cuyo caso tendrás que realizar la consulta con el criterio opuesto (WHERE timestart = 0)
Haz pruebas y me comentas como te ha ido.
Es posible que si el usuario ya tiene ese mismo rol a nivel global (plataforma), al aplicarlo en un contexto local (curso) no se especifique la fecha en que se otorgó dicho rol local. Al fin y al cabo, si tienes rol global, tienes acceso a todo lo que te permita el rol, tanto a nivel de plataforma como a nivel de curso. Desde ese enfoque, el cuando obtuvo el estudiante el rol local es irrelevante, ya que siempre ha tenido acceso.
Pero son unicamente especulaciones, habría que echar un vistazo a los scripts que se ocupan de enrolar, para ver por qué meten ese valor. De todas formas, comprueba si tus usuarios tienen, rol global de alumnos, en cuyo caso tendrás que realizar la consulta con el criterio opuesto (WHERE timestart = 0)
Haz pruebas y me comentas como te ha ido.
Re: Fecha en la que un alumno se matriculo en un curso
Segun lo que has dicho de roles locales y globales a simple vista es imposible conseguir lo que quiero......
En fin...mi jefe no sabe ni lo que me ha pedido.
Muchas gracias Xavier...Voy a ver que puedo hacer aunque yo lo veo bien jodido.
MUCHISIMAS GRACIAS ARTISTA.
En fin...mi jefe no sabe ni lo que me ha pedido.
Muchas gracias Xavier...Voy a ver que puedo hacer aunque yo lo veo bien jodido.
MUCHISIMAS GRACIAS ARTISTA.
Re: Fecha en la que un alumno se matriculo en un curso
El rol que por defecto tienen los estudiantes cuando se inscriben en un curso es el de "estudiantes" (Student). Este ajuste, aparecen en la configuración de cada curso.
En la pagina principal de cada curso, del lado izquierdo aparece el modulo "Administración". Selecciona "Configuración". Se te abre la pagina, en la cual buscas el apartado "matriculaciones", en el que aparece la opción "Rol por defecto".
Si no has hecho cambios, te deberá aparecer como "Sitio por defecto (Student).
Esto, en la version 1.9.5, que es la que yo manejo. Espero que te haya servido.
Saludos desde Mexico!