Dashboard Block
The "Dashboard Block" (more accurately Dashboard Element Block) allows displaying graphically or litterally the result of any query made in Moodle.
When used in standard course formats, the block gives access to an extra page displaying the data redering for the specified query.
When used in a paged format such as Flexipage, or any format allowing blocks to layout freely over the page, the block may display directly the graph rendering and be combined to other blocks to fgorm a complex, highly customizable dashboard.
This blocks uses state-of-the art GPL libraries such as MIT JQplot and some other integrations. It has provision for powerfull data filtering and for using results for automatically generated exports.
Installation
The block is standalone and provided with own graphic libraries. Just proceed to standard install by copying the code into the /blocks directory of Moodle and browsing to the notification page to get it installed logically.
Provided libraries are :
JQplot : MIT Graph plotting library in HTML5 TimeLine : A smart time line (still to develop) GoogleMapAPI : A wrapper to google map plotting of geolocated information
Capabilities and security advice
This block allows very deep data reading in Moodle database and powerfull data display. As the query can be written by power users with configuraiton capability, the block could be misused by unauthorised people and produce unwanted access to critical information.
To reduce such risks, a couple of capabilities has been added to control precisely :
who is allowed to add such a blcok in a coutse. who is allowed to access the block configuration.
Major rendering features
Litteral
- Linear table raw
- Linear table cleaned
- Linear table with subtotals
- Linear table with colour value coding (one column)
- Tabular table Nx1 dimension
- Tree shaped hierarchic developement
Graphical
- Bars
- Lines
- Pies
- Donuts
- Timeline (expérimental)
- GoogleMap
File export generation
- CSV export (all data)
- CSV export (filtered data)
Data Filtering
- Multidimensional filtering
- Blocks filtering binding to the whole page for syncing several blocks to identical filtering values.
Global behaviour of the block
The key point of the block is its confguration form that will define all information needed to get data, filter it, choose what should be output in each rendering method, and finally individual parameters for each rendering method.
Additional configuration allows to add dynamic filtering proposed to end users to filter dynamically the output.
Althoug the setup form and rules are quite complex, we tried to implement a very lot of possibilities so this bloc becomes some kind of "swiss-knife" for Moodle smart reporting.
Global Settings
Some global settings allow derivated operation, such as querying an external (PostGre) database, or changing some technical performance features.
Instance Configuration
The configuration documentation is splitted into sections, each addressing a key feature of the dashboard.
- Configuration: Rendering location
- Configuration: Rendering channels
- Configuration: Writing Query
- Configuration: Raw data (litteral) rendering
- Configuration: Graph rendering settings
- Configuration: Configuring summarizers
- Configuration: Cache options and setting up exports
Some extra confguration can improve data display
- Additional settings for crosstable and tree-shaped data display
- Additional parameters for output colouring of data
- Additional parameters for geographic plotting (experimental)
Development Road Map
These are future features that are foreseen in the next road map for Dashboard Block.
- Query parametrization with user filled variables
- PDF generators
- Crosstable Excel exports
- Filtering values pre-fetch caching to improve performance
- Accessory database extension to MySQL schemes
Reference, information, development and support
valery.fremaux-AT-gmail.com