wiki:Reunion110516

Acta videoconferencia de 11 de mayo de 2016

Asisten: Huelva, Valencia, Zaragoza, Málaga y Sevilla.
próxima reunión: 25 de mayo a las 11:30

Versión 1.1 últimos cambios

#738 Consola Web. Se pierde nombre de la imagen restaurada

El problema aparece cuando al restaurar cambia el sistema operativo. al terminar el comando pone bien el nombre de la imagen pero al reiniciar o actualizar lo borra.

El problema se debe a que al restaurar se guarda en la base de el nombre de la imagen pero al reiniciar detecta que ha cambiado el sistema operativo y borra el nombre de la imagen por considerar que ha habido un cambio en el equipo.

Se resuelve guardando el nombre del sistema operativo en el momento de la restauración. Para saber qué sistema operativo tiene la imagen, ha sido necesario cambiar el inventario de software para que guarde el identificador del sistema operativo en el perfil de software asociado a la misma.

Hacer el cambio en la 1.0.5 para que pueda utilizarlo Málaga

API Rest del repositorio.

Al instalar el REPO se genera la clave de repositorio para autenticarse en la AI REST y se guarda en el fichero de configuración del repositorio.

Se podría modificar la consola de forma que si el repositorio no es el mismo que el servidor consulte si existe la clave de la API REST y si es así :

  • para arrancar los clientes envíe la orden al repositorio.
  • para mostrar/eliminar las imágenes del mismo solicite la información al mismo.

En código de la API REST se ha integrado en la rama de desarrollo del proyecto, se separan las funciones para los distintos componentes. En el directorio www/rest tenemos:

  • server.php
  • repository.php
  • ogagent.php

Nuevo oglive

Se está creando un nuevo cliente de OpenGnsys partiendo de Ubuntu 15.10. Varios comandos ha modificado el formato de la salida y está afectando a varias funciones. Por ejemplo fdisk se cambia por partx

Entre otras afecta a la función ogGetPartitionType, que ya está corregida

Browser: soporte de idioma

Se ha terminado. Está completo el idioma inglés y hay algunas palabras del catalán.

En el directorio 'client/browser/po' se encuentran los ficheros de idioma en formato texto, una vez que se acaben sólo hay que ejecutar una instrucción para pasarlos al formato .mo y que los reconozca el browser.

Sería bueno hacer la internacionalización de otros componentes con gettext.

Imagen de disco duro completo

Se cambia el comando dd por partclone.imager, que viene como una herramienta más de partclone.

Para probar las funciones hay que usar el ogLive nuevo, se subirá a la zona de descargas.

WindowsBootParemeters

Se detecta la versión de Windows de una forma genérica, a partir de ahora no hará falta modificar la función cuando haya una nueva versión de Windows.

Nueva Consola

Se independizan la parte del cliente y la del servidor.

  • symfony para la parte de servidor (inicialmente se usará Slim)
  • angularJS para la parte de cliente.

Lo que une la parte de cliente a la de servidor son los 'resources' de angular.

Es muy importante definir bien la API y las rutas, de forma que cuande se cambio de Slim a Symfony no haya que realizar cambios en la parte del cliente.

Las consulta JSON son muy ligeras por lo que permiten hacer consultas muy extensas (ej: la unidad organizativa con todos sus elementos).

  • Conviene hace pocas peticiones al servidor y manejar luego los objetos javascript del lado del cliente, la web va muy rápida.
  • Esto puede sobrecargar la base de datos.
  • Hay que llegar a un compromiso, es usual poder configurar el nivel de profundidad que se utiliza en la consulta.

Existen muchas plantillas para angular; Hay que elegir una, de forma que lo que se vaya desarrollando sea definitivo.

  • Es importante que sea libre para no tener problema de licencia y poder modificarla.
  • Las plantillas se podrían modificar para adaptarlas al estilo de cada institución, sería bueno ofrecer en la consola web una parte interna que permita configurarla fácilmente.

Angular permite instalar muchos componentes con la utilidad brower (análogo al composer de php). Brower toma las dependencias de un fichero JSON es intala todo lo necesario.

También se pueden usar gulp o grunt, herramientas javascript que permiten lipiar el código y minimizarlo.

Ha habido que hacer algunos cambios en la API REST:

Para acceder a la ruta de las unidades organizativas necesitabas estar autenticado, se elimina este requisito para poder mostrar la lista de las OU en la pantalla de login.

La parte del cliente usará angular que utiliza el estandar de JSON, por lo que espera recibir un array JSON. Esto obliga a modificar algunas respuestas del JSON del servidor.

Ahora se incluye una variable de error, se eliminará ya que también se manda el error con los códigos HTTP.

Actualmente el identificador del objeto tiene un nombre variable: idou, idusuario, ... Todos los objetos usarán el campo id que es lo que se utiliza normalmente y que usa symfony.

No hay confusión al trabajar con los identificadores ya que el tipo de objeto es distinto.

En el resto de campos (ej: nombre) no afecta si cada objeto tiene una nomenclatura diferente.

Faltan rutas por definir, por ejemplo la de grupos de ordenadores o grupos de aulas.

Antes de hacer cualquier petición que modifique un objeto (y con ello la BD), hay que usar una petición OPTION. Se utiliza para saber si tenemos permiso o no para realizar la consulta de moficación, pero puede contener datos interesantes del objeto como los campos, la longitud máxima y si son requeridos, que permitirían crear formulacios dinámicos con Angular.

Varios

Número de puestos del aula

En las propiedades del aulas el número de puestos no puede ser mayor a 127, se debe al tipo de campo que se utiliza en la ase de datos. Se cambiará SMALLINT para permitir valores mayores.

Inicialmente este campo era sólo informativo, se refería al aforo y no al número de equipo.

Actualmente se usa en el protocolo multicast como el número de equipos que espera el servidor que se conecten para comenzar la transferencia.

Se modificará en comando multicast en la consola para que tome el número de equipo de la base de datos, filtrando los que pertenecen al aula.

También se modificará el etiqueta de las propiedades del aula poniento 'aforo' en vez de 'número de puestos'

Número de serie

Existe una función que lo obtiene. Se incluirá en las propiedades del aula, si el valor se ha detectado con el comando se mostrará y en caso contrarío se permitirá que lo incluya el usuario.

Página de inicio con asistente

Se quiere permitir que los usuarios tengan una página de inicio donde puedan clonar las imágenes que correspondan a su equipo. Para ello es necesario autodetectar el modelo del equipo y conectarse al servidor para obtener las imágenes que puede restaurar.

Se plantea si sería bueno que se guardará el modelo del equipo en las propiedades del mismo, aunque no parece necesario ya que está en el inventario de hardware. Si los equipos tienen asociados un inventario de harware se podría obtener este valor.

RedIris

Los grupos de trabajo de RedIris con el 31 de mayo.

Podemos presentar los últimos cambios:

  • Entornos de desarrollo estandarizados con Vagrant
  • API REST
  • Nueva consola de administración con AngularJS

Normalmente hay unos 20 minutos para exponerlo.

Last modified 2 years ago Last modified on Jul 14, 2017, 1:07:08 PM