= !BluePrint: Framework for Dashboards = [[TOC]] == Introduction == Dashboards (in this BluePrint) are containers to render multiple data resources and/or user activities on a single page, allowing synopsis and cross-analysis of data resources, as well as consolidation of user goals. == Stakeholders == - Users - Deployers (Content Managers) - Service Providers (Template Developers) - Plugin Developers - Core Developers == User Stories == === End-Users === - Deployers want to adapt the homepage to the context of the deployment and the current situation (global dashboard) - Deployers want to extend dashboards with additional/custom layouts or widgets provided as plugins - Organisation managers want to provide an overview of their current activities and status of their resources (org-specific dashboard) - Site managers want to provide an overview of the current status of their facilities and resources (site-specific dashboard) - Individual users want to adapt a personal landing page to their specific user role/tasks (personal dashboard) - Individual users want to share their dashboard configuration with other members of their team - Deployers (and/or individual users) want to re-use a dashboard configuration with multiple (e.g. offline) instances === Implementers === - Developers want to implement pages providing overview of status/tasks/resources in a certain workflow (workflow dashboard) - Developers want to implement pages for synopsis and cross-analysis of multiple data resources (awareness/analysis dashboard) - Developers want to provide additional layouts or widgets for dashboards as plugins === Core Developers === - Developers want to extend or add page layouts for dashboards - Developers want to extend or add widget classes == Requirements == === Functional === 1. Dashboards support an extensible library of page '''layouts''' 2. Dashboards support an extensible library of '''widgets''' (=objects to render resources/activities) 3. Dashboards provide a structure for cross-filtering of widgets (='''common context''') 4. Dashboards (including widgets) are '''configurable at run time''' (through the web GUI), without requiring any server-side intervention 5. Dashboard configurations '''can be shared''': - with other users - with other Sahana instances === Non-functional === ''tbw'' === Interoperability === ''tbw'' === Standards === ''tbw'' === System Constraints === ''tbw'' == Framework Architecture == Overview of the tentative framework architecture: [[Image(dashboard_architecture.png)]] == Current Implementation == - [wiki:S3/S3Dashboard S3Dashboard] (modules/s3/s3dashboard.py) == Future Extensions == ''tbw'' == Outstanding Questions == ''tbw'' == References == ''tbw'' ---- BluePrint