Tormenta de ideas para la reunión del 14 de Abril de 2015.
Arquitectura distribuida
- Revisar y documentar.
- Comunicación server-repo. (datos imágenes en repositorio, eliminar imagen en repositorio de distinta máquina,...)
Funcionalidades:
- Varios repos en un cliente.
- Varias unidades organizativas con directorios separados en el repositorio.
- Cómo tener varios clientes en un mismo servidor.
- Imágenes de sistemas operativos compartidas entre distintas unidades organizativas.
Revisión modelo de datos.
- Independizar el acceso a la base de datos para permitir el uso de otros gestores.
- Basar las consultas siempre en los índices de las tablas.
- Definir todos los campos y tablas en inglés.
Especificaciones consola web.
- Basada en framework Symfony usando el paradigma Modelo-Vista-Controlador.
- Crear un sistema completamente modular:
- Núcleo central o "core", incluyendo:
- Gestión de módulos: instalación, desinstalación, activación, desactivación.
- Gestión de permisos y roles.
- Gestión de usuarios.
- Estudiar si la gestión de la infraestructura básica se incluye en el Core o en módulos incluidos por defecto.
- Módulos bien estructurados que añadan o personalicen funcionalidades:
- Empaquetado de código, modificaciones de BD y definición de permisos (al menos).
- Gestión de la infraestructura para el CORE: sólo la estructura de repo-ou-aulas-pc comunicación cliente-servicios.
Se vería la configuración del equipo y se le podría mandar el comando ejecutar cliente, encender, apagar y reiniciar + NetBoot avanzado. ¿+ menú o sólo menú por defecto?
- Mantenimiento/adaptación de la API REST.
- Gráficos sólo png → es lo que soporta el browser del cliente.
- Poder crear listas de ordenadores a los cuales poder lanzar tareas. (Los clientes podrian estar en mas de una lista).
- Proporcionar un editor para crear menus avanzados de codigo html desde la propia consola.
- Que los menus de la consola que muestran los objetos como clientes, menus, procedimientos etc.. permitan drag and drop para hacer la usabilidad mas sencilla.
Cuando se lanza un comando, mostrar el progreso de los mismos de una manera mas moderna, homogenea y coherente (barras de progreso, porcentages etc...).
Crear un menu de administracion desde el cual poder lanzar comandos como, restaurar imagen, crear imagen, particionar... desde el propio cliente.
Si el servidor se reinicia debe poder incluir los clientes: Los clientes antes vinculados con el servidor cada cierto tiempo pregunta si tienen un comando pendiente. El servidor les devuelve un error diciendo que no están en la tabla de socket, debería poder incluirlos o que sea el cliente si el servidor le responde que no está en la tabla de socket que pida la inclusión.
Si el cliente no conecta con el servidor iniciar browser y en segundo plano intentar conectarse cada tiempo (t mayor que ahora)
Al apagar cliente que mande información al servidor, ahora sigue apareciendo el estatus encendido.
Server:
- mensajes de error más concretos y que contengan la ip del cliente.
- que todas las conexiones con la base de datos sea la misma ¿puede ser?
ogClient: incluir más idiomas -> sacarlo del código del cliente. (ogAdmClient.h)
Que la conexión a la BD desde el server sea única: no se abra una cada consulta.
Forma de comunicarse con el cliente/servidor desde línea de comandos. Usos:
→ Pregunta del cliente por datos a través del servidor. → al instalar en el grub la entrada de ogclient
Cómo incluir más personas en el proyecto.
Promoción del proyecto:
- Definición exacta de la licencia y estudio del licenciamiento de los componentes de terceros.
- Inclusión de OpenGnSys en el directorio de software libre de la Free Software Foundation.
- Estudiar la inclusión de OpenGnsys como proyecto de la Apache Software Foundation.
- Internacionalización completa de todo los componentes.
Documentación:
Cómo realizarla para que esté al día.
Como mostrar las distintas versiones en la misma documentación
Idiomas: separar idiomas en script de servidor.
Llevar la antigua lista de deseos.
Mejora: Que el puerto del multicast lo elija el servidor de los que están libres: El server detecta el puerto y se lo manda al cliente. Necesita comunicación server-repo y server-ogclient