wiki:Version2/Desarrollo/WebConsole

Version 1 (modified by adelcastillo, 14 years ago) (diff)

--

Tecnologías

Principalmente webpy.

Para la base de datos usamos sqlalchemy.

Otra tecnología que nos gustaría usar pero que todavía no hemos explotado todo su potencial que es formalchemy.

Código

Aquí se encuentra la consola web. #238

Ficheros

  • setup.sh: Se ejecuta para instalar la consola web. Borra todos los datos de la anterior instalación y llama a los siguientes scripts para generar una instalación limpia:
    • db.py: Crea la base de datos principal.
    • i18n_make.sh: Genera las traducciones.
    • i18n_make_plugins.sh: Lo mismo que antes pero para los plugins.
    • fill_data.sh: Rellana algunos datos para poder probar el código.
  • admin.py: Se ejecuta para ejecutar la consola web. Se le puede pasar el puerto por el que se quiere ejecutar. Por defecto es el 8080.
  • config.py: Aquí podemos configurar muchos aspectos de la consola web.
  • i18n_extract.sh y i18n_extract_plugin.sh: Sirve para extraer los mensajes para traducir.
  • decorators.py: Están los decoradores para las funciones donde hay mensajes para traducir.
  • log.py: Este fichero se configura como se guarda el log.
  • runtests.sh: Para correr los tests.
  • utils.py: Funciones que se usan en todo el código y no sabíamos donde colocar.
  • daemon.py: El demonio que debe ser ejecutar para recibir las respuestas de los clientes.

Directorios

  • clientjob: Todo lo referente a envío de trabajos a los clientes y también a los repositorios.
  • dbadmin: Es el formalchemy, que crea a partir de base de datos formularios para poder modificarlos. Todavía no está desarrollado todo lo que debería.
  • i18n: Generado para las traducciones.
  • log : Generado para el log.
  • login: ¿No hay nada?
  • main: La base de datos principal de ordenadores, grupos, repositorios, etc.
  • navigator: Todo lo referente a la pestaña navigator de la consola web.
  • panel: Todo lo refrente a la pestaña panel.
  • pluginmanager: Todo lo referente a la pestaña pluginmanager. Instala, activa, desactiva y elimina plugins. También puede configurar sus opciones.
  • plugins: Aquí está el esqueleto de los plugins. pluginbase.py es el fichero principal y ahí se encuentra mucho código usado por los plugins que heredan de esa clase. En este directorio existen más directorios que son los plugins propiamente dichos que se pueden activar desde pluginmanager. Por ahora ahí:
    • disk_image: Todo lo referente a los discos de los clientes.
    • hardware_inventory: Crea un inventario hardware a los clientes.
  • sessions: Creado para guardar la sesión.
  • ssl: Certificados para conexiones seguras.
  • static: El javascript, css, imagenes, etc. También se enlaza con el material estático con enlaces simbólicos de los plugins cuando se instalan.
  • templates: Todo el sistema de plantillas que se usa en la consola web. Se organiza por carpetas y también se enlaza templates de plugins cuando se instalan.
  • tests: Para crear tests. No está muy desarrollado.
  • user: Aquí vemos todo el código relacionado con los usuarios del sistema.
  • web: El webpy que usa la consola web.