Rendered, branded US Letter PDF reports for OpenSearch and OpenSearch Dashboards 3.8.0.
Version: 0.1.2 (release notes). Build both plugin ZIPs and their SHA-256 checksums using the commands below. The plugin version is 0.1.2; 3.8.0 in the archive filenames identifies the required OpenSearch platform version.
BetterReports imports saved dashboards and visualizations into reusable sections, runs approved queries through durable, revocable OpenSearch grants, and produces vector charts and selectable PDF text. The same PDF is used for preview, download, and Notifications email attachments. Scheduled jobs run inside Dashboards; no external worker or browser service is required.
Requires Node.js 22, npm, and Docker for the companion build against the exact distribution. From this directory:
npm ci
npm run typecheck
npm test
npm run demo
npm run build
npm run build:companionThe companion build creates build/betterreports-opensearch-3.8.0.zip. Install it on OpenSearch before using the Dashboards plugin. The Dashboards build creates build/betterReports-3.8.0.zip and its SHA-256 checksum. The demo creates output/pdf/BetterReports-demo.pdf using clearly identified synthetic data.
npm run check:platform verifies integration contracts against the exact 3.8.0 source at OSD_HOME or .platform/OpenSearch-Dashboards. npm run build:platform performs that check before packaging. The archive uses the 3.8.0 bundle registry and platform-shared React/EUI dependencies; it does not require bootstrapping the complete Dashboards monorepo.
Install the OpenSearch companion on every OpenSearch node, enable plugins.security.system_indices.enabled: true, and follow the deployment guide for role mappings, the restricted worker identity, and Notifications configuration. Upgrading from 0.0.1 requires removing BetterReports SMTP settings and selecting Notifications senders/groups for existing schedules.
bin/opensearch-plugin install file:///absolute/path/betterreports-opensearch-3.8.0.zipInstall the ZIP into a self-hosted OpenSearch Dashboards 3.8.0 installation, configure the permissions and services described in Deployment, and restart Dashboards:
bin/opensearch-dashboards-plugin install file:///absolute/path/betterReports-3.8.0.zipThe existing Reporting plugin may remain installed. Open BetterReports from the navigation menu, or choose Share → Create BetterReport from a saved dashboard or visualization.
- Select saved sources and explicitly choose supported panels.
- Arrange sections, set the reporting interval, and customize branding.
- Generate a preview, then save the reusable report definition.
- Authorize the saved report for scheduling, then create a schedule with a timezone, recurrence, Notifications email sender, and recipient groups. Authorization lasts indefinitely until revoked.
- Inspect progress and delivery results in Run history.
Source configurations are snapshots. Data is queried anew each run. Refresh sources deliberately adopts upstream configuration changes; it operates on the saved report, so save local edits first.
- Deployment, SMTP, grants, SAML roles, and operation
- Supported visualizations and known boundaries
- Architecture and API
- Validation and deployment acceptance
Report definitions are shared within their Security tenant; editing and cloning require tenant write access. PDFs, run history, and schedules remain private to their generating user. Administrators in the Global tenant can see report metadata from all tenants and switch tenants to work with a report. Cluster administrators retain their normal control over cluster data. Jobs require a running Dashboards instance; email delivery uses configured Notifications senders and recipient groups.
Apache-2.0. See LICENSE and NOTICE for dependency notices.