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
From version 2.7 and upper starting at April 16 2016, the graphic libraries have been deffered to a central custom local component.
You'ill find an adequate package at | this location on github, on the corresponding branch.
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 block in a course. 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 color value coding (one column)
- Tabular table Nx1 dimension
- Tree shaped hierarchic development
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 configuration 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)
- Additional special settings when choosing output columns
Tips
Exporting/importing the Block Configuration
This tip is usefull as the configuration of this bloc is huge and uses a lot of variables. The configuration export/import utility allows you to export an encoded configuration string as a text file, store it to your local system, then import it again in, say, a new unconfigured block instance. Configuraiton export contains all the dashboard configuration including the whole query, so it is easy to make several dashboard elements as a variant from a stored one.
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