Dashboard framework
From UG
Contents |
Info
- parent: 0003127: (Dashboard) ......
Business Requirements
- Need special page with various panels such as Weather, News, etc
- Need separate page for DRs
- above should be available on both Client and internal
- need flexible admin to manage above on the superuser, manager, user levels
- persistence (system must remember last state of dashboard for individual user to reproduce at the next login)
Glossary
Dashboard - it is a space between Header/Main Menu and Footer on a CT2 Home Page. It contains various Panels ("Widgets") with valuable information such as "Weather", "RSS News feeds" or "Truck Dom Stats Dashboard Report".
One important type of Dashboard widget is Dashboard Report (DR). Sometime we call them KPI. For more info see DR framework wiki.
See Fig below.
Solution version 1
This is current version !
Since we have 2 apps currently implementation on each differs.
Dashboard for Internal App
Example of DB:
Example of related config:
Dashboard for Client App
DB on Client example (Main DB):
KPIs DB:
Related config (superuser level):
Related config (user level):
Solution version 2
Multiple dashboards
Persistence
System must remember last state (location, state [open/closed], settings) of Dashboard for individual user to reproduce it at the next login.
Settings
Levels of dashboard panel management:
- CT2 Admin level settings
- settings for each dashboard panel (manage defaults, etc).
- Location: Home > Admin > Dashboard
- Admin level user settings
- Location: Home > Admin > Users and Offices
- ("User profile" managed by superuser)
- User level user settings.
- Location: Home > User profile
- ("User profile" managed by user)
User level User settings
Admin level user settings
These could be same list as the above (in this case it would define defaults or could be used to change settings at the Admin level at some point). Or they could include additional settings. Some parameters could be managed at admin level only. In this case they would appear as read only in User level User settings.
Company level settings
In the future it would be also use convenient to have dashboard settings at the company level. In this case if company X purchased widget Y then all users associated with that company will inherit it (with default settings defined at the Company level).
Currently there is no clear link between user and company. User is associated with 2 companies: one through address and another through visibility. Possibly in next version this would be re-considered. See also Users. That is why this should be part of this version only if "user to company link" functionality is implemented before.
Manager level settings
Requirement DR_framework#Personalization seems to lead to another type of user that has access to certain dashboard parameters for some users. This type of user is a manager who configures DRs for his team.
There is pros and cons for adding this level. I suggest not to add this functionality in this version.
CT2 Admin level settings
Similarly to #Company level settings these settings regulate defaults in this case on a highest level. Also there could be some other global settings associated with specific panel/widget/DR.
At this level we could also define what user roles would see what widgets/panels.
Exceptions
It is possible that it would be hard to fully consolidate all settings for specific widget or DR in one place. For example for Action required DRs (see DR for 9 existing Action Required internal reports) certain parameters are defined at the Reports Scheduler level.