Copiar grupo

copiar_grupo (id as Integer, nombre as String, id_tipo_copia_grupo as String)

El método realiza una copia de tipo 'id_tipo_copia_grupo' del grupo 'id' asignándole como nombre al grupo destino 'nombre'. El 'id_tipo_copia_grupo' determina los contenidos que se copian en cada caso. Se establece la fecha de creación como la fecha del día.

Devuelve: id_new + nombre_new + detalle

Se devuelve el 'id' y 'nombre' del grupo creado, además de un 'detalle' sobre el resultado de la copia. (el nombre se retorna porque puede haberse cambiado debido a que ya existía un grupo con el 'nombre_grupo' especificado, en este caso, adicionalmente se indica la situación en el 'detalle').


Funcionamiento

  • Si queremos copiar un grupo, debemos especificar obligatoriamente todos los campos
    • El 'id_grupo' ingresado debe ser numérico, y debe corresponder a un grupo existente actualmente en la plataforma.
    • El 'nombre_grupo' ingresado no puede superar los 255 caracteres.
    • El 'id_tipo_copia_grupo' ingresado debe corresponder a un tipo de copia existente. Los tipos de copia son:

- 0.0.0 : Estructura (home, presentación, unidades, categorias, responsables)

- 1.1.0 : Estructura con Contenido (home, presentación, unidades, categorias, responsables),  programa (+ todo lo asociado a las unidades)

- 1.2.0 : Estructura con Contenido (home, presentación, unidades, categorias,responsables), programa + material relacionado (* + todo lo que haya dentro de las categorias) pero asignado a usuario anónimo.

- 1.2.1 : Estructura con Contenido (home, presentación, unidades, categorias, responsables, programa + material relacionado (* + todo lo que haya dentro de las categorias) asignado a sus respectivos dueños, quedando éste desactivado

       

  • Contenido de 'detalle':
    • Si el WS finaliza correctamente muestra: "Se ha copiado correctamente".
    • Si además el nombre del nuevo grupo se corresponde al nombre de un grupo de existencia previa, lo que ocasiona que el grupo se deba renombrar, muestra: "Atención: Dado que grupo 'nombre_grupo' ya existe, el nuevo grupo se ha guardado con el nombre 'nombre_grupo (n)' "
    • Si además el tipo de copia es 0.0.0 muestra el siguiente mensaje: "Atención: en caso de existir enlaces o incrustaciones hacia contenido del aula, éstos no estarán disponibles debido al tipo de copia realizada"


Ejemplo de Respuesta

Ejemplo de respuesta de la llamada copiar_grupo, pasando todos los parámetros correctamente


Llamada:


       <aula:copiar_grupo>
        <aula:id>33</aula:id>
        <aula:nombre>epistemologia</aula:nombre>
        <aula:tipo>0.0.0</aula:tipo>
     </aula:copiar_grupo>


  • En esta llamada, podemos observar que:
    • se solicita copiar el grupo cuyo id_grupo es el especificado mediante 'id' = "33". Este grupo es de tipo 'a Distancia'.
    • el tipo de copia especificado, mediante 'tipo' es 0.0.0, lo cual corresponde a un tipo de copia válida para grupos 'a Distancia'.
    • 'nombre' = "epistemologia", corresponde al nombre con el cual se quiere crear el nuevo grupo.


Respuesta:


<copiar_grupo_response xmlns="urn:Educativa/Aula/">
        <id_new>41</id_new>
        <nombre_new>epistemologia (1)</nombre_new>
        <detalle>Se ha copiado correctamente
Atención: Dado que grupo 'epistemologia' ya existe, el nuevo grupo se ha guardado con el nombre 'epistemologia (1)'
Atención: en caso de existir enlaces o incrustaciones hacia contenido del aula, éstos no estarán disponibles debido al tipo de copia realizada</detalle>
     </copiar_grupo_response>


  • En esta respuesta podemos observar que se creo un grupo con las siguientes características:
    • 'id_curso' = "544"
    • 'nombre_curso' = "epistemologia (1)". Se renombró, ya que existía previamente un grupo con 'nombre_curso' = "epistemologia". Esta situación se indica en el 'detalle'.


Errores de validación

  • Educativa::ErrorCopiaCurso("Debe ingresar el id del grupo que desea copiar.") - No se especifico 'id_grupo'.
  • Educativa::Aula::Error::IdGrupoInvalido - El 'id_grupo' ingresado no es integer.
  • Educativa::ErrorCopiaCurso("El grupo que desea copiar no existe.") - El grupo que se desea copiar no existe definido en la plataforma.
  • Educativa::ErrorCopiaCurso("Debe ingresar un nombre para el nuevo grupo.") - No se especifico 'nombre'.
  • Educativa::ErrorCopiaCurso("El nombre del grupo no puede tener más de 255 caracteres.") - El 'nombre' tiene una longitud superior a los 255 caracteres.
  • Educativa::ErrorCopiaCurso("Debe ingresar el tipo de copia que desea realizar.") - No se especifico 'tipo'.
  • Educativa::ErrorCopiaCurso("El tipo de copia no está disponible para para el grupo seleccionado.") - El 'tipo' de copia especificado no esta disponible para el tipo de grupo correspondiente al grupo con el id especificado, o el tipo de copia ingresado no existe.
  • Educativa::ErrorCopiaCurso("La sección de grupos ha sido deshabilitada momentáneamente debido a tareas de mantenimiento. El lapso máximo de bloqueo es de 10 minutos, aguarde por favor..." en la linea 5322) - Se lanzaron dos ejecuciones en paralelo de el WS, solo ejecutará una correctamente.