RedmineKit

Redmine Dashboards

Dashboards
5.0 (0)·New instalações

Painéis construídos a partir das consultas salvas que você já tem — uma grade de arrastar e soltar com blocos de indicadores, tabelas e quinze tipos de gráfico, agregados em SQL e limitados ao que cada pessoa tem permissão para ver.

$199 / um servidor

Vários servidores: $399

Reembolso em 5 dias úteis12 meses de atualizaçõesCódigo-fonte incluído
Um painel do Redmine Charts dentro do Redmine 6: um bloco de indicador com 10.000 tarefas, uma rosca por projeto, barras de tarefas por prioridade, uma rosca de situações e um gráfico de linhas de tarefas criadas por mês.
Um painel ao vivo Blocos de indicadores, roscas, gráficos de barras e de linhas em um só painel — cada número agregado em SQL a partir dos dados do próprio Redmine, filtrados pelas permissões.
Tipos de widget
23
Variantes de gráfico
15
Redmine
4 · 5 · 6 · 7
Bancos de dados
MySQL, MariaDB, PostgreSQL
Alterações no core
Nenhuma

Montagem por arrastar e soltar

Uma grade redimensionável e reordenável que se salva sozinha enquanto você trabalha. Organize indicadores, gráficos e tabelas até o painel contar o que precisa ser contado, sem arquivo de layout e sem recarregar a página.

Quinze tipos de gráfico

Barras, barras horizontais, barras empilhadas, linha, multilinha, área, pizza, rosca, radar, polar, velocímetro, funil, mapa de calor, treemap e anel de progresso — desenhados com Apache ECharts, no claro e no escuro.

Suas consultas salvas, visualizadas

Aponte um widget para uma consulta salva e ele herda aquele filtro, incluindo campos personalizados, observadores e subprojetos. Ou transforme a consulta em um painel inteiro com um clique.

Agregado em SQL

GROUP BY, COUNT, SUM e AVG rodam no banco de dados, então cem mil tarefas são contadas em vez de instanciadas. Os resultados ficam em cache por usuário, widget e filtros ativos.

Recortado para quem está olhando

Toda leitura parte de Issue.visible(user), TimeEntry.visible(user) e Query.visible(user), de modo que nenhum gráfico consegue somar um projeto do qual quem lê não é membro.

Filtros, atualização e detalhamento

Uma barra de filtros reenquadra o painel inteiro, um intervalo por painel mantém um telão atualizado, e cada barra, fatia e célula leva à lista de tarefas que está por trás.

Veja rodando dentro do Redmine

Todas as capturas de tela aqui vêm de uma instalação padrão do Redmine 6 com o plugin colocado em plugins/. Os painéis ficam sob o cabeçalho e os menus do próprio Redmine, porque é ali que eles rodam.

Monte um painel

Modo de edição em um painel: cada widget mostra alças de arrastar e cantos de redimensionamento, e o layout é salvo automaticamente.
Modo de edição Ligue a chave Editar e cada widget pode ser arrastado e redimensionado. O layout se salva sozinho enquanto você mexe.
A janela Adicionar widget: tipo de widget, fonte de dados, consulta salva opcional, medida e agregação, escolhidos em listas suspensas.
Adicione um widget Escolha um tipo de widget, uma fonte de dados e, se quiser, uma consulta salva; depois a medida e a agregação. Ninguém escreve SQL.

Widgets

O seletor de tipos de widget com quinze variantes ECharts, indicador e tabela, além de Markdown, notas, HTML, iframe, feed de atividades e tarefas recentes.
23 tipos de widget Quinze variantes ECharts mais indicador, tabela e seis widgets de conteúdo — Markdown, notas, HTML, iframe, feed de atividades e tarefas recentes.
O menu próprio de um widget aberto em um painel, com as ações atualizar, configurar e excluir.
Ações do widget Cada widget carrega de forma independente e tem seu próprio menu — atualize um gráfico sem recarregar o resto do painel.

Compartilhe e alterne

A janela de compartilhamento do painel com visibilidade privada, compartilhada e pública, e seletores de papéis, grupos e projetos.
Compartilhamento Mantenha um painel privado, compartilhe com papéis, grupos ou projetos específicos, ou abra para todo usuário logado — resolvido pelas associações do Redmine.
O seletor de painéis na barra de ferramentas com todos os painéis visíveis, e opções para definir um padrão, exportar como JSON ou criar um novo.
Alterne entre painéis O seletor da barra de ferramentas lista todos os painéis que você pode ver. Fixe um como padrão, exporte como JSON ou comece um novo.

A consulta já é o relatório

Nada aqui pede que você descreva seus dados uma segunda vez. Filtre uma lista de tarefas como sempre fez, salve, e essa consulta salva passa a ser o escopo que um widget agrega — exatamente a relação que o Redmine usa para montar a lista.

Uma consulta salva, três caminhos até um painel
PassoO que você fazO que você recebe
1. Salvar uma consultaFiltrar a lista de tarefas — campos personalizados, observadores, subprojetos — e clicar em SalvarUma consulta com nome, visível para quem você compartilhou
2. Apontar um widget para elaEscolher essa consulta na janela do widgetFonte de dados e um agrupamento padrão sensato, deduzidos para você
3. Ou gerar o painel inteiroClicar em «A partir da consulta»Um painel de blocos de indicadores e gráficos ligados a ela, em uma única requisição

Configurado por listas suspensas, não por SQL

Um widget é uma fonte, uma dimensão, uma medida e uma agregação. Agrupe tarefas por situação, prioridade, tipo, responsável ou qualquer campo de data dividido em dias, semanas, meses ou anos; conte-as, some as horas estimadas ou tire a média do percentual concluído. Ninguém no time escreve SQL para ter um gráfico — e como não há SQL para escrever, também não existe consulta capaz de passar por cima das permissões de quem está lendo.

A janela A partir da consulta: escolha uma consulta salva do Redmine para gerar um painel de indicadores e gráficos ligados aos filtros dela.
A partir de uma consulta salva Escolha qualquer consulta salva e receba um painel pronto de indicadores e gráficos — situação, prioridade, responsável, tendência e uma tabela — ligado aos filtros dela.

Todo widget configurado em um único formulário

Todo widget, seja um indicador, uma barra ou uma rosca, é configurado no mesmo formulário curto: um título e um tipo, uma fonte de dados, uma consulta salva opcional para os filtros, uma medida e um agrupamento com Top-N. Troque o tipo e o formulário se adapta.

Formulário Configurar widget para um indicador: título Total de tarefas, fonte de dados Tarefas, consulta salva, medida Número de tarefas, função count.
Bloco de indicador Um número: uma medida e uma agregação sobre uma consulta salva.
Formulário Configurar widget para um gráfico de barras: Tarefas por prioridade, agrupadas por Prioridade, Top N 20.
Gráfico de barras Agrupe por qualquer dimensão, como a prioridade, e corte a cauda longa com Top-N.
Formulário Configurar widget para um gráfico de rosca: Tarefas por situação, agrupadas por Situação.
Gráfico de rosca Os mesmos campos com outro tipo. Trocar de gráfico mantém suas configurações de dados.
Configurações do plugin Redmine Charts: cache habilitado, expiração do cache 300 segundos, tema padrão Claro, intervalo de atualização automática 0.
Configurações do plugin Cache, TTL do cache, tema padrão e atualização automática, na própria tela de configurações do Redmine.

Uma única página de configurações para administradores

Em Administração › Plugins › Redmine Charts você define o cache de resultados por usuário, o TTL do cache (5–86400 segundos, padrão 300), o tema claro ou escuro padrão e um intervalo padrão de atualização automática, em que 0 desliga. A página é a própria tela de configurações de plugins do Redmine.

23 tipos de widget, e espaço para os seus

Cada tipo é metadado em um registro, então a interface de configuração se constrói a partir da declaração do próprio widget, e não de um formulário escrito à mão para cada gráfico.

O catálogo que vem na caixa
FamíliaTiposConfigurado com
GráficosBarras, barras horizontais, barras empilhadas, linha, multilinha, área, pizza, rosca, radar, polar, velocímetro, funil, mapa de calor, treemap, anel de progressoFonte, dimensão, medida, agregação
Indicador / númeroUm único valor agregado, com filtro própriocount · sum · avg · min · max
TabelaUma grade paginada sobre os mesmos dados filtrados pelas permissõesSeletor de colunas e filtros
ConteúdoMarkdown, notas, HTML, iframe, feed de atividades, tarefas recentesTexto livre, ou um dos próprios feeds do Redmine

Desenhado com Apache ECharts

Quinze variantes, pensadas para claro e escuro, redesenhadas ao redimensionar e ainda legíveis em um telão. O bundle já vem compilado dentro do pacote, então instalar não exige Node nem etapa de build.

Cada segmento detalha

Clicar em uma barra, uma fatia ou uma célula do mapa de calor abre a lista de tarefas do Redmine filtrada exatamente por elas. Os números continuam auditáveis, porque você sempre pode chegar às linhas que estão por trás.

Filtros globais e atualização automática

Uma barra de filtros reenquadra todos os widgets do painel de uma vez, e um intervalo de atualização por painel mantém a tela do corredor em dia. Zero desliga a atualização.

Modelos e blueprints

Salve um painel como modelo reutilizável, duplique-o por time, ou exporte-o como blueprint JSON e importe em outra instância — de homologação para produção sem reconstruir nada na mão.

Um plugin, um painel para cada time

Uma líder de entregas, uma central de suporte e um único desenvolvedor montaram cada um destes em minutos, a partir de consultas salvas que já tinham.

Painel em toda a extensão: indicador, roscas, barras por prioridade, tendência mensal, carga de trabalho por responsável e uma tabela de tarefas paginada.
Visão do portfólio Indicador, roscas, tendência, carga por responsável e uma tabela de tarefas paginada.
Painel Tarefas atribuídas a mim com um indicador, um gráfico de área e uma rosca de situações.
Tarefas atribuídas a mim Um painel pessoal com um gráfico de área e uma rosca de situações.
Painel Tarefas criadas com um indicador, uma rosca por tipo e barras por prioridade.
Tarefas criadas Distribuição por tipo, divisão por prioridade e situação em um piscar de olhos.
Painel de suporte: blocos de indicador com o total de tarefas e o tempo gasto, uma rosca de situações, barras por prioridade, subtipo e módulo, e um gráfico de linhas de tarefas criadas por mês.
Visão do suporte Tarefas, tempo gasto, prioridade, subtipo e carga por módulo em um período de suporte.
Painel de suporte de um ano inteiro: blocos de indicador com o total de tarefas e o tempo gasto, uma rosca de situações, barras por prioridade, módulo e subtipo, e um gráfico de linhas de tarefas criadas por mês.
O ano de suporte em números Volume de tarefas, tempo gasto e divisão por prioridade e módulo, com a evolução mês a mês.

Duas fontes embutidas, e a sua ao lado

Tarefas e tempo gasto chegam com suas dimensões e medidas já declaradas, ambas atrás dos escopos de visibilidade do Redmine. Uma fonte adicionada por outro plugin recebe o mesmo tratamento.

FonteDimensõesMedidas
TarefasSituação, prioridade, tipo, projeto, responsável, autor, categoria, versão, criação, atualização, data previstaNúmero de tarefas, horas estimadas, percentual concluído
Tempo gastoProjeto, usuário, atividade, dataHoras, número de registros
A suaO que você registrarO que você registrar

Estender é registrar, não remendar

Uma fonte de dados é uma classe com um nome, suas dimensões, suas medidas e um base_scope filtrado pelas permissões; um tipo de widget é um hash. Registre qualquer um dos dois no init.rb do seu próprio plugin com RedmineCharts.register_data_source ou register_widget_type e ele aparece na hora na interface de configuração, herdando filtragem, cache e detalhamento. Para isso, nada neste plugin é alterado.

Ninguém agrega o que não pode ler

Um painel é um jeito rápido de vazar um número, então toda leitura começa pelo escopo de quem está olhando, em vez de terminar com uma verificação contra ele.

Primeiro a visibilidade, depois o agrupamento

Issue.visible(user), TimeEntry.visible(user) e Query.visible(user) restringem a relação antes de uma única linha ser contada. Um total vindo de um projeto do qual você não é membro não pode aparecer em widget nenhum, porque aquelas linhas nunca estiveram no conjunto.

Quatro permissões granulares

Ver painéis, criar painéis, administrar todos e gerenciar modelos — cada uma atribuível por papel. E tudo permanece desligado até alguém habilitar o módulo Painéis para aquele projeto.

Compartilhamento pelas associações

Conceda um painel a usuários, grupos, papéis ou projetos inteiros. Cada requisição resolve de novo viewable_by? e editable_by? pelas associações do próprio Redmine, e não por uma lista de acesso paralela que acaba divergindo.

Nada sai do servidor

O frontend só conversa com a API JSON deste plugin, no seu próprio Redmine, usando a sessão e o token CSRF que já existem. Nenhum serviço externo, nenhuma chamada de licença, nenhuma telemetria.

Feito para aguentar uma instância grande

Contar cem mil tarefas não deveria significar carregar cem mil objetos. Aqui não significa.

O que acontece quando um painel é aberto
AssuntoComo é tratado
AgregaçãoGROUP BY, COUNT, SUM e AVG rodam em SQL — linhas nunca são instanciadas só para serem contadas
Dimensões muito largasO dobramento Top-N mantém a resposta pequena quando uma dimensão tem milhares de valores
Visitas repetidasResultados em cache por usuário, data de alteração do widget e filtros ativos via Rails.cache; o TTL é uma configuração e o Redis funciona como está
Um widget lentoOs widgets carregam de forma independente, então uma consulta pesada nunca segura o painel inteiro
Bundle de JS ausenteO Rails renderiza no servidor os dados de cada widget como alternativa, então a página degrada em vez de ficar em branco

Portável de propósito, não por acaso

O suporte a várias versões e bancos de dados foi projetado desde o início — migrações, armazenamento JSON e agrupamento por datas foram todos escritos para sobreviver às diferenças.

AspectoSuportadoComo
Redmine4.x, 5.x, 6.x, 7.xDeclara requires_redmine version_or_higher 4.0.0, sem sobrescritas do core que possam ficar desatualizadas
Rails5.2 → 8.0As migrações miram a base 5.2, que todas as versões até a 8.0 entendem
Ruby2.5+Igual ao requisito mínimo do Redmine 4
Bancos de dadosMySQL, MariaDB, PostgreSQLO JSON fica em colunas text comuns — DDL idêntico em todo lugar — com um serializador que escolhe o formato certo para cada versão do Rails
Agrupamento por dataDia, semana, mês, anoAgrupa com um CAST(col AS DATE) portável e depois dobra em intervalos no Ruby — sem SQL específico de fabricante
Rodar migrações de novoSeguroEscritas de forma defensiva, então uma atualização interrompida pode ser repetida

Automatizável desde o primeiro dia

Cada endpoint fica sob /redmine_charts/api, devolve JSON e aplica exatamente as permissões da interface — um painel pode ser provisionado pela CI ou gerado um por time.

MétodoCaminhoO que faz
GET/dashboardsTodos os painéis visíveis para quem chama
POST/dashboardsCriar um
GET/dashboards/:idBuscar um painel com seus widgets
PATCH/dashboards/:idAlterar nome, disposição ou configurações
POST/dashboards/:id/duplicateCloná-lo, widgets incluídos
GET/dashboards/:id/exportExportar um blueprint JSON
POST/dashboards/importCriar um painel a partir de um blueprint
POST/dashboards/:id/widgetsAdicionar um widget
GET/widgets/:id/dataDados do widget agregados e filtrados pelas permissões
GET/meta/data_sourcesFontes, dimensões, medidas e as consultas salvas que você pode usar

O que já vem hoje, e o que vem depois

Os itens do roadmap são aditivos por design — novas fontes de dados, tipos de widget e serviços de exportação — então nenhum deles vai pedir que você migre nada. Eles aparecem como roadmap, não como recursos, para que você compre pelo que está na caixa hoje.

RecursoSituação
Painéis: criar, duplicar, definir como padrão, exportar e importarDisponível
Grade redimensionável de arrastar e soltar, com salvamento automáticoDisponível
Indicador, tabela e o conjunto completo de gráficos EChartsDisponível
Configuração visual de widgets sem SQLDisponível
Reaproveitamento de consultas salvas e geração de painéis com um cliqueDisponível
Filtros globais que atualizam o painel inteiroDisponível
Detalhamento do gráfico para a lista de tarefasDisponível
Agregação SQL e cache por usuário, filtrados pelas permissõesDisponível
Compartilhamento, modelos, temas claro e escuroDisponível
Várias versões, vários bancos de dados, alternativa no servidorDisponível
Exportação em PDF, PNG e ExcelPlanejado
Jobs em segundo plano para relatórios muito pesadosPlanejado
Atualização ao vivo por WebSocketPlanejado
Snapshots agendados e enviados por e-mailPlanejado
Modo quiosque / telãoPlanejado
Gerador de relatórios com IA em linguagem naturalPlanejado
Widgets de calendário, burndown e resumo de GanttPlanejado

Preços

Um servidor

$199

Uma instância do Redmine · usuários ilimitados · 12 meses de atualizações.

Unlimited users12 months of updatesPriority email support
Comprar licença

Vários servidores

$399

Servidores Redmine ilimitados · usuários ilimitados · 12 meses de atualizações.

Unlimited users12 months of updatesPriority email support
Comprar licença
Comprar