91 lines
5.6 KiB
Plaintext
91 lines
5.6 KiB
Plaintext
CHANGELOG - Storage Saturation Report Component
|
|
===============================================
|
|
|
|
Version 1.0.3 - January 31, 2026
|
|
----------------------------------
|
|
- PDF export: switched to client-side jsPDF + html2canvas (no Nagios XI Chromium/command pipeline).
|
|
Export PDF now generates the PDF in the browser and triggers download; fallback to window.print()
|
|
if jsPDF or html2canvas unavailable. Works regardless of XI command processor or Chromium.
|
|
- Progress bar: restored color styles (green/amber/red) in the minimal export document so the
|
|
"percent used" bar displays correctly when that HTML is used (e.g. client-side capture, print).
|
|
- Vendor: optional jspdf.umd.min.js in scripts/vendor/ for PDF; CDN fallback. See scripts/vendor/README.txt.
|
|
|
|
Version 1.0.2 - January 31, 2026
|
|
----------------------------------
|
|
- My Reports (XI core): myreports.php parent-frame innerHTML guarded with null checks to avoid
|
|
"Cannot set properties of undefined" when parent lacks #leftnav (e.g. from component report).
|
|
- Export Image: load html2canvas from component scripts/vendor/html2canvas.min.js first, then CDN
|
|
fallback; avoids tracking prevention blocking when vendor file is present. See scripts/vendor/README.txt.
|
|
- Docs: double slash in PDF download URL (nagiosxi//reports/managereports.php) documented as known
|
|
XI core URL-building issue; fix belongs in includes/js/reports.js (not in this component).
|
|
- Export URL: strip CR/LF from Chromium report URL so stored/passed URL is one contiguous string
|
|
(avoids link being split so only first segment is clickable). XI core: fail_download() now outputs
|
|
URL in a single <a href="..."> so the full URL is one clickable link.
|
|
- PDF/JPG export: build Chromium URL with get_localhost_url() so Chromium fetches report via
|
|
localhost; fixes ERR_ACCESS_DENIED when server cannot reach external IP.
|
|
- UI: report actions (settings, star, Export PDF, Export Image) aligned right (justify-content:
|
|
flex-end) to match Nagios XI report pattern.
|
|
- Options drawer: added neptune-drawer-options block (options-drawer-header + reportoptionpicker)
|
|
so Report Options gear opens drawer with content; minimal copy "No additional options for this report."
|
|
- Report options: added Schedule and Email links (schedulereport.php?name=... and &sendonce=1) so
|
|
full report-options row matches XI (settings, star, Schedule, Email, Export PDF, Export Image).
|
|
- Report component: full report URL passed to get_add_myreport_html() so Schedule, Email Report,
|
|
and Add to My Reports open/schedule the correct report page.
|
|
- UI: all report actions (settings, star, Schedule, Email, Export PDF, Export Image) in one
|
|
well.report-options.form-inline row; Export PDF/Image moved from header into well; alignment
|
|
matches Nagios XI report examples (e.g. Availability Summary).
|
|
- UI: removed duplicate report header (title/subtitle/date). Header shown once in page; getreport
|
|
fragment for AJAX returns only table; header included only in export (PDF) document.
|
|
- UI: numeric columns (DISK SPACE USED, DISK SPACE AVAILABLE, PERCENT USED) right-aligned to match
|
|
Nagios XI report examples (e.g. Availability Summary).
|
|
- Export/print aligned with Nagios XI built-in report pattern:
|
|
* Single entry point (index.php) with mode routing: default, mode=getreport, mode=submitpdf/submitjpg
|
|
* mode=getreport: server-side HTML report body only (for AJAX and Chromium PDF/JPG export)
|
|
* mode=submitpdf/submitjpg: uses utils-reports-export submit_report() and COMMAND_DOWNLOAD_REPORT
|
|
* Report container (#report) loaded via AJAX from index.php?mode=getreport
|
|
* PDF export uses reports.js submit_report() for async command polling and download
|
|
* reportexportlinks and get_add_myreport_html() for Add to My Reports / Schedule / Email Report
|
|
- Removed client-side window.print() and html2canvas-only PDF path in favor of XI report export
|
|
- Export Image (PNG) retained as optional client-side fallback via html2canvas
|
|
|
|
Version 1.0.1 - January 30, 2026
|
|
----------------------------------
|
|
- Perfdata: support quoted labels with special characters
|
|
-- (e.g. 'C:\_Label:__Serial_Number_2cxxxxxx'=91445.6016MB;111560;132477;0;139450)
|
|
- Perfdata: when multiple metrics in one service, show the most saturated.
|
|
-- (e.g. 'C:\_Label:__Serial_Number_2cxxxxxx'=91445.6016MB;111560;132477;0;139450 'D:\_Label:__Serial_Number_2cxxxxxx'=138500.6016MB;111560;132477;0;139450)
|
|
- Caption column uses perfdata volume label when present
|
|
- UI: Neptune theme aware with fallbacks for dark/light as per Nagios Developer Standards
|
|
- UI: table class follows is_neptune()
|
|
- UI: reduced inline styles; spacing moved to CSS classes to conform with Nagios Developer Standards
|
|
|
|
Version 1.0.0 - January 18, 2026
|
|
----------------------------------
|
|
- Display services with trackvolume custom variable enabled
|
|
- Filter services by trackvolume custom variable
|
|
- Parse disk usage from perfdata (check_local_disk and NCPA formats)
|
|
- Report-style display with columns:
|
|
* DISPLAY NAME (host name)
|
|
* CAPTION (service description)
|
|
* DISK SPACE USED (formatted)
|
|
* DISK SPACE AVAILABLE (formatted with color coding)
|
|
* PERCENT USED (with progress bar)
|
|
- Sort by available space (ascending - most critical first)
|
|
- Color coding for available space:
|
|
* Red (< 5 GB): Critical
|
|
* Yellow (< 50 GB): Warning
|
|
* Green (>= 50 GB): Safe
|
|
- Progress bar color coding:
|
|
* Red (>= 95%): Critical
|
|
* Orange (>= 85%): Warning
|
|
* Yellow (>= 70%): Info
|
|
* Green (< 70%): Safe
|
|
- Export functionality (PDF/JPG) using Python
|
|
- Proper Nagios XI component patterns:
|
|
* Standard initialization sequence
|
|
* Security best practices (grab_request_var, escapeshellarg)
|
|
* XML API for custom variables (template inheritance)
|
|
* Proper error handling
|
|
* CCM theme matching
|
|
|