Redmine Dashboards
DashboardsDashboardy postavené z uložených dotazů, které už máte – mřížka s přetahováním, KPI dlaždicemi, tabulkami a patnácti typy grafů, agregovaná v SQL a omezená na to, co smí prohlížející osoba vidět.
Více serverů: $399

- Typy widgetů
- 23
- Varianty grafů
- 15
- Redmine
- 4 · 5 · 6 · 7
- Databáze
- MySQL, MariaDB, PostgreSQL
- Patche jádra
- Žádné
Editor s přetahováním
Mřížka, jejíž prvky lze měnit co do velikosti i pořadí a která se ukládá průběžně. Uspořádejte KPI, grafy a tabulky tak, aby nástěnka ukazovala, co potřebujete – bez souboru s rozvržením a bez obnovování stránky.
Patnáct typů grafů
Sloupcový, vodorovný, skládaný, spojnicový, vícespojnicový, plošný, koláčový, prstencový, radarový, polární, budík, trychtýřový, teplotní mapa, stromová mapa a kruhový ukazatel průběhu – vykreslené pomocí Apache ECharts, ve světlém i tmavém režimu.
Vaše uložené dotazy jako grafy
Napojte widget na uložený dotaz a převezme jeho filtr – včetně vlastních polí, pozorovatelů a podprojektů. Nebo z dotazu jedním kliknutím vytvořte celou nástěnku.
Agregace v SQL
GROUP BY, COUNT, SUM a AVG běží v databázi, takže sto tisíc úkolů se spočítá, aniž by se musely načítat jako objekty. Výsledky se ukládají do cache pro každého uživatele, widget a aktivní filtry.
Omezeno na prohlížejícího
Každé čtení vychází z Issue.visible(user), TimeEntry.visible(user) a Query.visible(user), takže žádný graf nesečte projekt, jehož členem čtenář není.
Filtry, obnovování a proklik do detailu
Jediný panel filtrů přenastaví celou nástěnku, interval obnovy pro každý dashboard udržuje nástěnný displej aktuální a každý sloupec, výseč i buňka vede na seznam úkolů, který za nimi stojí.
Podívejte se, jak běží přímo v Redminu
Každý snímek obrazovky zde pochází ze standardní instalace Redminu 6, do které byl plugin jen nakopírován do plugins/. Dashboardy jsou pod vlastním záhlavím a menu Redminu, protože právě tam běží.
Sestavte si nástěnku


Widgety


Sdílení a přepínání


Dotaz už je report
Nic tu po Vás nechce popisovat data podruhé. Vyfiltrujte seznam úkolů jako vždy, uložte ho a tento uložený dotaz se stane rozsahem, který widget agreguje — je to stejná relace, kterou Redmine používá k vykreslení samotného seznamu.
| Krok | Co uděláte | Co získáte |
|---|---|---|
| 1. Uložte dotaz | Vyfiltrujte seznam úkolů — vlastní pole, pozorovatelé, podprojekty — a klikněte na Uložit | Pojmenovaný dotaz, sdílený s těmi, s nimiž jste ho sdíleli |
| 2. Napojte na něj widget | Vyberte tento dotaz v dialogu widgetu | Zdroj dat a rozumné výchozí seskupení, odvozené automaticky |
| 3. Nebo vygenerujte celou nástěnku | Klikněte na Z dotazu | Dashboard s KPI dlaždicemi a grafy navázanými na dotaz, jedním požadavkem |
Nastavení z rozbalovacích seznamů, ne v SQL
Widget tvoří zdroj, dimenze, metrika a agregace. Seskupte úkoly podle stavu, priority, fronty, řešitele nebo libovolného data rozděleného do dnů, týdnů, měsíců či let; spočítejte je, sečtěte odhadované hodiny nebo zprůměrujte procento hotovo. Nikdo v týmu nepíše SQL, aby získal graf — a protože žádné SQL psát nelze, neexistuje dotaz, který by sáhl za hranice oprávnění člověka, který ho čte.

Každý widget nastavíte v jednom formuláři
Každý widget, ať je to KPI, sloupcový nebo prstencový graf, se nastavuje ve stejném krátkém formuláři: název a typ, zdroj dat, volitelný uložený dotaz pro filtry, metrika a seskupení s Top-N. Změníte typ a formulář se přizpůsobí.




Jedna stránka nastavení pro administrátory
V Administrace › Doplňky › Redmine Charts nastavíte cachování výsledků pro jednotlivé uživatele, TTL cache (5–86 400 sekund, výchozí 300), výchozí světlý nebo tmavý motiv a výchozí interval automatického obnovení, kde 0 jej vypíná. Jde o standardní obrazovku nastavení pluginu v Redminu.
23 typů widgetů a prostor pro Vaše vlastní
Každý typ je popsán metadaty v registru, takže konfigurační rozhraní se sestaví samo z deklarace widgetu, nikoli z ručně psaného formuláře pro každý graf.
| Skupina | Typy | Nastavení |
|---|---|---|
| Grafy | Sloupcový, vodorovný sloupcový, skládaný sloupcový, čárový, vícečárový, plošný, koláčový, prstencový, radarový, polární, budík, trychtýřový, teplotní mapa, stromová mapa, ukazatel průběhu | Zdroj, dimenze, metrika, agregace |
| KPI / číslo | Jedno agregované číslo s vlastním filtrem | count · sum · avg · min · max |
| Tabulka | Stránkovaná mřížka nad stejnými daty omezenými oprávněními | Výběr sloupců a filtry |
| Obsah | Markdown, poznámky, HTML, iframe, přehled aktivity, nedávné úkoly | Volný text nebo jeden z vlastních přehledů Redminu |
Vykresleno pomocí Apache ECharts
Patnáct variant se světlým i tmavým motivem, překreslených při změně velikosti a čitelných i na nástěnné obrazovce. Bundle je v balíčku předem sestavený, takže instalace pluginu nevyžaduje Node ani žádný build.
Každý segment se dá rozkliknout
Kliknutím na sloupec, výseč nebo buňku teplotní mapy se otevře seznam úkolů Redminu vyfiltrovaný přesně na tyto úkoly. Čísla tak zůstávají ověřitelná, protože se vždy dostanete k řádkům, které za nimi stojí.
Globální filtry a automatické obnovování
Jeden panel filtrů změní rozsah všech widgetů na nástěnce najednou a interval obnovení nastavitelný pro každý dashboard udržuje aktuální obrazovku na chodbě. Nula obnovování vypíná.
Šablony a blueprinty
Uložte nástěnku jako znovupoužitelnou šablonu, zduplikujte ji pro každý tým nebo ji exportujte jako JSON blueprint a importujte do jiné instance — ze stagingu do produkce, aniž byste ji ručně stavěli znovu.
Jeden plugin, nástěnka pro každý tým
Vedoucí dodávek, support desk i jednotlivý vývojář si je každý sestavili během několika minut z uložených dotazů, které už měli.





Dva zdroje v základu a Vaše vlastní vedle nich
Úkoly a záznamy času mají své dimenze a metriky registrované předem, oboje za vlastními rozsahy viditelnosti Redminu. Zdroj přidaný jiným pluginem se chová úplně stejně.
| Zdroj | Dimenze | Metriky |
|---|---|---|
| Úkoly | Stav, priorita, fronta, projekt, řešitel, autor, kategorie, verze, vytvořeno, aktualizováno, termín dokončení | Počet úkolů, odhadované hodiny, procento hotovo |
| Záznamy času | Projekt, uživatel, aktivita, datum | Hodiny, počet záznamů |
| Váš vlastní | Cokoli zaregistrujete | Cokoli zaregistrujete |
Rozšíření je registrace, ne patchování
Zdroj dat je třída s názvem, dimenzemi, metrikami a base_scope omezeným oprávněními; typ widgetu je hash. Obojí zaregistrujete z init.rb vlastního pluginu pomocí RedmineCharts.register_data_source nebo register_widget_type a okamžitě se to objeví v konfiguračním rozhraní — včetně filtrování, cachování a rozkliknutí do detailu. V tomto pluginu se kvůli tomu nic neupravuje.
Nikdo neagreguje to, co nesmí číst
Dashboard je rychlý způsob, jak nechtěně prozradit číslo, proto každé čtení začíná v rozsahu oprávnění uživatele, místo aby jím kontrolou končilo.
Nejdřív viditelnost, pak seskupení
Issue.visible(user), TimeEntry.visible(user) a Query.visible(user) omezí relaci dříve, než se započítá jediný řádek. Součet z projektu, jehož nejste členem, se nemůže objevit v žádném widgetu, protože tyto řádky v množině nikdy nebyly.
Čtyři podrobná oprávnění
Zobrazovat dashboardy, vytvářet je, spravovat všechny, spravovat šablony — každé lze přidělit podle role. A vše zůstává vypnuté, dokud někdo v daném projektu nezapne modul Charts & Dashboards.
Sdílení přes členství
Zpřístupněte nástěnku uživatelům, skupinám, rolím nebo celým projektům. Každý požadavek znovu vyhodnotí viewable_by? a editable_by? přes vlastní členství Redminu, nikoli přes paralelní seznam přístupů, který se časem rozejde se skutečností.
Nic neopouští server
Frontend komunikuje pouze s JSON API tohoto pluginu na Vašem vlastním Redminu, přes již existující session a CSRF token. Žádná externí služba, žádné ověřování licence na dálku, žádná telemetrie.
Postaveno tak, aby zvládlo i velkou instanci
Spočítat sto tisíc úkolů by nemělo znamenat načíst sto tisíc objektů. Tady to tak není.
| Oblast | Jak je řešena |
|---|---|
| Agregace | GROUP BY, COUNT, SUM a AVG běží v SQL — řádky se nikdy nevytvářejí jako objekty jen proto, aby se spočítaly |
| Široké dimenze | Sloučení do Top-N udržuje objem přenášených dat malý, i když má dimenze tisíce hodnot |
| Opakovaná zobrazení | Výsledky se cachují podle uživatele, mtime widgetu a aktivních filtrů přes Rails.cache; TTL je nastavitelné a Redis funguje bez úprav |
| Jeden pomalý widget | Widgety se načítají nezávisle, takže jeden náročný dotaz nikdy nezablokuje celou nástěnku |
| Chybějící JS bundle | Rails jako zálohu vykreslí data každého widgetu na serveru, takže stránka se zjednoduší, místo aby zůstala prázdná |
Přenositelné záměrně, ne náhodou
Podpora napříč verzemi a databázemi je součástí návrhu — migrace, ukládání JSON i seskupování podle data byly napsány tak, aby rozdíly přežily.
| Oblast | Podporováno | Jak |
|---|---|---|
| Redmine | 4.x, 5.x, 6.x, 7.x | Deklaruje requires_redmine version_or_higher 4.0.0, bez přepisů jádra, které by mohly zastarat |
| Rails | 5.2 → 8.0 | Migrace cílí na základ 5.2, kterému rozumí každé vydání až po 8.0 |
| Ruby | 2.5+ | Odpovídá minimálnímu požadavku Redminu 4 |
| Databáze | MySQL, MariaDB, PostgreSQL | JSON je uložen v prostých textových sloupcích — všude stejné DDL — se serializérem, který volí správnou formu podle verze Rails |
| Seskupení podle data | Den, týden, měsíc, rok | Seskupuje přes přenositelné CAST(col AS DATE) a poté skládá do intervalů v Ruby — žádné SQL specifické pro dodavatele |
| Opakované spuštění migrací | Bezpečné | Napsáno defenzivně, takže přerušenou aktualizaci lze spustit znovu |
Skriptovatelné od prvního dne
Všechny endpointy jsou pod /redmine_charts/api, vracejí JSON a vynucují přesně stejná oprávnění jako uživatelské rozhraní — nástěnky tak lze zakládat z CI nebo generovat pro každý tým zvlášť.
| Metoda | Cesta | Co dělá |
|---|---|---|
| GET | /dashboards | Všechny dashboardy viditelné pro volajícího |
| POST | /dashboards | Vytvoří dashboard |
| GET | /dashboards/:id | Načte dashboard s jeho widgety |
| PATCH | /dashboards/:id | Aktualizuje název, rozvržení nebo nastavení |
| POST | /dashboards/:id/duplicate | Naklonuje ho včetně widgetů |
| GET | /dashboards/:id/export | Exportuje JSON blueprint |
| POST | /dashboards/import | Vytvoří nástěnku z blueprintu |
| POST | /dashboards/:id/widgets | Přidá widget |
| GET | /widgets/:id/data | Agregovaná data widgetu omezená oprávněními |
| GET | /meta/data_sources | Zdroje, dimenze, metriky a uložené dotazy, které můžete použít |
Co je k dispozici dnes a co přijde
Položky plánu rozvoje jsou ze své podstaty doplňkové — nové zdroje dat, typy widgetů a exportní služby — takže žádná z nich po Vás nebude chtít nic migrovat. Jsou uvedeny jako plán, ne jako funkce, abyste se mohli rozhodnout podle toho, co balíček obsahuje dnes.
| Funkce | Stav |
|---|---|
| Dashboardy: vytvoření, duplikace, nastavení výchozího, export a import | K dispozici |
| Mřížka s přetahováním a změnou velikosti a automatickým ukládáním | K dispozici |
| KPI, tabulka a kompletní sada grafů ECharts | K dispozici |
| Vizuální nastavení widgetů bez SQL | K dispozici |
| Opětovné využití uložených dotazů a generování nástěnky jedním kliknutím | K dispozici |
| Globální filtry, které obnoví celou nástěnku | K dispozici |
| Proklik z grafu do seznamu úkolů | K dispozici |
| SQL agregace a cachování pro jednotlivé uživatele, omezené oprávněními | K dispozici |
| Sdílení, šablony, světlý a tmavý motiv | K dispozici |
| Podpora napříč verzemi a databázemi, záložní vykreslení na serveru | K dispozici |
| Export do PDF, PNG a Excelu | Plánováno |
| Úlohy na pozadí pro velmi náročné reporty | Plánováno |
| Živé aktualizace přes WebSocket | Plánováno |
| Plánované snímky zasílané e-mailem | Plánováno |
| Režim kiosku / nástěnné obrazovky | Plánováno |
| Tvorba reportů pomocí AI v přirozeném jazyce | Plánováno |
| Widgety kalendáře, burndown a souhrnu Ganttova diagramu | Plánováno |
Instalace ve třech krocích
Vyžaduje přístup k shellu a možnost spouštět rake úlohy. Před instalací pluginu vždy proveďte zálohu.
cd /path/to/redmine # unzip the package from your email or download link unzip redmine_charts-1.0.0.zip -d plugins/ bundle install
bundle exec rake redmine:plugins:migrate NAME=redmine_charts RAILS_ENV=production # optional: the built-in dashboard templates bundle exec rake redmine_charts:seed_templates RAILS_ENV=production touch tmp/restart.txt
# Project → Settings → Modules → Charts & Dashboards # then grant the dashboard permissions to the roles that need them # a Dashboards entry appears in the top menu for anyone who holds one
Upravuje nebo přepisuje nějaké soubory jádra Redminu?
Potřebuji k instalaci Node.js nebo build?
Budou fungovat mé stávající uložené dotazy, i ty složité?
Může někdo vidět čísla z projektu, ke kterému nemá přístup?
Které databáze jsou podporovány?
Na kterých verzích Redminu a Rails běží?
Můžeme přidat vlastní zdroje dat nebo typy grafů?
Co záměrně není ve verzi 1.0?
Ceník
Jeden server
Jedna instance Redmine · neomezený počet uživatelů · 12 měsíců aktualizací.
Více serverů
Neomezený počet serverů Redmine · neomezený počet uživatelů · 12 měsíců aktualizací.
Potřebujete řešení Redmine na míru?
Hledáte funkci, kterou naše stávající pluginy nenabízejí?
RedmineKit nabízí vývoj pluginů pro Redmine na zakázku, úpravy pluginů, automatizaci pracovních postupů, integrace se systémy třetích stran a řešení šitá na míru Vaší firmě.
Napište nám, co potřebujete. Posoudíme Vaše požadavky a navrhneme vhodné řešení s odhadem ceny a harmonogramu.