registrar_unidades
Registrar unidades
registrar_unidades ( 1{ id_grupo as Integer, nombre as String, descripcion as String, id_responsable as String, (opcional) estado as Boolean, (opcional) correlativa as Boolean }n )
El metodo crea unidades de programa en grupos del campus, asociandolas con un docente responsable y estableciendo las caracteristicas especificadas. Permite procesar la creacion de multiples unidades simultaneamente, incluso en diferentes grupos, en una sola invocacion.
Devuelve: 1{id_grupo + nombre + id_unidad + estado + (error_code + error_string)}n
+ estado 'true' si la unidad fue creada correctamente en el grupo indicado: por cada tupla de datos que se pudo procesar correctamente.
+ estado 'false' por cada tupla de datos que NO se pudo procesar correctamente. En este caso se muestra tambien el error correspondiente.
Funcionamiento
- Para crear una unidad se deben especificar valores para los siguientes campos obligatorios: 'id_grupo', 'nombre', 'descripcion' e 'id_responsable'.
- La estructura correspondiente (unidad) debe ser repetida n veces segun la cantidad de unidades que se quieran procesar.
- El 'id_grupo' debe corresponder con un valor existente para 'id_curso' en la tabla cursos.
- El 'nombre' ingresado no puede estar vacio ni contener solo espacios (maximo 50 caracteres).
- La 'descripcion' ingresada no puede estar vacia ni contener solo espacios.
- El 'id_responsable' debe ser un username valido de un usuario que:
- Pertenezca al grupo especificado.
- No tenga perfil de Alumno ('A').
- El username esta sujeto a las mismas validaciones de formato que al ingresarlo desde la administracion.
- Si no se especifican valores para los campos opcionales, se setean los siguientes valores por defecto:
- 'estado' se seteara true (activo).
- 'correlativa' se seteara true (obligatoria).
- Los campos 'estado' y 'correlativa' son de tipo booleano, por lo tanto deberian pasarse valores true o false.
- 'estado':
- true o 1: La unidad se crea activa.
- false o 0: La unidad se crea desactivada.
- 'correlativa':
- true o 1: La unidad es obligatoria/correlativa.
- false o 0: La unidad no es obligatoria.
- Cada unidad se procesa de forma independiente. Si una unidad falla en las validaciones, las demas continuan procesandose normalmente.
- Las unidades se crean con un numero de orden secuencial automatico dentro de cada grupo.
Ejemplo de llamada:
+ Para el formato de ingreso de datos se utiliza un array de elementos 'unidad', cada uno con sus parametros.
+ Llamada: ingresariamos el siguiente bloque n veces:
<aula:registrar_unidades>
<aula:unidad>
<aula:id_grupo>123</aula:id_grupo>
<aula:nombre>Unidad 1 - Introduccion</aula:nombre>
<aula:descripcion>Conceptos basicos del curso</aula:descripcion>
<aula:id_responsable>docente1</aula:id_responsable>
<aula:estado>true</aula:estado>
<aula:correlativa>true</aula:correlativa>
</aula:unidad>
<aula:unidad>
<aula:id_grupo>123</aula:id_grupo>
<aula:nombre>Unidad 2 - Desarrollo</aula:nombre>
<aula:descripcion>Temas avanzados del curso</aula:descripcion>
<aula:id_responsable>docente1</aula:id_responsable>
</aula:unidad>
<aula:unidad>
<aula:id_grupo>456</aula:id_grupo>
<aula:nombre>Modulo A</aula:nombre>
<aula:descripcion>Primer modulo del programa</aula:descripcion>
<aula:id_responsable>instructor2</aula:id_responsable>
<aula:correlativa>false</aula:correlativa>
</aula:unidad>
</aula:registrar_unidades>
- En esta llamada, podemos observar que se solicita crear 3 unidades con los siguientes atributos:
- 'id_grupo': aula a la que pertenecerá la unidad. Por ejemplo "123".
- 'nombre'= nombre de la unidad. Por ejemplo "Unidad 1 - Introduccion".
- 'descripcion'= descripción de la unidad, por ejemplo "Conceptos basicos del curso".
- 'id_responsable= id_usuario del responsable principal de la unidad, por ejemplo "docente1".
- 'estado'= "true". Se indica crear el unidad activada.
- 'correlativa'= "true". Se indica que la unidad es correlativa a las anteriores.
Ejemplo de Respuesta
En la salida se muestra un bloque por cada unidad ingresada junto con un mensaje indicando la situacion de cada una.
- Respuesta exitosa:
<registrar_unidades_response xmlns="urn:Educativa/Aula/">
<unidad>
<id_grupo>123</id_grupo>
<nombre>Unidad 1 - Introduccion</nombre>
<id_unidad>1001</id_unidad>
<estado>true</estado>
</unidad>
<unidad>
<id_grupo>123</id_grupo>
<nombre>Unidad 2 - Desarrollo</nombre>
<id_unidad>1002</id_unidad>
<estado>true</estado>
</unidad>
<unidad>
<id_grupo>456</id_grupo>
<nombre>Modulo A</nombre>
<id_unidad>1003</id_unidad>
<estado>true</estado>
</unidad>
</registrar_unidades_response>
- Respuesta con error:
<registrar_unidades_response xmlns="urn:Educativa/Aula/">
<unidad>
<id_grupo>123</id_grupo>
<nombre>Unidad 1</nombre>
<id_unidad>1001</id_unidad>
<estado>true</estado>
</unidad>
<unidad>
<id_grupo>789</id_grupo>
<nombre>Unidad X</nombre>
<id_unidad>0</id_unidad>
<estado>false</estado>
<error>
<error_code>Educativa::Aula::Error::GrupoInexistente</error_code>
<error_string>No existe el grupo "789"</error_string>
</error>
</unidad>
<unidad>
<id_grupo>123</id_grupo>
<nombre></nombre>
<id_unidad>0</id_unidad>
<estado>false</estado>
<error>
<error_code>Educativa::Aula::Error::NombreUnidadRequerido</error_code>
<error_string>El nombre de la unidad es requerido</error_string>
</error>
</unidad>
</registrar_unidades_response>
Errores de validación
- Educativa::Aula::Error::IdUsuarioInvalido - cuando el valor del parametro 'id_responsable' (username) ingresado contiene caracteres invalidos.
- Educativa::Aula::Error::IdGrupoInvalido - cuando el 'id_grupo' ingresado no es numerico o supera el valor 4294967295.
- Educativa::Aula::Error::GrupoInexistente - ocurre cuando el grupo especificado no existe en la plataforma.
- Educativa::Aula::Error::UsuarioAnonimo - ocurre cuando se intenta usar el usuario anonimo ('_anonimo') como responsable.
- Educativa::Aula::Error::UsuarioInexistenteEnGrupo - ocurre cuando el usuario especificado como responsable no pertenece al grupo indicado.
- Educativa::Aula::Error::UsuarioConPerfilAlumno - ocurre cuando el usuario especificado como responsable tiene perfil de Alumno ('A').
- Educativa::Aula::Error::NombreUnidadRequerido - cuando el nombre de la unidad esta vacio o contiene solo espacios.
- Educativa::Aula::Error::DescripcionUnidadRequerida - cuando la descripcion de la unidad esta vacia o contiene solo espacios.