Registrar grupo

registrar_grupo (nombre as String, (opcional) descripcion as String, estado as Boolean, (opcional) id_tipo_grupo as Integer, (opcional) id_grupo as Integer, (opcional) id_curso_externo as Integer, (opcional)fecha_inicio_grupo as Date, (opcional) fecha_finalizacion_grupo as Date)

El método crea un grupo con el 'nombre' indicado(campo obligatorio). Se toman los valores por defecto de un grupo para todos los campos no especificados, junto con los valores por defecto de secciones, perfiles y permisos para el tipo de grupo creado. Se establece la fecha de creación como la fecha del día.

Devuelve: id_grupo + nombre

El nombre se retorna porque puede haberse cambiado debido a que ya existía un grupo con el nombre_grupo especificado


Funcionamiento

  • Si queremos registrar un grupo el campo obligatorio de completar es 'nombre'. En esta caso, se asignara como 'id_grupo' el numero correlativo al último grupo creado.
    • El 'nombre' ingresado no puede superar los 255 caracteres.
    • La 'descripción' ingresada no puede superar los 255 caracteres.
  • Si queremos registrar un grupo con un 'id_grupo' específico, debemos especificar el atributo 'id_grupo'.
  • Si queremos crear el grupo desactivo el parámetro 'estado' debe ser 0, con cualquier otro valor para el parámetro 'estado' el grupo sera activo.
  • Si queremos relacionar el grupo con un curso externo, debemos especificar la identificación del curso externo mediante el parámetro 'id_curso_externo', cuyo valor no debe superar los 16 caracteres.
  • El único tipo de Grupo es 'a Distancia', debemos especificar el parámetro 'id_tipo_grupo' con el valor 07
    • El valor por defecto que se toma si no se especifica el 'id_tipo_grupo' es el 07(esto esta harcodeado).
  • Si queremos limitar la activación del grupo por fechas, debemos especificar los parámetros 'fecha_inicio_grupo' y/o 'fecha_finalizacion_grupo'.
    • El formato de fecha a ingresar es de la siguiente forma: aaaa-mm-dd.
    • El funcionamiento de fechas es el siguiente: si el rango de fecha indica activación/desactivación del grupo, esta tiene mayor precedencia que el 'estado' (activo/desactivo) seteado para el grupo. Es decir, el 'estado' termina siendo determinado por las fechas, independientemente del 'estado' especifico informado.


Ejemplo de Respuesta

Ejemplo de respuesta de la llamada registrar_grupo, pasando como parámetros 'nombre', 'descripción', 'estado' y 'id_tipo_grupo':


  • Llamada:

    <aula:registrar_grupo>
       <aula:nombre>epistemologia 1</aula:nombre>
       <aula:descripcion>curso sobre epistemología</aula:descripcion>
       <aula:estado>A</aula:estado>
       <aula:id_tipo_grupo>07</aula:id_tipo_grupo>
       <aula:id_grupo></aula:id_grupo>
       <aula:id_curso_externo></aula:id_curso_externo>
       <aula:fecha_inicio_grupo>2015-02-03</aula:fecha_inicio_grupo>
       <aula:fecha_finalizacion_grupo>2015-11-04</aula:fecha_finalizacion_grupo>
    </aula:registrar_grupo>


  • En esta llamada, podemos observar que se solicita crear un grupo con los siguientes atributos:
    • 'nombre'= "epistemologia 1".
    • 'descripcion'= "curso sobre epistemología".
    • 'estado'= "A". Se indica crear el grupo activado. Pero se hará caso omiso de este valor, ya que el estado final se verá determinado por las fechas.
    • 'id_tipo_grupo'= "07". Se indica que el grupo es de tipo 'a Distancia'
    • 'fecha_inicio_grupo'= "2015-02-03". Se indica que el grupo estará abierto desde la fecha 2015-02-03.
    • 'fecha_finalización_grupo'= "2015-11-04". Se indica que el grupo estará cerrado desde la fecha 2015-11-04.
    • Todos los parámetros no especificados toman el valor por defecto del aula.


  • Respuesta:

    <registrar_grupo_response xmlns="urn:Educativa/Aula/">
       <id_grupo>538</id_grupo>
       <nombre>epistemologia 1</nombre>
    </registrar_grupo_response>


Errores de validación

  • Educativa::Aula::Error::CreateGrupo("Administracion bloqueada") - no se puede crear el grupo porque la administración de la plataforma se encuentra bloqueada.
  • Educativa::Error::MissingParameter("nombre") - no se ingreso el atributo 'nombre'.
  • Educativa::Error::MissingParameter("descripción") - no se ingreso el atributo 'descripción'.
  • Educativa::Aula::Error::CreateGrupo("Error creando el grupo el nombre del curso ('$args{nombre}') supera los 255 caracteres") - El nombre ingresado para el grupo supera los 255 caracteres.
  • Educativa::Aula::Error::CreateGrupo("id existente") - ya existe un grupo con el 'id_grupo' ingresado.
  • Educativa::Aula::Error::TipoGrupoInvalido - El tipo de grupo ingresado no corresponde a uno de los tipos de grupos definidos en la plataforma.
  • Educativa::Aula::Error::GrupoRelacionExternaInvalida - El 'id_curso_externo' ingresado supera los 16 caracteres.
  • Educativa::Aula::Error::GrupoDescripcionInvalida - La 'descripción' ingresada supera los 255 caracteres.
  • Educativa::Aula::Error::IdGrupoInvalido - El 'id_grupo' ingresado no es integer o es superior al numero mayor permitido.
  • Educativa::Aula::Error::FechaFormatoInvalido - al ingresar una fecha con un formato distinto a aaaa-mm-dd.
  • Educativa::Aula::Error::FechaInvalida - al ingresar una fecha no existente, ej: no existe dicho día para ese mes.
  • Educativa::Aula::Error::RangoFechaInvalido - cuando la fecha de finalización es anterior a la fecha de inicio.