Matricular o des-matricular utilizando sistema archivo plano (flat file)

Matricular o des-matricular utilizando sistema archivo plano (flat file)

de Ricardo Barrientos Burgué -
Número de respuestas: 10
Para efectuar un proceso de matriculación o des-matriculación de forma masiva, utilizando la opción "Archivo Plano" o "Flat File" los pasos son los siguientes (versión moodle 1.8+):

En versión 1.8+ la ruta de esta herramienta es: Administración del sitio - Cursos - Matriculaciones.

PROCESO MATRÍCULA:

1.- Habilitar el plugins de matriculación "Flat File" y editar o configurar la opción ingresando la ruta de acceso del archivo, por ejemplo: /var/www/html/moodledata/enrol/enrolments.txt.

(en esta ejemplo, la carpeta "enrol" se asume creada)

2.- El archivo debe tener el nombre "enrolments.txt"

3.- La estructura del archivo es la siguiente, una línea por usuario:

add, student, idnumber_usuario1, idnumber_curso1
add, student, idnumber_usuario2, idnumber_curso1
add, student, idnumber_usuario1, idnumber_curso2
add, student, idnumber_usuario3, idnumber_curso4
add, student, idnumber_usuario20, idnumber_curso100

4.- Guardar el archivo en la ruta correspondiente (ver ejemplo) y ejecutar el cron.php de forma manual (por ejemplo digitar en el browser, www.tusitioweb.com/moodle/admin/cron.php) o esperar que se ejecute según lo programado en CPANEL. El archivo es borrado automáticamente si se ejecuta de manera correcta (OK). De lo contrario, será ejecutado nuevamente por el cron.php.

PROCESO DES-MATRICULAR:

Se repitan los pasos 1, 2, 3, 4, cambiando la estructura del archivo enrolments.txt como sigue:

del, student, idnumber_usuario1, idnumber_curso1
del, student, idnumber_usuario2, idnumber_curso1
del, student, idnumber_usuario1, idnumber_curso2
del, student, idnumber_usuario3, idnumber_curso4
del, student, idnumber_usuario20, idnumber_curso100

IMPORTANTE:

1- Generalmente el dato idnumber curso, no es ingresado a la hora de crear un curso, (aparece después del nombre corto del curso), se puede ingresar manejando la Base de Datos, efectuando un "query", update para ingresar el valor antes mencionado.

2.- No he detectado que el campo idnumber del usuario, se ingrese información de manera automática o manual utilizando moodle. Sólo se puede crear, a partir de un archivo (para "subir"), donde se puede adicionar el valor de este campo (idnumber). Si este valor no fue ingresado cuando fue creado el o los usuarios (método subir archivo), se puede efectuar a la Base de datos un "query", update para ingresar el valor que se estime conveniente.

Saludos cordiales

Ricardo Barrientos

Promedio de valoraciones:Útil (3)
En respuesta a Ricardo Barrientos Burgué

Er: Matricular o des-matricular utilizando sistema archivo plano (flat file)

de Juan Ezeiza -
Hola Ricardo:
Gracias por la información. Sólo quería añadir que el campo idnumber del usuario sí se puede ingresar manualmente. El problema es que está un poquito escondido. Lo encontrarás al editar un perfil en la parte inferior, después de la fotografía y debajo del campo ID MSN.
Un saludo.

Juan Ezeiza
En respuesta a Ricardo Barrientos Burgué

Re: Matricular o des-matricular utilizando sistema archivo plano (flat file)

de Ángel Ayllón garcía -

Hola,

En la versión 1.9 que tengo instalada bajo Apache 2.2, PHP 5.0 en Win'XP casi todo funciona bien excepto el rol 'techeredit'; cuando proceso archivo enrolments.txt desde cron me muestra el siguiente mensaje de error:

<!--StartFragment-->1: add teacheredit 16 inf_1 :Unknown role in field2 - ignoring line

El msg. indica que no puede asignar el rol de editor del curso porque este es desconocido; si pruebo con 'teacher' no hay problema pero lo que realmente deseo es que este profesor gestione completamente los recursos o módulos del curso al que le asigno. ¿Es un BUG? ¿Alguna solución?

Gracias.

En respuesta a Ángel Ayllón garcía

Re: Matricular o des-matricular utilizando sistema archivo plano (flat file)

de Osvaldo Pinco -
Hola Angel
Creo que el nombre correcto del rol es editingteacher. Por eso no te lo reconoce el script.
En respuesta a Ángel Ayllón garcía

Re: Matricular o des-matricular utilizando sistema archivo plano (flat file)

de Ángel Ayllón garcía -

Hola,

Me respondo a mí mismo. En el FlatFile para asignar el rol de editor de curso a un profesor la especificación 'teacherediting' da error. Esta es, en realidad 'editingteacher'. De esta forma funciona correctamente.

Saludos.

En respuesta a Ángel Ayllón garcía

Re: Matricular o des-matricular utilizando sistema archivo plano (flat file)

de Lore Lore -

Hola a todos,

   Estoy manejando una matriculación manual, los usuarios crean sus cuentas, luego de recibir la confirmación por email tienen que matricularse a los cursos (son cursos gratuitos y esperan una cantidad considerable de gente); hasta ahí todo perfecto.

   Aquí viene el tema, el 25% de los usuarios no se matricula a ningún curso y me piden que estén matriculados para el día de inicio al menos en 1 curso...

   Mediante los campos personalizados al inscribirse que seleccionen un curso en forma obligatoria, luego con una query levanto el curso de dicho campo.

   Ahora viene la dificultad que sigo sin resolver...

   Intenté con CVS mediante la ejecución del cron, pero no levanta ni un dato!! hice lo siguiente:

1) Habilitar en Administración/  Cursos/  Matriculaciones / Archivo plano (flat file).

2) Colocar en enrol_flatfilelocation: /public_html/moodle/enrol/enrolments.txt

3) Para colocarles contenido en el idnumber de la tabla mdl_user, ejecuté la siguiente consulta:

Update mdl_user set idnumber = id

4) Crear archivo enrolments.txt
 con los siguientes datos:
add, student, iduser, idcurso como sigue:

add, estudiante, 6, 1

(Pongo estudiante en lugar de student porque yo renombré el rol (nombre corto y descriptor para que se vea en castellano, al crear el grupo de cursos. Igualmente intenté con student y no levanta nada).

Lo subo al server.

 5) Ejecuto el cron:

http://www.sitio.com/moodle/admin/cron.php

Como tengo la versión 1.9.3 probé con cambiar la codificación del archivo de texto a unicode y a UTF-8 (ví en un foro que a partir de la versión 1.8 algunos tienen problemas de codificación).

La verdad ya no se me ocurre qué más probar y esperan 500 usuarios aproximadamente, no quiero matricularlos en forma manual.

   Alguien me puede orientar?

   Muchas gracias a todos...

Saludos Lore

En respuesta a Ricardo Barrientos Burgué

Re: Matricular o des-matricular utilizando sistema archivo plano (flat file)

de Ramiro Martínez D'Elía -

A ver, cree el archivo txt con el nombre correspondiente, y lo guarde en la carpeta especificada (tuve que crearla porque no existia).

El archivo quedo contituido asi:

add,student,3,2

add,student,3,3

add,student,3,4

Ejecute cron.php pero no menciono nada sobre ese archivo, la salida es algo extensa para copiarla aqui.

Algo que este haciendo mal ?.

En respuesta a Ramiro Martínez D'Elía

Re: Matricular o des-matricular utilizando sistema archivo plano (flat file)

de Jose María Acedo -

Hola Ramiro.

Yo utilizo la ruta $CFG->dataroot  ,del config php, y así evito confuciones

ejemplo:

$CFG->dataroot  = '/home/datos/moodledata_3d'; (ruta en config.php)

/home/datos/moodledata_3d/enrol/enrolments.txt (ruta en la configuración de flatfile

Prueba a ver.