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
dhtmlXGridimplementation on administrative forms (typeofitemsandtypeofusers) 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.phpto 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 forFormDataparsing, moving away from vulnerable inline string concatenations. - Null-Safe UI Controls (#674): Rewrote the JavaScript validation tree inside
copies_add.phpwith 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.defmock configurations specifyingUNICODE=0limits and strict extension enforcement (DIRTREE_EXT) across user targets. - Asset Mapping (#673): Rectified relative path bindings for core interaction assets, pointing
clear_field.jssafely 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
.sectionIconbackground definitions out ofodds.css. - Documentation Alignment (#677): Fully revised the primary
README.mdlayout, 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
- Allow spaces in image filenames by @rogercgui in #671
- Update config_opac.php by @rogercgui in #672
- Data entry improvements by @rogercgui in #673
- Data entry improvements by @rogercgui in #674
- Removes files that are no longer needed for the current version. by @rogercgui in #675
- Improves circulation by @rogercgui in #676
- Revise README.md for clarity and updated links by @rogercgui in #677
- Update biblo defs; add isadg dr_path by @rogercgui in #678
- Update version.php by @rogercgui in #679
Full Changelog: v3.8.4...v3.9.0