Dashboard Block

From MoodleDocs

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.

Global Settings

Instance Configuration

The configuration documentation is splitted into sections, each addressing a key feature of the dashboard.

Some extra configuration can improve data display

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