The Data Visualisation Framework (DVF for short) is a Drupal 8/9 module that allows you to turn boring data sources (Eg CSV or JSON file) into interactive visualisation. This allows content authors to provide more meaning to raw data, illustrate trends and engage users.
The first version of DVF (named govcms_ckan) was developed for the Australian State of the environment report with the goal of embedding data from data.gov.au as visualisations. This provided context to the data and allowed the report to clearly demonstrate evidence.
DVF can be found on Drupal.org here
For visualisations, DVF includes popular, industry-standard, JavaScript libraries such as:
- billboard.js based on D3 (for charting)
- DataTables (for out-of-the-box table styling).
View some Examples of how these might look.
For data sources, DVF supports CSV, JSON and CKAN data sources however you can always extend DVF and add additional data sources.
- CKAN Connector (ckan_connect) Required by dvf_ckan to connect and retrieve data from CKAN sources
DVF is a common "middle man" to build a visualisation from a data source. Eg:
Data source > DVF > Visualisation
or real world example: CKAN data > DVF > Line graph
. Content editors add a data source, then choose how that data to
be displayed.
DVF provides a field (storage, widget & formatter) which can be added to any entity. Sub modules can provide data sources or visualisation plugins that use this field type, see related modules above for modules currently available.
Visit the Quick start guide for information on how to install and configure DVF
Guides are available on different ways you might want to use DVF. You can also check out our Examples page to see what the final product might look like.
Documentation on extending DVF (via hooks or plugins) can be found here
Development of DVF is currently occurring over at GitHub
Issues are ideally logged in the Github issue queue but we also monitor the Drupal issue queue
We welcome (and appreciate) improvements and fixes to DVF, so if you have something to add please submit a Github pull request.
Ideally Tests should accompany new features.