RedmineKit

Redmine Dashboards

Dashboards
5.0 (0)·New instalaciones

Cuadros de mando construidos a partir de las consultas guardadas que ya tienes: una rejilla de arrastrar y soltar con indicadores, tablas y quince tipos de gráfico, agregados en SQL y limitados a lo que cada persona tiene permiso para ver.

$199 / un servidor

Varios servidores: $399

Reembolso en 5 días hábiles12 meses de actualizacionesCódigo fuente incluido
Un cuadro de mando de Redmine Charts dentro de Redmine 6: un KPI de 10.000 peticiones, un gráfico de anillo por proyecto, barras de peticiones por prioridad, un anillo por estado y un gráfico de líneas de peticiones creadas por mes.
Un cuadro de mando en vivo KPI, gráficos de anillo, de barras y de líneas en un solo tablero, con cada cifra agregada en SQL a partir de los datos de Redmine, filtrados por permisos.
Tipos de widget
23
Variantes de gráfico
15
Redmine
4 · 5 · 6 · 7
Bases de datos
MySQL, MariaDB, PostgreSQL
Parches al núcleo
Ninguno

Constructor de arrastrar y soltar

Una rejilla redimensionable y reordenable que se guarda sola mientras trabajas. Coloca indicadores, gráficos y tablas hasta que el tablero cuente lo que necesitas contar, sin archivo de maquetación y sin recargar la página.

Quince tipos de gráfico

Barras, barras horizontales, barras apiladas, líneas, multilínea, área, tarta, anillo, radar, polar, indicador, embudo, mapa de calor, treemap y anillo de progreso, dibujados con Apache ECharts en claro y en oscuro.

Tus consultas guardadas, visualizadas

Apunta un widget a una consulta guardada y hereda ese filtro, con campos personalizados, observadores y subproyectos incluidos. O convierte la consulta en un tablero entero con un clic.

Agregado en SQL

GROUP BY, COUNT, SUM y AVG se ejecutan en la base de datos, así que cien mil peticiones se cuentan en lugar de instanciarse. Los resultados se cachean por usuario, widget y filtros activos.

Ajustado a quien mira

Toda lectura parte de Issue.visible(user), TimeEntry.visible(user) y Query.visible(user), de modo que ningún gráfico puede sumar un proyecto del que quien lo lee no es miembro.

Filtros, refresco y detalle

Una barra de filtros reencuadra el tablero completo, un intervalo por cuadro de mando mantiene al día una pantalla de pared, y cada barra, porción y celda lleva a la lista de peticiones que hay detrás.

Míralo funcionando dentro de Redmine

Todas las capturas proceden de una instalación estándar de Redmine 6 con el plugin copiado en plugins/. Los cuadros de mando aparecen bajo la cabecera y los menús de Redmine, porque es ahí donde se ejecutan.

Construir un tablero

Modo edición en un cuadro de mando: cada widget muestra asas de arrastre y esquinas de redimensionado, y la disposición se guarda automáticamente.
Modo edición Activa el interruptor Editar y cada widget se puede arrastrar y redimensionar. La disposición se guarda sola a medida que trabajas.
El diálogo Añadir widget: tipo de widget, origen de datos, consulta guardada opcional, medida y agregación, elegidos en desplegables.
Añadir un widget Elige un tipo de widget, un origen de datos y, si quieres, una consulta guardada; después, la medida y la agregación. Nadie escribe SQL.

Widgets

El selector de tipo de widget con quince variantes de ECharts, KPI y tabla, además de Markdown, notas, HTML, iframe, flujo de actividad y peticiones recientes.
23 tipos de widget Quince variantes de ECharts más KPI, tabla y seis widgets de contenido: Markdown, notas, HTML, iframe, flujo de actividad y peticiones recientes.
El menú propio de un widget abierto en un cuadro de mando, con las acciones actualizar, configurar y eliminar.
Acciones del widget Cada widget carga por su cuenta y tiene su propio menú: actualiza un gráfico sin recargar el resto del tablero.

Compartir y cambiar

El diálogo para compartir un cuadro de mando con visibilidad privada, compartida y pública, y selectores de roles, grupos y proyectos.
Compartir Mantén un tablero privado, compártelo con roles, grupos o proyectos concretos, o ábrelo a todos los usuarios conectados, resuelto mediante las pertenencias de Redmine.
El selector de cuadros de mando de la barra de herramientas, con todos los tableros visibles y opciones para fijar uno por defecto, exportarlo como JSON o crear uno nuevo.
Cambiar de tablero El selector de la barra de herramientas muestra todos los tableros que puedes ver. Fija uno por defecto, expórtalo como JSON o empieza uno nuevo.

La consulta ya es el informe

Nada aquí te pide describir tus datos por segunda vez. Filtra una lista de peticiones como lo has hecho siempre, guárdala, y esa consulta guardada pasa a ser el ámbito que un widget agrega: exactamente la misma relación con la que Redmine dibuja la lista.

Una consulta guardada, tres caminos hasta un tablero
PasoQué hacesQué obtienes
1. Guardar una consultaFiltrar la lista de peticiones —campos personalizados, observadores, subproyectos— y pulsar GuardarUna consulta con nombre, visible para aquellos con quienes la compartiste
2. Apuntar un widget a ellaElegir esa consulta en el diálogo del widgetOrigen de datos y una agrupación por defecto razonable, deducidos por ti
3. O generar el tablero enteroPulsar «Desde la consulta»Un cuadro de mando de indicadores y gráficos ligados a ella, en una sola petición

Configurado desde desplegables, no desde SQL

Un widget es un origen, una dimensión, una medida y una agregación. Agrupa peticiones por estado, prioridad, tipo, asignado o cualquier campo de fecha repartido en días, semanas, meses o años; cuéntalas, suma las horas estimadas o promedia el porcentaje realizado. Nadie del equipo escribe SQL para obtener un gráfico y, como no hay SQL que escribir, tampoco hay consulta capaz de saltarse los permisos de quien la está leyendo.

El diálogo Desde la consulta: elige una consulta guardada de Redmine para generar un cuadro de mando de KPI y gráficos ligados a sus filtros.
Desde una consulta guardada Elige cualquier consulta guardada y obtén un tablero listo de KPI y gráficos —estado, prioridad, asignado, tendencia y una tabla— ligado a sus filtros.

Cada widget se configura desde un único formulario

Cualquier widget, sea un KPI, unas barras o un anillo, se configura en el mismo formulario breve: título y tipo, un origen de datos, una consulta guardada opcional para los filtros, una medida y una agrupación con Top-N. Cambia el tipo y el formulario se adapta.

Formulario Configurar widget para un KPI: título Total de peticiones, origen de datos Peticiones, consulta guardada, medida Número de peticiones, función count.
KPI Una sola cifra: una medida y una agregación sobre una consulta guardada.
Formulario Configurar widget para un gráfico de barras: Peticiones por prioridad, agrupadas por Prioridad, Top N 20.
Gráfico de barras Agrupa por cualquier dimensión, como la prioridad, y recorta la cola larga con Top-N.
Formulario Configurar widget para un gráfico de anillo: Peticiones por estado, agrupadas por Estado.
Gráfico de anillo Los mismos campos con otro tipo. Al cambiar de gráfico se conservan los ajustes de datos.
Configuración del plugin Redmine Charts: caché activada, caducidad de la caché 300 segundos, tema por defecto Claro, intervalo de autorrefresco 0.
Configuración del plugin Caché, TTL de la caché, tema por defecto y autorrefresco, en la propia pantalla de configuración de Redmine.

Una sola página de ajustes para administradores

En Administración › Extensiones › Redmine Charts se configuran la caché de resultados por usuario, el TTL de la caché (5–86400 segundos, 300 por defecto), el tema claro u oscuro por defecto y un intervalo de autorrefresco por defecto, donde 0 lo desactiva. Es la pantalla de configuración de extensiones del propio Redmine.

23 tipos de widget, y sitio para los tuyos

Cada tipo son metadatos en un registro, así que la interfaz de configuración se construye a partir de la propia declaración del widget en lugar de un formulario escrito a mano por gráfico.

El catálogo que viene en la caja
FamiliaTiposSe configura con
GráficosBarras, barras horizontales, barras apiladas, líneas, multilínea, área, tarta, anillo, radar, polar, indicador, embudo, mapa de calor, treemap, anillo de progresoOrigen, dimensión, medida, agregación
KPI / númeroUna sola cifra agregada, con su propio filtrocount · sum · avg · min · max
TablaUna rejilla paginada sobre esos mismos datos filtrados por permisosSelector de columnas y filtros
ContenidoMarkdown, notas, HTML, iframe, flujo de actividad, peticiones recientesTexto libre, o uno de los propios flujos de Redmine

Dibujado con Apache ECharts

Quince variantes, pensadas para claro y oscuro, redibujadas al cambiar de tamaño y todavía legibles en una pantalla de pared. El bundle viene ya compilado dentro del paquete, así que instalar no requiere Node ni paso de compilación.

Cada segmento baja al detalle

Pulsar una barra, una porción o una celda del mapa de calor abre la lista de peticiones de Redmine filtrada exactamente a esas. Las cifras siguen siendo auditables porque siempre puedes aterrizar en las filas que hay detrás.

Filtros globales y autorrefresco

Una barra de filtros reencuadra todos los widgets del tablero a la vez, y un intervalo de refresco por cuadro de mando mantiene al día la pantalla del pasillo. Cero desactiva el refresco.

Plantillas y planos

Guarda un tablero como plantilla reutilizable, duplícalo por equipo, o expórtalo como plano JSON e impórtalo en otra instancia: de preproducción a producción sin volver a construirlo a mano.

Un plugin, un tablero para cada equipo

Una responsable de entregas, un equipo de soporte y un desarrollador en solitario crearon estos en minutos a partir de consultas guardadas que ya tenían.

Cuadro de mando completo: KPI, anillos, barras por prioridad, tendencia mensual, carga por asignado y una tabla paginada de peticiones.
Visión de cartera KPI, anillos, tendencia, carga por asignado y una tabla paginada de peticiones.
Cuadro de mando Peticiones asignadas a mí con un KPI, un gráfico de área y un anillo por estado.
Peticiones asignadas a mí Un tablero personal con un gráfico de área y un anillo por estado.
Cuadro de mando Peticiones creadas con un KPI, un anillo por tipo y barras por prioridad.
Peticiones creadas Reparto por tipo, por prioridad y por estado de un vistazo.
Cuadro de mando de soporte: KPI de peticiones totales y tiempo dedicado, un anillo por estado, barras por prioridad, subtipo y módulo, y un gráfico de líneas de peticiones creadas por mes.
Visión de soporte Peticiones, tiempo dedicado, prioridad, subtipo y carga por módulo de un periodo de soporte.
Cuadro de mando de soporte de un año completo: KPI de peticiones totales y tiempo dedicado, un anillo por estado, barras por prioridad, módulo y subtipo, y un gráfico de líneas de peticiones creadas por mes.
El año de soporte en cifras Volumen de peticiones, tiempo dedicado y reparto por prioridad y módulo, con la evolución mes a mes.

Dos orígenes incluidos, y el tuyo al lado

Peticiones y tiempos dedicados llegan con sus dimensiones y medidas ya declaradas, ambos detrás de los ámbitos de visibilidad de Redmine. Un origen que añada otro plugin recibe exactamente el mismo trato.

OrigenDimensionesMedidas
PeticionesEstado, prioridad, tipo, proyecto, asignado, autor, categoría, versión, creación, actualización, fecha finNúmero de peticiones, horas estimadas, porcentaje realizado
Tiempos dedicadosProyecto, usuario, actividad, fechaHoras, número de entradas
El tuyoLo que registresLo que registres

Extenderlo es registrar, no parchear

Un origen de datos es una clase con un nombre, sus dimensiones, sus medidas y un base_scope filtrado por permisos; un tipo de widget es un hash. Registra cualquiera de los dos desde el init.rb de tu propio plugin con RedmineCharts.register_data_source o register_widget_type y aparecerá de inmediato en la interfaz de configuración, heredando filtrado, caché y navegación al detalle. Para lograrlo no se toca nada de este plugin.

Nadie agrega lo que no puede leer

Un cuadro de mando es una forma rápida de filtrar una cifra, así que cada lectura empieza por el ámbito de quien mira, en vez de terminar con una comprobación contra él.

Primero la visibilidad, después la agrupación

Issue.visible(user), TimeEntry.visible(user) y Query.visible(user) restringen la relación antes de contar una sola fila. Un total de un proyecto del que no eres miembro no puede aparecer en ningún widget, porque esas filas nunca estuvieron en el conjunto.

Cuatro permisos granulares

Ver cuadros de mando, crearlos, administrarlos todos y gestionar plantillas: cada uno asignable por rol. Y todo permanece apagado hasta que alguien activa el módulo Cuadros de mando en el proyecto.

Compartir a través de las pertenencias

Concede un tablero a usuarios, grupos, roles o proyectos enteros. Cada petición vuelve a resolver viewable_by? y editable_by? mediante las pertenencias de Redmine, y no mediante una lista de acceso paralela que acaba desincronizándose.

Nada sale del servidor

El frontend solo habla con la API JSON de este plugin en tu propio Redmine, con la sesión y el token CSRF que ya existen. Ningún servicio externo, ninguna llamada de licencia, ninguna telemetría.

Hecho para aguantar una instancia grande

Contar cien mil peticiones no debería significar cargar cien mil objetos. Aquí no lo significa.

Qué ocurre cuando se abre un tablero
AsuntoCómo se resuelve
AgregaciónGROUP BY, COUNT, SUM y AVG se ejecutan en SQL: las filas nunca se instancian solo para contarlas
Dimensiones muy anchasEl plegado Top-N mantiene pequeña la respuesta cuando una dimensión tiene miles de valores
Vistas repetidasResultados cacheados por usuario, fecha de modificación del widget y filtros activos mediante Rails.cache; el TTL es un ajuste y Redis funciona tal cual
Un widget lentoLos widgets cargan de forma independiente, así que una consulta pesada nunca retiene al tablero entero
Falta el bundle de JSRails renderiza en el servidor los datos de cada widget como respaldo, así que la página se degrada en vez de quedarse en blanco

Portable a propósito, no por casualidad

La compatibilidad entre versiones y bases de datos está diseñada desde el principio: migraciones, almacenamiento JSON y agrupación por fechas se escribieron para resistir las diferencias.

AspectoSoportadoCómo
Redmine4.x, 5.x, 6.x, 7.xDeclara requires_redmine version_or_higher 4.0.0, sin sobrescrituras del núcleo que puedan quedarse desfasadas
Rails5.2 → 8.0Las migraciones apuntan a la base 5.2, que entienden todas las versiones hasta la 8.0
Ruby2.5+Coincide con el requisito mínimo de Redmine 4
Bases de datosMySQL, MariaDB, PostgreSQLEl JSON vive en columnas de texto normales —DDL idéntico en todas— con un serializador que elige la forma adecuada según la versión de Rails
Agrupación por fechasDía, semana, mes, añoAgrupa con un CAST(col AS DATE) portable y después reparte en intervalos desde Ruby: sin SQL específico de ningún fabricante
Repetir migracionesSeguroEscritas a la defensiva, de modo que una actualización interrumpida se puede volver a ejecutar

Automatizable desde el primer día

Cada endpoint vive bajo /redmine_charts/api, devuelve JSON y aplica exactamente los permisos de la interfaz, así que un tablero puede aprovisionarse desde CI o generarse uno por equipo.

MétodoRutaQué hace
GET/dashboardsTodos los cuadros de mando visibles para quien llama
POST/dashboardsCrear uno
GET/dashboards/:idObtener un tablero con sus widgets
PATCH/dashboards/:idCambiar nombre, disposición o ajustes
POST/dashboards/:id/duplicateClonarlo, widgets incluidos
GET/dashboards/:id/exportExportar un plano JSON
POST/dashboards/importCrear un tablero a partir de un plano
POST/dashboards/:id/widgetsAñadir un widget
GET/widgets/:id/dataDatos del widget agregados y filtrados por permisos
GET/meta/data_sourcesOrígenes, dimensiones, medidas y las consultas guardadas que puedes usar

Lo que incluye hoy y lo que viene

Los puntos de la hoja de ruta son aditivos por diseño —nuevos orígenes de datos, tipos de widget y servicios de exportación—, así que ninguno te obligará a migrar nada. Figuran como hoja de ruta, no como funciones, para que compres por lo que hay hoy en la caja.

FuncionalidadEstado
Cuadros de mando: crear, duplicar, fijar por defecto, exportar e importarDisponible
Rejilla redimensionable de arrastrar y soltar con guardado automáticoDisponible
KPI, tabla y el conjunto completo de gráficos de EChartsDisponible
Configuración visual de widgets sin SQLDisponible
Reutilización de consultas guardadas y generación de tableros en un clicDisponible
Filtros globales que actualizan todo el tableroDisponible
Navegación al detalle del gráfico a la lista de peticionesDisponible
Agregación SQL y caché por usuario, filtradas por permisosDisponible
Compartir, plantillas, temas claro y oscuroDisponible
Multiversión, multibase de datos, respaldo en el servidorDisponible
Exportación a PDF, PNG y ExcelPrevisto
Trabajos en segundo plano para informes muy pesadosPrevisto
Actualizaciones en vivo por WebSocketPrevisto
Instantáneas programadas y enviadas por correoPrevisto
Modo quiosco / pantalla de paredPrevisto
Generador de informes con IA en lenguaje naturalPrevisto
Widgets de calendario, burndown y resumen de GanttPrevisto

Precios

Un servidor

$199

Una instancia de Redmine · usuarios ilimitados · 12 meses de actualizaciones.

Unlimited users12 months of updatesPriority email support
Comprar licencia

Varios servidores

$399

Servidores de Redmine ilimitados · usuarios ilimitados · 12 meses de actualizaciones.

Unlimited users12 months of updatesPriority email support
Comprar licencia
Comprar