Skip to content

ABCD v3.9.0

Latest

Choose a tag to compare

@rogercgui rogercgui released this 28 Jun 14:39
84ad220

The ABCD Community is proud to announce the release of ABCD v3.9.0. This milestone brings substantial architecture modernization, enhanced file security, improved layout responsiveness, and localized data entry definitions.

Legacy dependencies have been streamlined, paving the way for a more robust and modular open-source ecosystem.


New Features & UI Enhancements

File Upload & Media Flexbility

  • Windows File Compatibility (#671): Sanitization regex rules have been updated to securely permit spaces in image filenames. This allows for user-friendly asset names while filtering dangerous terminal characters.
  • Custom Upload Subdirectories (#673): Introduced a destination subdirectory input field within the media upload modal, letting managers organize files dynamically. Built-in path deduplication prevents folder repetition errors.

Module Modernization

Circulation Module Overhaul (#676)

  • Legacy Grid Elimination: Replaced the heavy, third-party dhtmlXGrid implementation on administrative forms (typeofitems and typeofusers) with lightweight, native HTML tables and generic JavaScript controllers.
  • PRG Pattern Adoption: Form submission states now leverage the Post-Redirect-Get pattern, eliminating accidental duplicate submissions and integrating clean success notifications.
  • Font Awesome Integration: Cleaned up navigation blocks by migrating from hardcoded asset image tags to high-resolution Font Awesome typography (menuButton-fa).
  • Output Interface Decoupling: Repositioned footer allocations and disabled institutional site wraps on raw print/receiver frames (rs01.php, rsweb.php, estado_de_cuenta.php) to maximize printable screen areas.

OPAC Settings (#672)

  • Visibility Adjustments: Corrected operational visibility blocks inside config_opac.php to ensure unrestricted search indexing matches standard local installation values.

Security & Performance Hardening

Data Entry Integrity

  • Injection Prevention (#673): Re-engineered multi-part modal upload payloads to handle parameters safely through json_encode() encapsulation for FormData parsing, moving away from vulnerable inline string concatenations.
  • Null-Safe UI Controls (#674): Rewrote the JavaScript validation tree inside copies_add.php with explicit element guards (middleForm, tag200, textarea, and input fields) to completely eradicate client-side runtime crashes when elements are absent.
  • File Management Blueprints (#674): Delivered standardized user asset blueprints via explicit dr_path.def mock configurations specifying UNICODE=0 limits and strict extension enforcement (DIRTREE_EXT) across user targets.
  • Asset Mapping (#673): Rectified relative path bindings for core interaction assets, pointing clear_field.js safely to its data-entry editor hub. Adjusted frame reload latency parameters to 800ms to guarantee server-side synchronization.

Repository Cleanup & Standardization

  • File Purge (#675): Dropped non-functional and unreferenced historical scripts to reduce structural overhead.
  • Styling Hygiene (#676): Cleared obsolete .sectionIcon background definitions out of odds.css.
  • Documentation Alignment (#677): Fully revised the primary README.md layout, ensuring up-to-date documentation paths, corrected links, and an accurate project state definition.
  • Translation Maintenance: Continued translating code remarks and inline development logs from Spanish and Portuguese over to English for global open-source community alignment.

What's Changed

Full Changelog: v3.8.4...v3.9.0