Registrar usuarios y matricularlos en curso desde otra web

Registrar usuarios y matricularlos en curso desde otra web

de Elber Man -
Número de respuestas: 8

Hola,

Pues basicamente el titulo resume lo que estoy intentando hacer, he estado ojeando el esquema de la base de datos de http://docs.moodle.org/en/Development:Database_schema_introduction pero aun no me queda muy claro cuales son los datos estrictamente necesarios a la hora de hacer el insert porque hay unas cuantas tablas enlazadas...

Alguien podria hecharme un cable y decirme algunas de las tablas que necesito para poder dar de alta al usuario y seguidamente matricularlo en un curso(o varios).

Muchas gracias!

Saludos!

Promedio de valoraciones: -
En respuesta a Elber Man

Re: Registrar usuarios y matricularlos en curso desde otra web

de Federico Castañeda Ortiz -

Hola Elber, buen día.

Las tablas para agregar a usuarios soon:

XXX_user --< xxx_context  (xxx = Prefijo utilizado $CFG->Prefix, el más usado es el mdl)

Estas tablas están  unidas por: xxx_user.ID  = xxx_context.instanceid  y xxx_contextlevel = 30.

Los valores de contextlevel que conozco son:

30= Usuario

40= Categoría

50 = Curso

70 = Cuestionario.

Ahora para la inscripción se hace con las tablas:

xxx_course: Cursos

xxx_context: Control de contexto

xxx_role_assigntments: Inscritos

Y se unen con.

xxx_course.id = xxx_context.instanceid + xxx_context.contextlevel = 50

xxx_context.id = xxx_role_assigntments.contextid

Espero que te sirva, un saludo.

 

Federico Castañeda Ortiz

Chihuahua, Chih.

México

 

 

En respuesta a Federico Castañeda Ortiz

Re: Registrar usuarios y matricularlos en curso desde otra web

de Brehiner Moreno -

Si la otra web ha sido realizada con joomla que lo que hoy en día maneja la parada en gestores de contenido web, puedes utilizar joomdle, te recomiendo que visites joomdle.com

En respuesta a Federico Castañeda Ortiz

Re: Registrar usuarios y matricularlos en curso desde otra web

de Elber Man -

Muchas gracias Federico!

Aunque tengo una duda a la hora de relacionar el alumno y el curso en la tabla xxx_context, pues los campos path y depth no se de donde sacarlos, ¿son obligatorios?

No es desde Joomla Brehiner, sería desde Prestashop, hay algo como lo que comentas para Prestashop? porque no me suena jeje

Saludos!

En respuesta a Elber Man

Re: Registrar usuarios y matricularlos en curso desde otra web

de Elber Man -

Hola,

Aun no consigo insertan bien los datos en la tabla xxx_context por la falta de los campos que mencione antes, alguna idea?

Saludos

En respuesta a Elber Man

Re: Registrar usuarios y matricularlos en curso desde otra web

de Raul Ramos -

En vez de hacer un script a mano podrias intentar evaluar el método de matriculación por Base de Datos Externa.

Yo no lo he utilizado nunca hasta ahora pero parece muy interesante para lo que tu necesitas.

En respuesta a Elber Man

Re: Registrar usuarios y matricularlos en curso desde otra web

de Federico Castañeda Ortiz -

Buen día.

Para crear el registro en el contexto (xxx_context) en los campos PATH y DEPTH son:

Para una categoria:

1.- Obtener el ID del siguiente registro a insertar en el "xxx_context"

Esto se obtiene con el siguiente valor de una secuencia:

 vSigRegistro = m_cont_id_seq.nextval

2.- Insertar el registro

ID = vSigRegistro

CONTEXTLEVEL = 40

INSTANCEID = <Id. de la categoria> (Tomado del xxx_course_categories)

PATH = '/1/vSigRegistro

DEPTH = 2

Para un curso:

1.- Obtener el ID del siguiente registro a insertar en el "xxx_context"

Esto se obtiene con el siguiente valor de una secuencia:

 

vSigRegistro = m_cont_id_seq.nextval

 

 

2.- Conseguir el "id" del contexto de la categoria a la que pertenece SELECT id FROM xxx_context WHERE contextlevel =40AND instanceid = "Id de la categoria"

vcontextoCategoria = "id" del registro recuperado en el select anterior

3.- Insertar el registro en xxx_context, con los valores de:

ID = vSigRegistro

CONTEXTLEVEL = 50

INSTANCEID = <Id. del curso> (Tomado del xxx_course)

PATH = '/1/vcontextoCategoria/vSigRegistro

DEPTH = 3

Entonces para crear el registro de inscripción en el xxx_role_assignments:

1.- Obtener el Id del rol de "ESTUDIANTE" (xxx_role) en vIdRole

2.- Obtener el id del curso (vIdCurso)

3.- Obtener el id del contexto del "curso":

vContextCurso = "SELECT id FROM xxx_context WHERE contextlevel=50 AND instanceid = vIdCurso

4.- Obtener id del usuario (xxx_user) vIdUsuario

5.- Insertar el registro en xxx_context con los valores siguientes:

 

ROLEID = vIdRole

CONTEXTID = vContextCurso

USERID = vIdUsuario

TIMESTART = Fecha y hora en UNIX

MODIFIERID = Id del usuario que modificó el registro

 

Espero que sea de utilidad.

 

Saludos

 

 

En respuesta a Federico Castañeda Ortiz

Re: Registrar usuarios y matricularlos en curso desde otra web

de Elber Man -

Muchísimas gracias Federico!

Con tu ayuda al final pude hacer lo que quería sonrisa

Un saludo!