Redmine Dashboards
DashboardsIrányítópultok a már meglévő mentett lekérdezéseiből – KPI-csempék, táblázatok és tizenöt diagramtípus húzd-és-ejtsd rácson, SQL-ben összesítve, és arra szűkítve, amit a megtekintő láthat.
Több szerver: $399

- Widgettípusok
- 23
- Diagramváltozatok
- 15
- Redmine
- 4 · 5 · 6 · 7
- Adatbázisok
- MySQL, MariaDB, PostgreSQL
- Core patchek
- Nincs
Húzd-és-ejtsd szerkesztő
Átméretezhető, átrendezhető rács, amely munka közben automatikusan ment. Rendezze a KPI-kat, diagramokat és táblázatokat, amíg az irányítópult azt nem mutatja, amire szüksége van – elrendezési fájl és oldal-újratöltés nélkül.
Tizenöt diagramtípus
Oszlop, vízszintes, halmozott, vonal, többvonalas, terület, kör, fánk, radar, polár, mérőóra, tölcsér, hőtérkép, fatérkép és haladásgyűrű – Apache ECharts-szal rajzolva, világos és sötét módban.
Mentett lekérdezései vizualizálva
Kössön egy widgetet egy mentett lekérdezéshez, és az örökli annak szűrőjét – egyéni mezőkkel, megfigyelőkkel és alprojektekkel együtt. Vagy alakítsa a lekérdezést egyetlen kattintással teljes irányítópulttá.
SQL-ben összesítve
A GROUP BY, COUNT, SUM és AVG az adatbázisban fut, így százezer feladatot megszámol, nem pedig példányosít. Az eredmények felhasználónként, widgetenként és aktív szűrők szerint gyorsítótárazódnak.
A megtekintőre szűkítve
Minden lekérdezés az Issue.visible(user), TimeEntry.visible(user) és Query.visible(user) hívásokból indul, így egyetlen diagram sem összesíthet olyan projektet, amelynek a megtekintő nem tagja.
Szűrők, frissítés és lefúrás
Egyetlen szűrősáv a teljes irányítópultot újraszűri, az irányítópultonkénti frissítési időköz naprakészen tartja a fali kijelzőt, és minden oszlopra, szeletre és cellára kattintva a mögötte lévő feladatlistára jut.
Nézze meg működés közben a Redmine-ban
Minden itt látható képernyőkép egy alap Redmine 6-telepítésből származik, amelynek plugins/ mappájába bemásoltuk a bővítményt. Az irányítópultok a Redmine saját fejléce és menüi alatt jelennek meg, mert ott is futnak.
Irányítópult összeállítása


Widgetek


Megosztás és váltás


A lekérdezés már maga a jelentés
Itt semmi sem kéri, hogy másodszor is leírja az adatait. Szűrje a feladatlistát úgy, ahogy mindig is, mentse el, és ez a mentett lekérdezés lesz az a hatókör, amelyet a widget összesít – ugyanaz a reláció, amellyel a Redmine magát a listát is megjeleníti.
| Lépés | Mit tesz Ön | Mit kap |
|---|---|---|
| 1. Mentsen egy lekérdezést | Szűrje a feladatlistát – egyéni mezők, megfigyelők, alprojektek –, és kattintson a Mentés gombra | Egy elnevezett lekérdezés, megosztva azokkal, akikkel megosztotta |
| 2. Kösse hozzá egy widgethez | Válassza ki a lekérdezést a widget párbeszédablakában | Adatforrás és egy észszerű alapértelmezett csoportosítás, automatikusan levezetve |
| 3. Vagy generálja le a teljes irányítópultot | Kattintson a Lekérdezésből gombra | Egy hozzá kötött KPI-csempékből és diagramokból álló irányítópult, egyetlen kéréssel |
Legördülő listákból beállítva, nem SQL-lel
Egy widget egy forrásból, egy dimenzióból, egy mérőszámból és egy összesítésből áll. Csoportosítsa a feladatokat státusz, prioritás, feladattípus, felelős vagy bármely napokra, hetekre, hónapokra vagy évekre bontott dátummező szerint; számolja meg őket, összegezze a becsült órákat, vagy átlagolja a készültséget. A csapatban senkinek sem kell SQL-t írnia egy diagramhoz – és mivel nincs megírandó SQL, nincs olyan lekérdezés sem, amely túlléphetne a megtekintő jogosultságain.

Minden widget beállítása egyetlen űrlapon
Minden widget – legyen az KPI, oszlop- vagy fánkdiagram – ugyanazon a rövid űrlapon állítható be: cím és típus, adatforrás, opcionális mentett lekérdezés a szűrőkhöz, mérőszám, valamint csoportosítás Top-N-nel. Ha módosítja a típust, az űrlap alkalmazkodik.




Egyetlen beállítási oldal az adminisztrátoroknak
Az Adminisztráció › Pluginek › Redmine Charts alatt állíthatja be a felhasználónkénti eredmény-gyorsítótárazást, a gyorsítótár TTL-jét (5–86 400 másodperc, alapértelmezés 300), az alapértelmezett világos vagy sötét témát, valamint az alapértelmezett automatikus frissítési időközt, ahol a 0 kikapcsolja. Az oldal a Redmine saját bővítménybeállítási képernyője.
23 widgettípus, és hely a sajátjainak
Minden típus regiszteralapú metaadat, így a beállítási felület a widget saját deklarációjából épül fel, nem pedig diagramonként kézzel írt űrlapból.
| Család | Típusok | Beállítás |
|---|---|---|
| Diagramok | Oszlop, vízszintes oszlop, halmozott oszlop, vonal, többvonalas, terület, kör, fánk, radar, polár, mérőóra, tölcsér, hőtérkép, fatérkép, haladásgyűrű | Forrás, dimenzió, mérőszám, összesítés |
| KPI / szám | Egyetlen összesített érték saját szűrővel | count · sum · avg · min · max |
| Táblázat | Lapozható rács ugyanazokon a jogosultságokra szűkített adatokon | Oszlopválasztó és szűrők |
| Tartalom | Markdown, jegyzetek, HTML, iframe, tevékenységfolyam, legutóbbi feladatok | Szabad szöveg vagy a Redmine valamelyik saját hírfolyama |
Apache ECharts-szal rajzolva
Tizenöt változat, világos és sötét témával, átméretezéskor újrarajzolva, és fali kijelzőn is olvashatóan. A csomag előre lefordított bundle-t tartalmaz, így a bővítmény telepítéséhez nem kell Node és fordítási lépés.
Minden szegmens lefúrható
Egy oszlopra, szeletre vagy hőtérképcellára kattintva megnyílik a Redmine feladatlistája, pontosan azokra a feladatokra szűrve. A számok ellenőrizhetők maradnak, mert mindig eljuthat a mögöttük lévő sorokig.
Globális szűrők és automatikus frissítés
Egyetlen szűrősáv egyszerre szűri újra az irányítópult összes widgetjét, az irányítópultonkénti frissítési időköz pedig naprakészen tartja a folyosói kijelzőt. A nulla kikapcsolja a frissítést.
Sablonok és tervrajzok
Mentse az irányítópultot újrafelhasználható sablonként, duplikálja csapatonként, vagy exportálja JSON-tervrajzként, és importálja egy másik példányba – tesztkörnyezetből élesbe, kézi újraépítés nélkül.
Egy bővítmény, minden csapatnak saját irányítópult
Egy szállítási vezető, egy ügyfélszolgálat és egy fejlesztő percek alatt építette fel ezeket a már meglévő mentett lekérdezéseiből.





Két beépített forrás, és mellettük a sajátjai
A feladatok és az időráfordítások előre regisztrált dimenziókkal és mérőszámokkal érkeznek, mindkettő a Redmine saját láthatósági hatókörei mögött. Egy másik bővítmény által hozzáadott forrást pontosan ugyanígy kezel.
| Forrás | Dimenziók | Mérőszámok |
|---|---|---|
| Feladatok | Státusz, prioritás, feladattípus, projekt, felelős, szerző, kategória, verzió, létrehozva, módosítva, határidő | Feladatok száma, becsült órák, készültség |
| Időráfordítások | Projekt, felhasználó, tevékenység, dátum | Órák, bejegyzések száma |
| Saját | Bármi, amit regisztrál | Bármi, amit regisztrál |
A bővítés regisztráció, nem patchelés
Egy adatforrás egy osztály névvel, dimenziókkal, mérőszámokkal és jogosultságokra szűkített base_scope-pal; egy widgettípus egy hash. Bármelyiket regisztrálhatja saját bővítménye init.rb fájljából a RedmineCharts.register_data_source vagy a register_widget_type hívással, és azonnal megjelenik a beállítási felületen – örökölve a szűrést, a gyorsítótárazást és a lefúrást. Ehhez ebben a bővítményben semmit sem kell módosítani.
Senki sem összesíthet olyat, amit nem olvashat
Egy irányítópult gyors módja egy szám kiszivárogtatásának, ezért minden lekérdezés a megtekintő saját hatóköréből indul, ahelyett hogy a végén ellenőrizné azt.
Előbb láthatóság, aztán csoportosítás
Az Issue.visible(user), a TimeEntry.visible(user) és a Query.visible(user) már azelőtt leszűkíti a relációt, hogy egyetlen sort is megszámolna. Olyan projekt összesítése, amelynek Ön nem tagja, egyetlen widgetben sem jelenhet meg, mert ezek a sorok soha nem kerültek a halmazba.
Négy részletes jogosultság
Irányítópultok megtekintése, létrehozása, az összes kezelése, sablonok kezelése – mindegyik szerepkörönként kiosztható. És mindez kikapcsolva marad, amíg valaki be nem kapcsolja a Charts & Dashboards modult az adott projektben.
Megosztás tagságokon keresztül
Adjon hozzáférést egy irányítópulthoz felhasználóknak, csoportoknak, szerepköröknek vagy teljes projekteknek. Minden kérés a Redmine saját tagságain keresztül értékeli ki újra a viewable_by? és editable_by? feltételeket, nem pedig egy párhuzamos, idővel elcsúszó hozzáférési listán.
Semmi sem hagyja el a szervert
A frontend csak ennek a bővítménynek a JSON API-jával kommunikál a saját Redmine-ján, a már meglévő munkamenet és CSRF-token használatával. Nincs külső szolgáltatás, nincs licenc-visszajelzés, nincs telemetria.
Nagy példányokra is felkészítve
Százezer feladat megszámolása nem jelentheti százezer objektum betöltését. Itt nem is jelenti.
| Szempont | Hogyan kezeli |
|---|---|
| Összesítés | A GROUP BY, COUNT, SUM és AVG SQL-ben fut – a sorokat soha nem példányosítja csak azért, hogy megszámolja őket |
| Széles dimenziók | A Top-N összevonás kicsiben tartja a válasz méretét, ha egy dimenziónak több ezer értéke van |
| Ismételt megtekintések | Az eredmények felhasználónként, a widget módosítási ideje és az aktív szűrők szerint gyorsítótárazódnak a Rails.cache-ben; a TTL beállítható, és a Redis módosítás nélkül működik |
| Egy lassú widget | A widgetek egymástól függetlenül töltődnek be, így egyetlen nehéz lekérdezés sem tartja túszként a teljes irányítópultot |
| Hiányzó JS-bundle | Tartalékként a Rails szerveroldalon jeleníti meg minden widget adatait, így az oldal korlátozottan működik ahelyett, hogy üres maradna |
Szándékosan hordozható, nem véletlenül
A verziók és adatbázisok közötti támogatás a tervezés része – a migrációkat, a JSON-tárolást és a dátumok szerinti csoportosítást úgy írtuk meg, hogy kibírják a különbségeket.
| Szempont | Támogatott | Hogyan |
|---|---|---|
| Redmine | 4.x, 5.x, 6.x, 7.x | A requires_redmine version_or_higher 4.0.0 deklarációval, elavulható core-felülírások nélkül |
| Rails | 5.2 → 8.0 | A migrációk az 5.2-es alapszintet célozzák, amelyet a 8.0-ig minden kiadás ért |
| Ruby | 2.5+ | Megfelel a Redmine 4 minimális követelményének |
| Adatbázisok | MySQL, MariaDB, PostgreSQL | A JSON egyszerű szöveges oszlopokban tárolódik – mindenhol azonos DDL-lel –, egy Rails-verziónként megfelelő formát választó szerializálóval |
| Dátum szerinti csoportosítás | Nap, hét, hónap, év | Hordozható CAST(col AS DATE) alapján csoportosít, majd Rubyban vonja össze sávokba – gyártóspecifikus SQL nélkül |
| Migrációk újrafuttatása | Biztonságos | Óvatosan megírva, így egy megszakadt frissítés újrajátszható |
Az első naptól szkriptelhető
Minden végpont a /redmine_charts/api alatt található, JSON-t ad vissza, és pontosan ugyanazokat a jogosultságokat érvényesíti, mint a felület – így az irányítópultok CI-ból is létrehozhatók, vagy csapatonként generálhatók.
| Metódus | Útvonal | Mit csinál |
|---|---|---|
| GET | /dashboards | A hívó számára látható összes irányítópult |
| POST | /dashboards | Új létrehozása |
| GET | /dashboards/:id | Egy irányítópult lekérése a widgetjeivel |
| PATCH | /dashboards/:id | Név, elrendezés vagy beállítások módosítása |
| POST | /dashboards/:id/duplicate | Klónozás a widgetekkel együtt |
| GET | /dashboards/:id/export | JSON-tervrajz exportálása |
| POST | /dashboards/import | Irányítópult létrehozása tervrajzból |
| POST | /dashboards/:id/widgets | Widget hozzáadása |
| GET | /widgets/:id/data | Összesített, jogosultságokra szűkített widgetadatok |
| GET | /meta/data_sources | Források, dimenziók, mérőszámok és a használható mentett lekérdezések |
Mi érhető el ma, és mi következik
Az ütemterv elemei eleve kiegészítő jellegűek – új adatforrások, widgettípusok és exportszolgáltatások –, így egyik sem fogja migrációra kényszeríteni. Ütemtervként, nem funkcióként szerepelnek, hogy a ma a csomagban lévők alapján dönthessen a vásárlásról.
| Képesség | Állapot |
|---|---|
| Irányítópultok: létrehozás, duplikálás, alapértelmezett beállítása, exportálás és importálás | Elérhető |
| Húzd-és-ejtsd, átméretezhető rács automatikus mentéssel | Elérhető |
| KPI, táblázat és a teljes ECharts-diagramkészlet | Elérhető |
| Vizuális, SQL nélküli widgetbeállítás | Elérhető |
| Mentett lekérdezések újrafelhasználása és egykattintásos irányítópult-generálás | Elérhető |
| A teljes irányítópultot frissítő globális szűrők | Elérhető |
| Lefúrás diagramról a feladatlistára | Elérhető |
| Felhasználónkénti, jogosultságokra szűkített SQL-összesítés és gyorsítótárazás | Elérhető |
| Megosztás, sablonok, világos és sötét téma | Elérhető |
| Verziók és adatbázisok közötti működés, szerveroldali tartalék | Elérhető |
| PDF-, PNG- és Excel-export | Tervezett |
| Háttérfeladatok nagyon nehéz jelentésekhez | Tervezett |
| Élő frissítések WebSocketen | Tervezett |
| Ütemezett, e-mailben küldött pillanatképek | Tervezett |
| Kioszk / fali kijelző mód | Tervezett |
| MI-alapú, természetes nyelvű jelentéskészítő | Tervezett |
| Naptár-, burndown- és Gantt-összesítő widgetek | Tervezett |
Telepítés három lépésben
Shell-hozzáférés és rake-feladatok futtatásának lehetősége szükséges. Bővítmény telepítése előtt mindig készítsen biztonsági mentést.
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
Patcheli vagy felülírja a Redmine core fájljait?
Szükség van Node.js-re vagy fordítási lépésre a telepítéshez?
Működnek a meglévő mentett lekérdezéseim, a bonyolultak is?
Láthat valaki számokat olyan projektből, amelyhez nincs hozzáférése?
Mely adatbázisok támogatottak?
Mely Redmine- és Rails-verziókon fut?
Hozzáadhatunk saját adatforrásokat vagy diagramtípusokat?
Mi az, ami szándékosan nincs benne az 1.0-s verzióban?
Árak
Egy szerver
Egy Redmine-példány · korlátlan felhasználó · 12 hónap frissítés.
Több szerver
Korlátlan Redmine-szerver · korlátlan felhasználó · 12 hónap frissítés.
Egyedi Redmine-megoldásra van szüksége?
Olyan funkciót keres, amely meglévő bővítményeinkben nem érhető el?
A RedmineKit egyedi Redmine-bővítményfejlesztést, bővítmény-testreszabást, munkafolyamat-automatizálást, külső rendszerekkel való integrációt és vállalkozására szabott megoldásokat kínál.
Írja meg, mire van szüksége. Áttekintjük az igényeit, és megfelelő megoldást javaslunk becsült költséggel és ütemezéssel.