Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

VPBX Flow Extension

Repositorio de desarrollo: pgomur/vpbx-flow (privado)

Extensión de Chrome (Manifest V3) que consulta y muestra los datos de una centralita VPBX sin modificar su configuración, presentándolos en un panel relacional para explorar extensiones, colas y rutas de entrada, con búsqueda, selección cruzada, detalle completo y visualización en forma de grafo.

Estado: MVP. Herramienta funcional de consulta, con un alcance deliberadamente acotado. No pretende ser una réplica completa del panel de administración de VPBX. Ver Alcance y decisiones de diseño.

Descripción de la captura

Qué hace

Consulta de datos

Obtiene de VPBX:

  • Extensiones y sus relaciones con las colas.
  • Colas y sus miembros.
  • Rutas de entrada y sus destinos, cuando pueden identificarse como una cola o una extensión.

La obtención se realiza mediante peticiones concurrentes por lotes y reutiliza la sesión VPBX ya iniciada en el navegador.

Panel de consulta relacional

Los datos se presentan en tres bloques interconectados:

  • Extensiones: permite consultar sus datos y las colas en las que participan.
  • Colas: muestra sus datos y sus miembros.
  • Rutas de entrada: muestra el destino asociado a cada ruta cuando está disponible.

El panel incluye:

  • Búsqueda independiente en cada bloque.
  • Selección cruzada: seleccionar un elemento resalta y filtra automáticamente los registros relacionados en los demás bloques.
  • Panel de detalle con todos los atributos y parámetros disponibles del elemento seleccionado.
  • Controles de vista para vaciar temporalmente la información mostrada o restaurar los datos anteriores.

Vista de red

Incluye una vista alternativa basada en un grafo interactivo D3 que permite explorar visualmente las relaciones entre extensiones, colas y rutas de entrada.

Importación y exportación

Los datos pueden:

  • Exportarse como archivo JSON.
  • Importarse desde archivos JSON externos.

Los archivos importados se someten a una validación estricta de estructura y esquema, mostrando errores detallados cuando no cumplen el formato esperado.

Sesión y almacenamiento

La extensión detecta de forma reactiva el estado de la sesión VPBX, incluyendo situaciones como:

  • Sesión activa.
  • Pantalla de login.
  • Sesión caducada.
  • Acceso denegado.
  • URL incorrecta dentro de /panel.
  • Panel de consulta ya abierto.

Los datos obtenidos se almacenan temporalmente en chrome.storage.session. Se conservan mientras el navegador permanece abierto, se eliminan al cerrarlo y pueden borrarse manualmente desde el side panel. El panel muestra además el tamaño de los datos y la fecha de captura.

Temas

Soporta tema claro y oscuro, con detección de las preferencias del sistema y persistencia de la elección.

Requisitos

  • Google Chrome o cualquier navegador basado en Chromium con soporte para Manifest V3 y Side Panel API.

  • Una sesión activa en un panel de administración VPBX alojado en un subdominio de vpbx.me:

    https://*.vpbx.me/admin

La extensión admite tanto el dominio raíz como sus subdominios, por ejemplo subdominio.vpbx.me.

Instalación

La extensión no está publicada en la Chrome Web Store y se distribuye internamente mediante archivos .zip.

  1. Descarga el .zip de la última versión desde Releases.
  2. Descomprime el archivo en una carpeta local.
  3. Abre chrome://extensions en Chrome.
  4. Activa Modo de desarrollador.
  5. Pulsa Cargar extensión sin empaquetar y selecciona la carpeta descomprimida.
  6. El icono de VPBX Flow aparecerá en la barra de extensiones.

También puedes eliminarla y volver a cargarla si es necesario.

Uso

  1. Abre el panel de administración de VPBX (/admin) e inicia sesión.
  2. Abre el side panel de VPBX Flow desde el icono de la extensión.
  3. Espera a que aparezca el estado "Sesión activa".
  4. Pulsa "Obtener datos de VPBX".
  5. Cuando finalice la captura, abre el panel de consulta.
  6. Explora los datos mediante búsqueda, selección cruzada, detalle y vista de red.

También puedes abrir un panel vacío en una pestaña nueva e importar manualmente un archivo JSON previamente exportado.

Alcance y decisiones de diseño

VPBX Flow es un MVP orientado a consulta, no una réplica del panel de administración de VPBX.

El panel de administración contiene muchas otras secciones, como Provisioning, Contactos, Locuciones, Menús interactivos,etc. Estas áreas quedan fuera del alcance actual porque no aportan una relación cruzada suficientemente útil con los datos consultados o porque su obtención requeriría un coste de implementación desproporcionado para el valor aportado.

Por qué estas tres entidades

Las entidades incluidas se seleccionaron porque forman relaciones cruzadas útiles para la consulta operativa:

  • Una extensión puede pertenecer a varias colas.
  • Una cola puede tener varias extensiones como miembros.
  • Una ruta de entrada puede dirigir un número externo hacia una cola o una extensión.

Estas relaciones permiten responder preguntas como:

  • ¿En qué colas participa esta extensión?
  • ¿Qué extensiones forman esta cola?
  • ¿A dónde dirige este número?
  • ¿Qué elementos están relacionados con un determinado recurso?

El objetivo es poder responder estas preguntas desde una única vista, sin tener que navegar manualmente por varias secciones del panel de administración.

Notas técnicas

  • Las lecturas se realizan mediante peticiones HTTP a las mismas rutas del panel de administración de VPBX utilizadas por el propio navegador.
  • La extensión reutiliza la sesión y las cookies existentes del usuario. No gestiona credenciales propias ni almacena contraseñas.
  • La detección de sesión monitoriza las pestañas abiertas y la cookie JSESSIONID, utilizando debounce para evitar comprobaciones innecesarias.
  • La consulta de miembros de las colas utiliza concurrencia controlada y procesamiento por lotes para reducir la carga sobre el navegador y la centralita.
  • Las operaciones de obtención disponen de un timeout de seguridad de 90 segundos.
  • Los datos capturados se almacenan en chrome.storage.session, evitando su persistencia indefinida.
  • El almacenamiento permite además mostrar el tamaño de la captura y su timestamp, así como eliminar los datos manualmente.

About

Extensión de Chrome (Manifest V3) para consultar extensiones, colas y rutas de entrada de una centralita VPBX en un panel relacional, con búsqueda, selección cruzada y vista de grafo. Solo lectura. MVP de distribución interna.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Contributors