Dashboard framework

From UG

Revision as of 21:12, 16 September 2011 by Alex (Talk | contribs)
Jump to: navigation, search


Contents

Info

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.

File:CT2 home layout.JPG

Solution version 1

This is current version !

Since we have 2 apps currently implementation on each differs.

Dashboard for Internal App

Example of DB:

File:Db on internal.JPG

Example of related config:

File:Db config jag user.JPG

Dashboard for Client App

DB on Client example (Main DB):

File:Db on Client.JPG

KPIs DB:

File:Db on Client DB 2.JPG

Related config (superuser level):

File:Db config non jag user.JPG

Related config (user level):

File:Db config non jag user User side 1.JPG

File:Db config non jag user User side 2.JPG

Solution version 2

Multiple dashboards

File:Multiple dashbords based on tabs.JPG

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

File:Client User profile Dash Tab v2.JPG

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.

History

0003067: [* DR/KPI] (Dashboard) Create Dashboard framework

Personal tools