martes, 8 de junio de 2010

Subir Usuarios Moodle - Avanzado

Hola a tod@s,

Mi impresión es que la documentación oficial sobre este asunto
es un poco "críptica" (pero qúe palabra tan sangrona!!!).

Es decir, sí está bien y trae todo lo necesario para construir un CSV,
pero hay que echarle "feeling" a la interpretación.

Bien, aprovechando este post, anexo mi interpretación personal como
una especie de "mini-guía".

Espero que les resulte de utilidad y, si encuentran algún error, por favor
indíquenlo para que no haya fallas en la construcción del archivo.

Saludos



***************************************************
"Tips para armar un archivo CSV"

1) Armar el archivo CSV con los campos obligatorios:

username,password,firstname,lastname,email,city,country

Claro, sé que "city" y "country" no son propiamente obligatorios, pero
como cuando uno da de alta a un alumno éstos aparecen como
obligatorios, por eso los incluyo.

Además, si se creó un campo extra de tipo obligatorio, también me
gusta incluirlo.

Cabe recordar que los campos se crean en:

Administración del sitio -> Usuarios -> Campos de perfil del usuario -> Cuando
se da de alta el campo, en "Categoría", elegir "Obligatorio".

De esta manera, el CSV quedaría:

username,password,firstname,lastname,email,city,country,profile_field_name

Donde "name" es el nombre corto del campo obligatorio.

Más información aquí.

2) Para agregar estudiantes a los cursos hay dos posibilidades:

a) Usar el modo "antiguo", basado en que antes Moodle no trabajaba por roles,
sino con algo que podemos llamar "tipos de usuario". Entre estos "tipos de
usuario" estaba el de profesor y estudiante.

Si usamos esta opción, la asignación de un usuario al "Curso 1" se haría con
"type1", para el "Curso 2" se usaría "type2" y así.

Los valores que se pueden colocar en "type1", "type2", etc. son:

1 -> Estudiante
2 -> Profesor editor
3 -> Profesor NO editor

Bajo esta lógica, un usuario asignado como profesor al curso "Moodle básico", quedaría como:

username,password,firstname,lastname,email,city,country,course1,type1,profile_field_expediente
usuario,clave,Nombre,Apellido,profesor@yo.com,Ciudad,País,Moodle básico,2,Expediente A

Si el usuario fuera un estudiante del curso "Moodle avanzado", en vez de "2", debe colocarse "1":

username,password,firstname,lastname,email,city,country,course1,type1,profile_field_expediente
usuario,clave,Nombre,Apellido,estudiante@yo.com,Ciudad,País,Moodle avanzado,1,Expediente B

b) La otra forma es utilizando el mecanismo actual a base de Roles.

Al respecto, cabe recordar que desde hace tiempo Moodle no trabaja con "tipos de
perfiles", sino con "Roles", mismos que pueden ser los predefinidos en el sistema,
o bien, otros que uno genere en función de necesidades propias.

Para agregar usuarios con los roles de "teacher" (profesor editor) y "student"
(estudiante), el CSV quedaría:

username,password,firstname,lastname,email,city,country,course1,role1,profile_field_expediente
usuario,clave,Nombre,Apellido,profesor@yo.com,Ciudad,País,Moodle básico,editingteacher,Expediente A

username,password,firstname,lastname,email,city,country,course1,role1,profile_field_expediente
usuario,clave,Nombre,Apellido,estudiante@yo.com,Ciudad,País,Moodle avanzado,student,Expediente B

El archivo "combinado" sería:

username,password,firstname,lastname,email,city,country,course1,course2,role1,role2,profile_field_expediente

Los campos que no apliquen a un usuario se deben dejar en blanco.

Bien, si quiero asignar usuarios a un grupo, se requiere usar algo como:

username,password,firstname,lastname,email,city,country,course1,course2,role1,role2,group1,group2,profile_field_expediente

Donde "group1" es el nombre del grupo en el que se dara de alta al usuario en
el Curso 1 (course1), "group2" corresponde al Curso 2 (course2), etc.

MINI-FAQ's

1) ¿Qué nombres colocar en Curso, Rol, Grupo, Campos personalizados, etc.?

Se deben colocar los NOMBRES CORTOS.

Es decir, el nombre del rol para el profesor editor es "TEACHER", pero como su
nombre corto es "editingteacher", entonces uso éste último.

En este sentido, debo recordar (Ej. anotar) los nombres cortos de los roles
nuevos que se generen, además de los correspondientes a los cursos, grupos,
campos personalizados, etc.

2) ¿Si se crea un rol nuevo, cómo se asigna vía CSV en un curso?

Se asigna usando el nombre corto, siguiendo la lógica descrita.

Pero es muy importante tener en cuenta lo siguiente:

Si el nuevo rol tiene privilegios que no corresponden a lo que normalmente
haría un alumno o profesor en un curso, entonces Moodle no lo asignará al curso.

Es decir, si estructuramos un rol basado en, por ejemplo, el usuario autentificado,
con un par de privilegios extra e intentamos asignarlo al curso, Moodle no lo
reconocerá.

Si duplicamos el rol "student" y le quitamos ciertos privilegios de importancia
"menor", entonces Moodlé sí lo reconocerá y asignará al usuario al curso con
dicho rol.

Bien, esto último me falta documentarlo un poco, pero creo que este es el
comportamiento general.

3) ¿Si en algún campo se utilizan comas (Ej. la dirección),que hacer para que
Moodle acepte el archivo CSV?

Deben sustituirse las comas por: &#44

Usando el ejemplo del campo "dirección" (address), y teniendo el siguiente
domicilio:

Calle Libertad No.1, Barrio conocido, Zona postal 5, Ciudad Capital, País conocido

El campo quedaría:

Calle Libertad No.1&#44 Barrio conocido&#44 Zona postal 5&#44 Ciudad Capital&#44 País conocido

4) ¿Cómo se hace para que los usuarios cambien su password (es decir, no se
desea crear el password)?

En el campo password, colocar "changeme" (sin las comillas).

Cuando la persona ingrese a la plataforma debe teclear su nombre de usuario
(campo "username") y, en el lugar asignado para la contraseña (campo
"password"), debe colocar la palabra "changeme" (sin las comillas).

Ejemplo de CSV:

username,password,firstname,lastname,email,
usuario,changeme,Nombre,Apellido,profesor@yo.com

5) ¿Cómo hacer que la plataforma le envíe a las personas su nombre de
usuario y contraseña por medio de un correo electrónico?

Hacer lo indicado aquí.

6) ¿Cómo asignar países a los usuarios?

Deben utilizarse las "abreviaturas" reconocidas por Moodle para tal fin.

El listado oficial de "abreviaturas" se encuentra aquí.

Es decir, en vez de indicar que el usuario pertenece a "Australia", debe
indicarse que su país es "AU".

NOTA IMPORTANTE:

El archivo CSV debe construirse utilizando el cotejamiento UTF-8, de preferencia
separando los campos por comas.

1 comentario:

  1. hola muy bueno el blog pero quisiera saber como el docente al enviar sus tareas no puedan ver todos los grupos solo el de el.

    Por favor ayudeme con esto

    ResponderEliminar