Esborrat massiu dels alumnes

Esborrat massiu dels alumnes

per Francisco Javier Batalla Bejerano -
Nombre de respostes: 8

Bon dia

Per gestionar el moodle del centre,  les altes dels cursos les fem de forma manual. Cada any treiem un llistat del saga de tots els alumnes (en el nostre centre al voltant de 900 alumnes) i, creem un fitxer de text per fer una alta massiva d'usuaris. No obstant, desconec si hi ha alguna forma de fer esborrats massius de la mateixa base de dades. Algú té idea de com fer-ho?

Salutacions i gràcies

En resposta a Francisco Javier Batalla Bejerano

Re: Esborrat massiu dels alumnes

per Lluís Puy -
Pel que he entès, jo diria que hi ha dos conceptes que són diferents:
Un esborrar o donar alta usuaris
L'altra esborrar o donar d'alta estudiants d'un curs en concret.

Jo crec que una de les maneres (ni ha d'altres) de fer-ho ràpid i de forma força reeixida seria a final de curs fer còpies de seguretat de tots els cursos (sense usuaris ni estudiants.
El que obtindríeu seria tota una sèrie de cursos sense cap estudiant (ni lògicament usuaris)

A començament de curs només caldria fer la restauració de tots i de cadascun dels cursos i obtindríeu cursos buits d'estudiants. Llavors faries el que dius: incorporar estudiants i/o usuaris a través de fitxers de text.
D'aquesta manera ens estalviem esborrar estudiants curs per curs.

Aquest procediment és una manera de fer-ho, però, evidentment, no és l'única.
No sé si era ben bé el que demanaves
Salutacions
APA, Lluís
En resposta a Francisco Javier Batalla Bejerano

Re: Esborrat massiu dels alumnes

per Raül Fernández -

Hola, sembla ser que a partir de la versió 1.9 el moodle deixa fer operacions amb els usuaris de manera massiva.

Mentre no surt...

Si nomes has de "desmatricular" d'un curs, en comptes de refer una còpia de seguretat, pots fer un "reset" del curs, que deixa el curs en blanc, sense dades d'usuari.

Si vols atacar a la base de dades:

UPDATE mdl_user LEFT JOIN mdl_role_assignments ON mdl_user .id = mdl_role_assignments.userid

SET mdl_user.deleted=1

WHERE mdl_role_assignments.roleid = '5'

On aquest ultim '5' fa referència al id del rol d'estudiant que tens definit a la taula mdl_role.

Això esborra del moodle TOTS el usuaris que tinguin el rol d'estudiant, deixant als profes i admins. Aquests usuaris NO apareixen al moodle, però segueixen a la base de dades per si de cas els volguessis donar d'alta de nou.

Per treure'ls definitivament de la base de dades, els has de treure en 3 o 4 tuules per no quedar amb referències hòrfanes. Snse l'estrutura de la base de dades, no sabria pas on esborrar.

En resposta a Francisco Javier Batalla Bejerano

Re: Esborrat massiu dels alumnes

per jordi rodon cuixart -
Hola,
jo ho faig entrant pel phpmyadmin, permet vuere i editar les taules. És força pràctic.

En resposta a jordi rodon cuixart

Re: Esborrat massiu dels alumnes

per Joan Queralt -
Imatge Traductors
Realment quan hi ha un nombre elevat d'usuaris el millor és anar directament a la BD. Es poden carregar usuaris a cursos, esborrar-los, etc.

Ara bé, quan el nombre de dades no és massa gran o els coneixements de mysql no són massa alts (o inexistents, com els meus) es pot gestionar des del propi Moodle. Però si es té un "amic informàtic"...guai
En resposta a Francisco Javier Batalla Bejerano

Re: Esborrat massiu dels alumnes

per Lluís Riera Oliveras -
Bones;
En el forum en anglés hi ha un tal Adam Vanduyne que ha fet un petit programa massDelete.php (només cal copiar-l'ho a la carpeta /admin) i que permet llistar i esborrar usuaris.
A mi m'ha funcionat.
Per a qui li interessi el penjo aquí.