# Interfaz de Administración

La consola Web, supone el mayor avance de OpenGnsys en esta nueva versión, con las caractersíticas principales de:

- Desarrollada con un lenguaje actual y moderno, Angular 18
- Web Responsiva, funcionando tanto en entorno de PC como Móvil
- Multilingüe, contando con traducción a inglés

![ogintro-webconsole.png](../assets/images/screenshots/ogintro-webconsole.png)

## Configuración

La nueva interfaz de administración de OpenGnsys, cuenta con las siguientes características para su Configuración

![oggui-config_menu.png](../assets/images/screenshots/oggui-config_menu.png){ align=center width=20% }

### Usuarios

Se permite crear, editar y eliminar Usuarios

![oggui-config_usuarios.png](../assets/images/screenshots/oggui-config_usuarios.png){ align=center }

#### Añadir Usuario

![oggui-administracion-usuarios-anadir_usuario.png](../assets/images/screenshots/oggui-administracion-usuarios-anadir_usuario.png){ align=right width=40% } Habrá que definir el *usuario*, *contraseña*, *rol*, *unidad organizativa* y *vista*.

- **Nombre de Usuario**: se usará para le inicio de sesión

- **Contraseña**: la contraseña se define aquí por un administrador. El usuario no podrá cambiar la contraseña, si no tiene acceso al panel de administración de usuarios.

- **Rol**: permite asignar uno o varios roles al usuario. Los roles permiten una mayor granularidad a la hora de administrar los permisos que tendrá cada usuario para administrar la plataforma.

- **Unidad Organizativa**: permite definir sobre qué grupo de aulas o equipos podrá administrar el usuario. Este campo permite elegir uno o varios grupos sobre los que el usuario podrá interactuar. 

<div style="clear: both;"></div>

#### Editar usuario

Esta ventana permite editar todos los campos que se han definido en la creación del mismo.

#### Eliminar Usuario

Permite eliminar un usuario.

### Roles

Los roles permiten gestionar los permisos de acceso que tienen los usuarios para adminsitrar la plataforma. Actualmente se cuenta con 4 niveles de administración según los roles:

- Super Admin: permite control total de la plataforma, sin restricciones.
- Admin de  Unidad Organizativa: permite al usuario realizar todas las actividades existentes, sobre la unidad organizativa.
- Operador de Unidad Organizativa: 
- Usuario

### Variables de Entorno

En este menú se definen, principalmente, las IP y puerto de las API de los diferentes componentes

- OG_CORE_IP 
- OG_DHCP_API_URL 
- OG_BOOT_API_URL
- OG_LOG_IP
- REMOTEPC_AUTH_LOGIN
- REMOTEPC_AUTH_USERNAME
- REMOTEPC_AUTH_PASSWORD
- REMOTEPC_URL

## Navegación por los Menús

En el panel izquierdo, contamos con los menús que nos dan acceso a las características de OpenGnsys que tengamos actualmente activas y funcionando.
!!! note "Nota" 
    Es posible que OpenGnsys no cuente con algunos módulos, porque son consumidos de infraestructuras externas, el ejemplo más clásico es DHCP. En este caso, al acceder a dicho menú se nos mostrará una advertenca de que este módulo no está habilitado.

## Administrar Grupos

![oggui-grupos_crear.png](../assets/images/screenshots/oggui-grupos_crear.png){align=right width=50%}Las características principales de los grupos son:

- Herencia
    - Red y servicio DHCP
    - Boot Server
        - Versión de ogLive
        - Plantilla PXE
    - Servidor NTP
    - Repositorio de Imágenes
        - Configuración de los valores de P2P (modo, tiempo)
        - Configuración de los valores de Multicast (velocidad, puerto, modo)
    - Menú
    - Perfil de Hardware

Los grupos de elementos, son un sistema jerárquico que permite agrupación de elementos. Los más clásicos son Campus, Centros, Aulas y Clientes.

```mermaid
flowchart TB
    subgraph c1 [" Campus"]
        subgraph c2 [" Centro"]
            subgraph c3 [" Aula"]
                c4[" Cliente"]
            end
        end
    end

    classDef campusStyle fill:#f9d5e5,stroke:#333,stroke-width:3px
    classDef centroStyle fill:#eeeeee,stroke:#333,stroke-width:2px
    classDef aulaStyle fill:#b5ead7,stroke:#333,stroke-width:1px
    classDef clienteStyle fill:#c7ceea,stroke:#333,stroke-width:1px

    class c1 campusStyle
    class c2 centroStyle
    class c3 aulaStyle
    class c4 clienteStyle
```

<div style="clear: both;"></div>


