BORRAR USUARIOS CON ULTIMO ACCESO SUPERIOR A 200 DIAS

BORRAR USUARIOS CON ULTIMO ACCESO SUPERIOR A 200 DIAS

de David Agudelo -
Número de respuestas: 11

Cordial Saludo para todos.

tengo el siguiente problema: hay alumnos registrados que presentan fechas de acceso superiores a los 200 dias o nunca y me ha tocado borrarlos manualmente uno a uno, hay alguna manera de uno borrar estos usuarios de una sola vez, como por ejemplo una consulta desde base de datos donde fecha de acceso > a 200 DIAS, cual puede ser el nombre de la tabla y el campo donde yo pueda hacerlo, o simplemente no se puede, moodle tendra la opcion. 

MUCHAS GRACIAS

Promedio de valoraciones: -
En respuesta a David Agudelo

Re: BORRAR USUARIOS CON ULTIMO ACCESO SUPERIOR A 200 DIAS

de Fermí Cueva -

Hola David,

Si quieres borrarlos a traves de una consulta SQL la tabal que tienes que localizar es:

user_students (o mdl_user_students si durante la instalación elegiste la opción de que el sistema añadiera automáticamente ese prefijo a todas las tablas)

y después contar el timestamp (número de segundos transcurridos desde las 0:00:00 del 1 de enero de 1970 GMT) que se almacena en el campo timeaccess.

Los que tengan un tiempo de acceso superior al que te interesa los puedes eliminar marcándolos y luego borrando directamente o haciendo una consulta con esos parámetros.

De todos modos Moodle tiene la opción de desmatricular directamente a los estudiantes que hace X días que no acceden al curso.

Puedes ver la imagen como ayuda visual.

Espero que te sirva,

Fermin Cueva

Adjunto eliminaUsers.gif
En respuesta a Fermí Cueva

Re: BORRAR USUARIOS CON ULTIMO ACCESO SUPERIOR A 200 DIAS

de David Agudelo -

Cordial saludo Sr Fermin Cuevas.

de antemano muchas gracias.

mis preguntas ahora son:

-cual software estas usando en esa imagen que me diste; phpmyadmin ?

- por que desde 1970 ? en la consulta que me propones?, es la fecha en qeu inicia el moodle ?

- podria hacer la siguiente sentencia:

primero calculo el numero de segundos para el where

200dias*24horas*60minutos*60segundos = 17280000

delete from mdl_user_students where timeaccess >'17280000';

O QUE OPERCION EXACTAMENTE DEBO FABRICAR CON EL TIMESTAMP. ?

muchisisimas gracias

En respuesta a David Agudelo

Re: BORRAR USUARIOS CON ULTIMO ACCESO SUPERIOR A 200 DIAS

de Marcela Mantilla -

Hola, el software que está usando Fermín es phpMyAdmin, pero si no me equivoco lo que quieres lograr se puede hacer desde la página de Configuración General en el menú admin de la página principal, allí encontrarás una variable que se llama longtimenosee que se describe así:

Si los estudiantes no han participado durante tiempo especificado aquí serán dados de baja de los cursos.

puedes poner el número que más se acerque a tus necesidades.

espero haberte colaborado correctamente.

En respuesta a Marcela Mantilla

ya lo intente por ahi

de David Agudelo -

como te parece que yo lo tengo configurado desde un principio para 180 dias y no me a servido nunca, asiq eu estoy intentandolo por debajo.

De todas maneras muchas gracias

En respuesta a David Agudelo

Alumnos desmatriculados.... ¿ por arte de magia?

de Raúl Manuel Caballero -

Hola a todos.

Una gran cantidad de alumnos se han desmatriculado automáticamente de varios cursos a pesar que mi variable longtimenosee   esta en 365 y ninguno de ellos ha superado ese tiempo sin acceder.

¿Alguien sabe porque sucede esto?

Gracias de antemano

Raúl

En respuesta a Raúl Manuel Caballero

Re: Alumnos desmatriculados.... ¿ por arte de magia?

de Iveth Mendoza -
Hola Raúl, saludos!

Disculpa que no te escriba para darte una respuesta, te escribo para indicar que a mi tambien me esta sucediendo eso, tengo la version 1.5.2 de Moodle, tambien tengo la variable a  365 dias y nadie a superado esa cantidad de dias sin acceder, que sera lo que esta ocurriendo?, podria alguien ayudarnos ? confuso

Gracias.
En respuesta a Iveth Mendoza

Re: Alumnos desmatriculados.... ¿ por arte de magia?

de Raúl Manuel Caballero -

Hola Iveth

No doy todavía con la solución. Sin embargo se me ocurre lo siguiente. ¿Que hubiera pasado si la fecha del servidor hubiese estado mal (adelantada) y al ejecutarse el cron.php (diría que es su culpa..ja..ja) evaluó la fecha de ingreso al curso de los alumnos contra esta fecha (incorrecta) y por este motivo los desmatriculó.

En mi caso el servidor es de pago y se encuentra a unos 600 KM. Veré de comunicarme con los administradores. No se cuál será tu caso. Observa es y luego me cuentas.

No se que otra cosa podría ser.

Lo que si he observado que al rematricular un alumno a un curso cuando observo su Perfil me dice que el úiltimo acceso es Nunca. Sin embargo al revisar su actividad y registros observo todos sus movimientos con fechas que no superan la semana. ¿No es curioso? ¿O es que soy tan tonto que no me dy cuenta de donde esta el error?

Saludos cordiales y espero alguna opinión para tratar de revisar e investigar o en su defecto la solución. La cual me vendría de perlas.

He visto en otras de tus consultas que usas mensaería interna. Yo uso una versión 1.4.4 y no la tengo. Me puedes orientar para instalarla?

Saludos cordiales nuevamente

Raúl

En respuesta a Raúl Manuel Caballero

Re: Alumnos desmatriculados.... ¿ por arte de magia?

de Iveth Mendoza -
Hola Raúl, saludos!

Bueno,  lo de la desmatriculación de mis usuarios, aun no se a que se deba pero seguire investigando y te cuento.

En cuanto a lo de la mensajería interna te recomiendo que visities el siguiente foro: http://moodle.org/mod/forum/discuss.php?d=20095#96043 en el yo indique los pasos que segui para instarlo, pero te recomiendo que actualices a la version 1.5.2  de Moodle ya que esta trae un módulo de mensajeria interna, el unico inconveniente es que no puedes escribirle a varios usuarios al mismo tiempo y no envias archivos adjuntos, pero talves vos no necesites hacer esas cosas y te sirva tal y como funciona.

Hasta pronto.
En respuesta a Fermí Cueva

Re: BORRAR USUARIOS CON ULTIMO ACCESO SUPERIOR A 200 DIAS

de Juan Carlos -

Lo del longtimenosee o como demonios sea no funciona así de fácil

Tengo alumnos con más de 200 días, sin embargo esa variable está en 30 días.

El phpMyAdmin o el equivalente para Postgres borraría los alumnos de una tabla, pero ¿y sus registros? ¿no hay otra tabla con datos de esos alumnos? Eso quedaría.

Moodle tiene que mejorar (nada es perfecto) y la edición de usuarios está fatal. Sería interesante que en la lista de usuarios hubiese una forma de al menos marcar varios usuarios y luego borrarlos todos a la vez. Lo mejor sería algún filtro capaz de seleccionar alumnos por antiguedad y luego procesarlos todos.

Disculpad el tono, pero tengo que borrar A MANO un centenar de alumnos antiguos.

¿Solución?

En respuesta a Juan Carlos

Re: BORRAR USUARIOS CON ULTIMO ACCESO SUPERIOR A 200 DIAS

de Eloy Lafuente (stronk7) -
Imagen de Desarrolladores Imagen de Desarrolladores de plugins Imagen de Documentadores Imagen de Moderadores Imagen de Moodle HQ Imagen de Moodlers de gran ayuda Imagen de Testers
Hola JC,

la "demoniaca" variable lo que hace es que, todos aquellos alumnos que no hayan accedido a un curso en el tiempo especificado en ella sean desmatriculados automáticamente por el proceso CRON de Moodle. Y, o mucho me equivoco, o funciona a la perfección.

La solución de borrar los registros no es válida ya que dejarías un montón de registros huérfanos en la BD que, más adelante, no harían otra cosa que producirte problemas.

Existe una forma de matricular y desmatricular alumnos en cursos de una forma más o menos (nadie es perfecto, efectivamente) automatizada. Consiste en crear un ficherito con instrucciones sobre las acciones a realizar. A lo mejor lo discutido en:

http://moodle.org/mod/forum/discuss.php?d=31652

te resulta de utilidad.

Ciao sonrisa
En respuesta a Eloy Lafuente (stronk7)

Re: BORRAR USUARIOS CON ULTIMO ACCESO SUPERIOR A 200 DIAS

de Juan Carlos -

El cron es el cron.php, pues te juro que lo he ejecutado incluso directamente (mediante el navegador claro) y me dice que muy bien que lo ha hecho. pero los usuarios siguen ahí.

Lo que yo quiero es eliminar del todo a los alumnos que llevan mucho tiempo sin entrar en ningún curso (30 días por ejemplo). Repito: eliminar usuarios  del sistema (incluyendo los registros relacionados lógicamente)

El caso contrario tampoco está previsto en Moodle: importar datos de usuarios desde un fichero de texto. A veces puede ser necesario dar de alta a mano, y claro el hacerlo a mano es un poco cansado y absurdo.