|
|
|
The current Dashboard in the community app is simply a collection of Individual reports which are visualized using d3.js
Individual reports are run using the https://demo.openmf.org/api-docs/apiLive.htm#runreports API (each report has a permission associated with it) and visualized.
This introduces a number of issues:
a) Most organizations would want to define Dashboards specific to roles For example, the reports which make sense for an Accountant are very different from the reports that makes sense to Branch Managers , Auditors etc and we do not really have any mechanism to define dashboards as a collections of selected reports (And their associated visualization preference, i.e display as a Bar graph, pie chart, Text etc) and associate these dashboards to given roles
Note that in MifosX, roles (https://demo.openmf.org/api-docs/apiLive.htm#roles) are defined by Organizations, and we do not ship any predefined roles
b) Each report in MifosX has a associated permission for viewing it (so for a role to access a report, we would have to ensure that a particular role is has the required permission https://demo.openmf.org/api-docs/apiLive.htm#rolespermissions_retrieve)
This setup is not ideal when you want to create Dashboards, we would ideally want a role to have permission to a particular Dashboard (so he would automatically have permission for all reports defined within the dashboard)
For addressing this issue, we propose introducing a new API for managing Dashboards (similar to https://demo.openmf.org/api-docs/apiLive.htm#reports API)
We would have Create/Update/Delete/List permissions to manage the Dashboards themselves (i.e create dashboard, associate them with reports that already exist in the system, optionally select display preferences for each report) Similar to reports, we would want a permission created for each dashboard.
Then , while defining or updating Roles, we can provide permissions to certain roles for the Dashboards they would need access to
WE We would also have a RunDashboard API (similar to https://demo.openmf.org/api-docs/apiLive.htm#runreports) which would run a Dashoboard (i.e all reports within a Dashboard and send a consolidated response, so this would be similar to the Batch API's framework we have https://demo.openmf.org/api-docs/apiLive.htm#batch_api)
Create 3 dashboards for The community app would be updated to consume the following : a) Screens in the Admin section (preferable under Admin - >Organization) to manage the creation of Dashboards b) The home page would need to be updated to display the Dashboards (would be nice if we could resize and rearrange individual graphs )
Once we have this infrastructure in place, we could also ship a few default dashboards, Examples could be
- Operations Dashboard - shows outreach and volume of loans/deposits etc. - LO Dashboard - shows outreach and volumes handled for Loan Officers - Sustainability Dashboard - shows profitability
These dashboards can be viewed on the following parameters: - Branch - Period and Period Type (Quarter, Financial Year etc) - Comparison (compare to previous period or same period in previous year etc) - For all staff or for specific staff - Currency - Include/Exclude Loans and Deposits - Include/Exclude Specific products
Samples of these dashboards attached.
|
|
|
|