Drupal Viewer module

What is the Viewer module?

The Viewer module is a simple and yet powerful module to import and process structured or unstructured file types such as CSV, XLSX/XLS, PDF and present them in Drupal via Viewer reference field or a Block. The module comes with multiple plugin support for various data. Some of the plugins include integration with Chart.js, ApexCharts, Datatables and many more. You may easily organize your data and display each file in a tab (horizontal or vertical), accordions and other options could be also added.

The module can import files from different locations it could be FTP, SFTP, absolute path, remote URL or manual upload. Automated imports on cron are also supported.
In some cases those imports are very important and require some kind of notification when import fails, just enable Slack or Email notifications and get notified.

Each plugin comes with intuitive user interface for settings, configuration and filters when available. Module supports plugin previews.

The module could be useful to show financial information, analytical data or any other files on your site.

Whats New

  • In the latest version I added support for CKEditor 5 and text format filter so you can embed any Viewer right into your content.

Key Features

This module does not import file structure into Drupal entities but rather works with file itself and display data on the fly (cached).

  • Import CSV, XLSX and other file types manually or automatically from different locations (FTP, SFTP, HTTP or system path).
  • Override column header with ability to preprocess cell data and hide/show options.
  • Group different data into Tabs and Accordions (can be extended).
  • Email or Slack notifications on import success/failure.
  • Multiple Viewer plugins (Chart.js ApexCharts, Datatabels, Fullcalendar).
  • View CSV, XLSX and PDF files and and reference to the viewer via fields or CKEditor 5 (embed).

Use Cases

The following are some use cases and can be extended via module's plugin system.

  • Display analytical and statistical data (charts, tables).
  • Display financial data (stocks etc).
  • Supply text with visuals from CSV for research data.
  • Display events list CSV as a calendar via Fullcalendar viewer.

Roadmap

  • Documentation.
  • Adding new tool for mapping CSV columns with Drupal entity fields for imports.
  • Extending Viewer plugins (data sources and display plugins).
  • Examples submodule (populates with test data)
  • Better integration for decoupled projects

Examples

Example creating new viewer using Datatables plugin:

 Datatables new

Datatables settings form:

 Datatables settings

Datatables configuration form:

 Datatables configuration

Datatables preview:

 Datatables preview

Filtering options:

 Datatables filter

Charts example:

 Charts example

CKEditor 5 example:

 CKEditor 5

Supporting the Project

Please consider supporting this project with a donation.

Project information

Releases