Skip to main content

One post tagged with "v3.7.0"

Version 3.7.0 specific posts

View All Tags

ABCD 3.7.0 Technical Release Notes

· 2 min read
Roger C. Guilherme
Librarian and programmer at ABCD

✨ Key Highlights

This release introduces significant improvements and refactorings to the Statistics module, aimed at increasing performance, enhancing data transparency, and stabilizing character encoding across the module.

Key Changes:

Multi-Loop Execution Engine:

  • Replaced the monolithic execution model with a refined "Multi-Loop" orchestrator.
  • The system now isolates the execution of each statistical table, allowing for individual search expressions (Expresion) to be processed per table without conflicts.
  • Integrated a performance-optimized pipeline that combines table-specific search expressions with global interface filters, ensuring high-speed processing while maintaining data accuracy.

Transparency & UX Improvements:

  • Added a "Search Expression" field directly into the Table Configuration (tables_cfg.php), allowing administrators to embed specific filter rules per report.
  • Enhanced output transparency: The module now dynamically displays the active search criteria (MFN range or Search Expression) as a subtitle (<small> tag) directly below the report title (<h3>), providing immediate clarity to end-users regarding the data source.

Encoding Stabilization:

  • Resolved long-standing character encoding issues (UTF-8 vs. ISO-8859-1) by implementing a standardized "Gateway" approach.
  • Requests from the UI (JS/AJAX) are now normalized upon arrival, and output is managed via standard headers, ensuring that special characters (like Portuguese accents) are rendered correctly in tables and UI elements while maintaining strict UTF-8 compliance for ECharts graph generation.
  • Centralized menu structure: The statistics configuration options (config_vars.php, tables_cfg.php, proc_cfg.php) are now easily accessible via a consolidated navigation include, improving workflow efficiency.

Code Quality & Maintenance:

  • Extracted hardcoded strings into the $msgstr internationalization array to ensure full support for multi-language installations.
  • Cleaned up legacy code, removed deprecated function calls, and ensured compatibility with modern PHP versions (fixing Undefined array key warnings).

Read more here!


Impact:

This update provides a more reliable and flexible way for institutions to generate specific production reports (e.g., separating "Created" vs "Edited" records) within a single "Process," while significantly improving the user experience for librarians and system administrators.