Saltar a contenido

ADR 019: Panel admin (parametrización)

Estado

Aceptado — 2026-06

Contexto

La operación diaria (agenda, reservas, clientes, recursos) debe convivir con la parametrización de negocio (ventas, facturación, pagos, tarifas, ajustes por tenant) sin mezclar ambos perfiles en un mismo menú.

Cada panel host monta su propio dashboard de entrada. Los plugins de negocio pueden contribuir módulos, widgets y settings en uno o varios paneles según su criterio.

Decisión

  1. Panel host admin (/admin/, namespace admin) vía entry point cortex.panels.
  2. Módulos sales, billing, payments, pricing con panel_id="admin" (CRUD y navegación de back-office).
  3. Los mismos plugins inyectan widgets en el dashboard de varios paneles con register_widgets (p. ej. KPI de pagos en admin y resumen en panel).
  4. merge_panel_infrastructure fusiona widgets de plugins en el dashboard del host, sin reemplazarlo.
  5. register_resource y register_resource_for_panels permiten el mismo recurso en varios paneles.
  6. Ajustes por plugin con register_settings(..., panel_id="admin") y widget settings con sidebar de secciones.
  7. El flujo de nueva reserva en booking orquesta widgets composables (reservation-flow).
flowchart LR
  subgraph operacion [panel /panel]
    booking[booking]
    clients[clients]
    resources[resources]
    dashOp[Dashboard operativo]
  end

  subgraph adminHost [admin /admin]
    sales[sales]
    billing[billing]
    payments[payments]
    pricing[pricing]
    dashAdmin[Dashboard parametrizacion]
    config[Configuracion]
  end

  plugins[Plugins dominio]
  plugins -->|register_resources panel_id| operacion
  plugins -->|register_resources panel_id| adminHost
  plugins -->|register_widgets| dashOp
  plugins -->|register_widgets| dashAdmin
  plugins -->|register_settings| config

  booking -->|reservation-flow| clients
  booking -->|reservation-flow| payments
  booking -->|reservation-flow| pricing

Consecuencias

  • CORTEX_ENABLED_PANELS incluye panel,admin en el perfil de demo.
  • El panel operativo no lista módulos de finanzas; puede mostrar widgets de esos dominios en su dashboard.
  • default_route de admin apunta al dashboard (/admin); el operativo puede priorizar una pantalla de trabajo (/panel/booking/agenda).
  • Ver panel hosts y settings.