RedmineKit

Redmine Dashboards

Dashboards

Tablouri de bord construite din interogările salvate pe care le aveți deja — o grilă drag-and-drop cu indicatori KPI, tabele și cincisprezece tipuri de grafice, agregate în SQL și limitate la ce are voie să vadă persoana care le privește.

Mai multe servere: $399

Rambursare în 5 zile lucrătoare12 luni de actualizăriCod sursă inclus
Pluginul Redmine Dashboards: Un tablou de bord Redmine Charts în Redmine 6: un indicator KPI cu 10.000 de tichete, un grafic inel pe proiecte, bare pentru tichete pe prioritate, un inel pe stări și un grafic liniar al tichetelor create pe lună.
Un tablou de bord în timp real Indicatori KPI, grafice inel, cu bare și liniare pe un singur tablou — fiecare cifră agregată în SQL din datele Redmine, limitate de permisiuni.
Tipuri de widgeturi
23
Variante de grafice
15
Redmine
4 · 5 · 6 · 7
Baze de date
MySQL, MariaDB, PostgreSQL
Patch-uri în core
Niciunul

Editor drag-and-drop

O grilă redimensionabilă și reordonabilă, care se salvează singură în timp ce lucrați. Aranjați KPI-urile, graficele și tabelele până când tabloul spune povestea de care aveți nevoie — fără fișier de layout, fără reîncărcarea paginii.

Cincisprezece tipuri de grafice

Bare, bare orizontale, bare suprapuse, linie, linii multiple, arie, plăcintă, inel, radar, polar, indicator (gauge), pâlnie, hartă termică, treemap și inel de progres — desenate cu Apache ECharts, în modul luminos și întunecat.

Interogările salvate, vizualizate

Îndreptați un widget spre o interogare salvată și acesta îi preia filtrul — inclusiv câmpurile personalizate, observatorii și subproiectele. Sau transformați interogarea într-un tablou întreg dintr-un singur clic.

Agregare în SQL

GROUP BY, COUNT, SUM și AVG rulează în baza de date, deci o sută de mii de tichete sunt numărate, nu instanțiate. Rezultatele sunt memorate în cache per utilizator, widget și filtre active.

Limitat la ce poate vedea utilizatorul

Fiecare citire pornește de la Issue.visible(user), TimeEntry.visible(user) și Query.visible(user), deci niciun grafic nu poate totaliza un proiect al cărui membru nu este persoana care îl privește.

Filtre, reîmprospătare și detaliere

O singură bară de filtre redefinește întregul tablou, un interval de reîmprospătare per tablou menține actualizat un ecran de perete, iar fiecare bară, felie și celulă duce prin clic la lista de tichete din spatele ei.

Vedeți-l rulând în Redmine

Fiecare captură de ecran de aici provine dintr-o instalare Redmine 6 standard, cu pluginul pus în plugins/. Tablourile de bord stau sub antetul și meniurile Redmine, pentru că acolo rulează.

Construiți un tablou

Pluginul Redmine Dashboards: Modul de editare al unui tablou de bord: fiecare widget afișează mânere de tragere și colțuri de redimensionare, iar aranjamentul se salvează automat.
Modul de editare Activați comutatorul Editare și fiecare widget poate fi tras și redimensionat. Aranjamentul se salvează singur pe măsură ce lucrați.
Pluginul Redmine Dashboards: Dialogul Adăugare widget: tipul widgetului, sursa de date, interogarea salvată opțională, măsura și agregarea, alese din liste derulante.
Adăugați un widget Alegeți un tip de widget, o sursă de date și, opțional, o interogare salvată, apoi măsura și agregarea. Nimeni nu scrie SQL.

Widgeturi

Pluginul Redmine Dashboards: Selectorul de tipuri de widgeturi, care listează cincisprezece variante ECharts, KPI și tabel, plus Markdown, note, HTML, iframe, flux de activitate și tichete recente.
23 de tipuri de widgeturi Cincisprezece variante ECharts, plus KPI, tabel și șase widgeturi de conținut — Markdown, note, HTML, iframe, flux de activitate și tichete recente.
Pluginul Redmine Dashboards: Meniul propriu al unui widget deschis pe un tablou de bord, cu acțiunile reîmprospătare, configurare și ștergere.
Acțiunile widgetului Fiecare widget se încarcă independent și are propriul meniu — reîmprospătați un grafic fără să reîncărcați restul tabloului.

Partajare și comutare

Pluginul Redmine Dashboards: Dialogul de partajare a tabloului de bord, cu vizibilitate privată, partajată și publică și selectoare pentru roluri, grupuri și proiecte.
Partajare Păstrați un tablou privat, partajați-l cu anumite roluri, grupuri sau proiecte ori deschideți-l tuturor utilizatorilor autentificați — totul rezolvat prin calitățile de membru din Redmine.
Pluginul Redmine Dashboards: Comutatorul de tablouri din bara de instrumente, care listează fiecare tablou vizibil, cu opțiuni pentru setarea unui tablou implicit, export JSON sau crearea unui tablou nou.
Comutarea tablourilor Comutatorul din bara de instrumente listează fiecare tablou pe care îl puteți vedea. Fixați unul ca implicit, exportați-l ca JSON sau începeți unul nou.

Interogarea este deja raportul

Nimic de aici nu vă cere să vă descrieți datele a doua oară. Filtrați o listă de tichete ca întotdeauna, salvați-o, iar acea interogare salvată devine domeniul pe care îl agregă un widget — aceeași relație pe care o folosește Redmine pentru a afișa lista.

O interogare salvată, trei căi spre un tablou
PasCe facețiCe obțineți
1. Salvați o interogareFiltrați lista de tichete — câmpuri personalizate, observatori, subproiecte — și apăsați SalvareO interogare denumită, partajată cu cine ați ales
2. Îndreptați un widget spre eaAlegeți acea interogare în dialogul widgetuluiSursa de date și o grupare implicită rezonabilă, deduse automat
3. Sau generați întregul tablouFaceți clic pe Din interogareUn tablou de bord cu indicatori KPI și grafice legate de ea, într-o singură cerere

Configurat din liste derulante, nu din SQL

Un widget înseamnă o sursă, o dimensiune, o măsură și o agregare. Grupați tichetele după stare, prioritate, tip de tichet, persoană atribuită sau orice câmp de dată împărțit pe zile, săptămâni, luni sau ani; numărați-le, însumați orele estimate sau calculați media procentului realizat. Nimeni din echipă nu scrie SQL pentru a obține un grafic — și pentru că nu există SQL de scris, nu există nicio interogare care să depășească permisiunile persoanei care o citește.

Pluginul Redmine Dashboards: Dialogul Din interogare: alegeți o interogare Redmine salvată pentru a genera un tablou de bord cu KPI-uri și grafice legate de filtrele ei.
Dintr-o interogare salvată Alegeți orice interogare salvată și obțineți un tablou gata făcut cu KPI-uri și grafice — stare, prioritate, persoană atribuită, tendință și un tabel — legate de filtrele ei.

Configurați orice widget dintr-un singur formular

Fiecare widget, fie KPI, grafic cu bare sau inel, se configurează în același formular scurt: un titlu și un tip, o sursă de date, o interogare salvată opțională pentru filtre, o măsură și o grupare cu Top-N. Schimbați tipul, iar formularul se adaptează.

Pluginul Redmine Dashboards: Formularul de configurare a unui widget KPI: titlul Total tichete, sursa de date Tichete, interogare salvată, măsura Număr de tichete, funcția count.
Indicator KPI Un singur număr: o măsură și o agregare peste o interogare salvată.
Pluginul Redmine Dashboards: Formularul de configurare a unui grafic cu bare: Tichete pe prioritate, grupate după Prioritate, Top N 20.
Grafic cu bare Grupați după orice dimensiune, de exemplu prioritatea, și limitați coada lungă cu Top-N.
Pluginul Redmine Dashboards: Formularul de configurare a unui grafic inel: Tichete pe stare, grupate după Stare.
Grafic inel Aceleași câmpuri, cu alt tip. Schimbarea graficului vă păstrează setările de date.
Pluginul Redmine Dashboards: Setările pluginului Redmine Charts: activare cache, expirarea cache-ului 300 de secunde, tema implicită Luminoasă, interval de reîmprospătare automată 0.
Setările pluginului Cache, durata de viață a cache-ului, tema implicită și reîmprospătarea automată, în ecranul de setări propriu al Redmine.

O singură pagină de setări pentru administratori

În Administration › Plugins › Redmine Charts setați memorarea rezultatelor în cache pe utilizator, durata de viață a cache-ului (5–86.400 de secunde, implicit 300), tema implicită luminoasă sau întunecată și un interval implicit de reîmprospătare automată, unde 0 o dezactivează. Pagina este chiar ecranul de setări pentru pluginuri al Redmine.

23 de tipuri de widgeturi și loc pentru ale dumneavoastră

Fiecare tip este definit prin metadate dintr-un registru, astfel încât interfața de configurare se construiește singură din declarația widgetului, nu dintr-un formular scris manual pentru fiecare grafic.

Catalogul inclus în pachet
FamilieTipuriSe configurează cu
GraficeBare, bare orizontale, bare suprapuse, linie, linii multiple, arie, plăcintă, inel, radar, polar, indicator (gauge), pâlnie, hartă termică, treemap, inel de progresSursă, dimensiune, măsură, agregare
KPI / numărO singură cifră agregată, cu propriul filtrucount · sum · avg · min · max
TabelO grilă paginată peste aceleași date limitate de permisiuniSelector de coloane și filtre
ConținutMarkdown, note, HTML, iframe, flux de activitate, tichete recenteText liber sau unul dintre fluxurile proprii ale Redmine

Desenat cu Apache ECharts

Cincisprezece variante, cu teme luminoasă și întunecată, redesenate la redimensionare și lizibile și pe un ecran de perete. Pachetul vine precompilat, deci instalarea pluginului nu necesită Node și niciun pas de build.

Fiecare segment permite detalierea

Un clic pe o bară, o felie sau o celulă din harta termică deschide lista de tichete Redmine filtrată exact pe acele tichete. Cifrele rămân verificabile, pentru că puteți ajunge oricând la rândurile din spatele lor.

Filtre globale și reîmprospătare automată

O singură bară de filtre redefinește simultan toate widgeturile de pe tablou, iar un interval de reîmprospătare per tablou menține actualizat un ecran de pe hol. Valoarea zero dezactivează reîmprospătarea.

Șabloane și blueprinturi

Salvați un tablou ca șablon reutilizabil, duplicați-l pentru fiecare echipă sau exportați-l ca blueprint JSON și importați-l în altă instanță — de la staging la producție, fără a-l reconstrui manual.

Un singur plugin, câte un tablou pentru fiecare echipă

Un coordonator de livrare, un birou de suport și un singur dezvoltator le-au construit pe acestea în câteva minute, din interogări salvate pe care le aveau deja.

Pluginul Redmine Dashboards: Tablou de bord complet: KPI, grafice inel, bare pe prioritate, tendință lunară, încărcare pe persoană atribuită și un tabel paginat de tichete.
Privire de ansamblu asupra portofoliului KPI, grafice inel, tendință, încărcare pe persoană atribuită și un tabel paginat de tichete.
Pluginul Redmine Dashboards: Tabloul de bord Tichete atribuite mie, cu un KPI, un grafic de tip arie și un inel pe stări.
Tichete atribuite mie Un tablou personal cu un grafic de tip arie și un inel pe stări.
Pluginul Redmine Dashboards: Tabloul de bord Tichete create, cu un KPI, un inel pe tipuri de tichete și bare pe prioritate.
Tichete create Distribuția pe tipuri de tichete, pe priorități și pe stări, dintr-o privire.
Pluginul Redmine Dashboards: Tablou de bord pentru biroul de suport: indicatori KPI pentru totalul tichetelor și timpul lucrat, un inel pe stări, bare pe prioritate, subtip și modul și un grafic liniar al tichetelor create pe lună.
Birou de suport Tichete, timp lucrat, prioritate, subtip și încărcare pe modul pentru o perioadă de suport.
Pluginul Redmine Dashboards: Un tablou de bord de suport pe un an întreg: indicatori KPI pentru totalul tichetelor și timpul lucrat, un inel pe stări, bare pe prioritate, modul și subtip și un grafic liniar al tichetelor create pe lună.
Anul de suport în cifre Volumul de tichete, orele înregistrate și distribuția pe priorități și module, cu tendința lună de lună.

Două surse incluse și ale dumneavoastră alături de ele

Tichetele și înregistrările de timp vin cu dimensiunile și măsurile deja înregistrate, ambele protejate de domeniile de vizibilitate proprii ale Redmine. O sursă adăugată de un alt plugin este tratată identic.

SursăDimensiuniMăsuri
TicheteStare, prioritate, tip de tichet, proiect, persoană atribuită, autor, categorie, versiune, data creării, data actualizării, termenNumăr de tichete, ore estimate, procent realizat
Înregistrări de timpProiect, utilizator, activitate, datăOre, număr de înregistrări
Ale dumneavoastrăOrice înregistrațiOrice înregistrați

Extinderea înseamnă înregistrare, nu patch-uri

O sursă de date este o clasă cu un nume, dimensiunile, măsurile și un base_scope limitat de permisiuni; un tip de widget este un hash. Înregistrați oricare dintre ele din init.rb-ul propriului plugin cu RedmineCharts.register_data_source sau register_widget_type și apare imediat în interfața de configurare — moștenind filtrarea, cache-ul și detalierea. Nimic din acest plugin nu trebuie editat pentru asta.

Nimeni nu agregă ce nu poate citi

Un tablou de bord este o cale rapidă de a scăpa o cifră, de aceea fiecare citire pornește de la domeniul de vizibilitate al utilizatorului, în loc să se încheie cu o verificare față de el.

Întâi vizibilitatea, apoi gruparea

Issue.visible(user), TimeEntry.visible(user) și Query.visible(user) restrâng relația înainte să fie numărat vreun rând. Un total dintr-un proiect al cărui membru nu sunteți nu poate apărea în niciun widget, pentru că acele rânduri nu au fost niciodată în set.

Patru permisiuni granulare

Vizualizarea tablourilor de bord, crearea lor, gestionarea tuturor tablourilor, gestionarea șabloanelor — fiecare atribuibilă pe rol. Și totul rămâne dezactivat până când cineva activează modulul Charts & Dashboards pentru proiectul respectiv.

Partajare prin calitatea de membru

Acordați un tablou utilizatorilor, grupurilor, rolurilor sau unor proiecte întregi. Fiecare cerere reevaluează viewable_by? și editable_by? prin calitățile de membru proprii ale Redmine, nu printr-o listă de acces paralelă care se desincronizează în timp.

Nimic nu părăsește serverul

Interfața comunică doar cu API-ul JSON al acestui plugin, pe propriul Redmine, prin sesiunea și tokenul CSRF care există deja. Fără servicii externe, fără verificări de licență la distanță, fără telemetrie.

Construit să reziste unei instanțe mari

Numărarea a o sută de mii de tichete nu ar trebui să însemne încărcarea a o sută de mii de obiecte. Aici nu înseamnă.

Ce se întâmplă când se deschide un tablou
AspectCum este tratat
AgregareGROUP BY, COUNT, SUM și AVG rulează în SQL — rândurile nu sunt niciodată instanțiate doar pentru a fi numărate
Dimensiuni largiComasarea Top-N menține răspunsul mic atunci când o dimensiune are mii de valori
Vizualizări repetateRezultate memorate în cache pe utilizator, data modificării widgetului și filtrele active, prin Rails.cache; durata de viață este o setare, iar Redis funcționează fără modificări
Un widget lentWidgeturile se încarcă independent, deci o singură interogare grea nu blochează niciodată întregul tablou
Un pachet JS lipsăRails redă pe server datele fiecărui widget ca soluție de rezervă, deci pagina se degradează în loc să rămână goală

Portabil intenționat, nu din întâmplare

Compatibilitatea între versiuni și baze de date este gândită din start — migrările, stocarea JSON și gruparea pe date au fost scrise pentru a face față diferențelor.

AspectAcceptatCum
Redmine4.x, 5.x, 6.x, 7.xDeclară requires_redmine version_or_higher 4.0.0, fără suprascrieri ale core-ului care să se învechească
Rails5.2 → 8.0Migrările vizează baza 5.2, pe care o înțelege fiecare versiune până la 8.0
Ruby2.5+Corespunde cerinței minime a Redmine 4
Baze de dateMySQL, MariaDB, PostgreSQLJSON-ul stă în coloane text simple — același DDL peste tot — cu un serializator care alege forma potrivită pentru fiecare versiune Rails
Gruparea pe dateZi, săptămână, lună, anGrupează pe un CAST(col AS DATE) portabil, apoi comasează în intervale în Ruby — fără SQL specific unui furnizor
Rularea repetată a migrărilorSigurăScrise defensiv, astfel încât o actualizare întreruptă poate fi reluată

Automatizabil din prima zi

Fiecare endpoint se află sub /redmine_charts/api, returnează JSON și aplică exact aceleași permisiuni ca interfața — astfel încât tablourile pot fi create din CI sau generate câte unul pentru fiecare echipă.

MetodăCaleCe face
GET/dashboardsToate tablourile de bord vizibile apelantului
POST/dashboardsCreează un tablou
GET/dashboards/:idPreia un tablou de bord cu widgeturile sale
PATCH/dashboards/:idActualizează numele, aranjamentul sau setările
POST/dashboards/:id/duplicateÎl clonează, inclusiv widgeturile
GET/dashboards/:id/exportExportă un blueprint JSON
POST/dashboards/importCreează un tablou dintr-un blueprint
POST/dashboards/:id/widgetsAdaugă un widget
GET/widgets/:id/dataDatele agregate ale widgetului, limitate de permisiuni
GET/meta/data_sourcesSurse, dimensiuni, măsuri și interogările salvate pe care le puteți folosi

Ce este disponibil azi și ce urmează

Elementele din foaia de parcurs sunt, prin design, adăugiri — surse de date, tipuri de widgeturi și servicii de export noi — deci niciunul nu vă va cere să migrați ceva. Sunt listate ca foaie de parcurs, nu ca funcționalități, ca să puteți cumpăra pe baza a ceea ce este inclus azi.

FuncționalitateStare
Tablouri de bord: creare, duplicare, setare ca implicit, export și importDisponibil
Grilă drag-and-drop redimensionabilă, cu salvare automatăDisponibil
KPI, tabel și setul complet de grafice EChartsDisponibil
Configurare vizuală a widgeturilor, fără SQLDisponibil
Reutilizarea interogărilor salvate și generarea tabloului dintr-un clicDisponibil
Filtre globale care reîmprospătează întregul tablouDisponibil
Detaliere de la grafic la lista de ticheteDisponibil
Agregare SQL și cache pe utilizator, limitate de permisiuniDisponibil
Partajare, șabloane, teme luminoasă și întunecatăDisponibil
Compatibilitate între versiuni și baze de date, randare de rezervă pe serverDisponibil
Export PDF, PNG și ExcelPlanificat
Joburi în fundal pentru rapoartele foarte grelePlanificat
Actualizări în timp real prin WebSocketPlanificat
Instantanee programate și trimise prin e-mailPlanificat
Mod kiosk / ecran de peretePlanificat
Generator de rapoarte cu AI, în limbaj naturalPlanificat
Widgeturi pentru calendar, burndown și rezumat GanttPlanificat

Prețuri

Un singur server

$199

O instanță Redmine · utilizatori nelimitați · 12 luni de actualizări.

Unlimited users12 months of updatesEmail support
Cumpărați licența

Mai multe servere

$399

Servere Redmine nelimitate · utilizatori nelimitați · 12 luni de actualizări.

Unlimited users12 months of updatesEmail support
Cumpărați licența

Aveți nevoie de o soluție Redmine personalizată?

Căutați o funcționalitate care nu există în pluginurile noastre actuale?

RedmineKit oferă dezvoltare de pluginuri Redmine la comandă, personalizarea pluginurilor, automatizarea fluxurilor de lucru, integrări cu sisteme terțe și soluții adaptate afacerii dumneavoastră.

Spuneți-ne de ce aveți nevoie. Analizăm cerințele și vă propunem o soluție potrivită, cu un cost și un termen estimate.

Cumpărați