====== VuFind® Newsletter: March, 2023 ====== ===== Highlights / Executive Summary ===== The VuFind® 9.0 release date has been set as April 24, 2023. Most of the March development activity has been focused on updating dependencies, fixing bugs and completing outstanding feature work for the release. Translation is also underway, with several languages already back to "100% translated" status. Another major focus in March was on responding to feedback from the Documentation Survey (and subsequent discussion by the Project Management Committee and in the March Community Call). As a result of all this input, VuFind®'s code style guidelines were modernized to incorporate [[https://www.php-fig.org/psr/psr-12/|PSR-12]] standards, and all of the code in the project was appropriately updated. Additionally, a review was made of the wiki, and work is underway to update outdated and potentially confusing pages. Finally, discussions have begun about potentially developing a more formal, versioned VuFind® manual to complement the [[https://github.com/vufind-org/learning-vufind-book|Learning VuFind®]] book and the less formal wiki information. ===== Recently Completed / Resolved Issues ===== The following items were completed in the past month and will be included in release 9.0: * Add ability to get cover using multiple ISBNs: [[https://github.com/vufind-org/vufind/pull/2633|#2633]], [[https://github.com/vufind-org/vufind/pull/2800|#2800]] * Add an HTML-friendly JSON encode helper: [[https://openlibraryfoundation.atlassian.net/browse/VUFIND-1593|VUFIND-1593]] / [[https://github.com/vufind-org/vufind/pull/2734|#2734]] * Add nonce to script-src-elem CSP directive: [[https://github.com/vufind-org/vufind/pull/2783|#2783]] * Add support for optional "required by" date for holds: [[https://github.com/vufind-org/vufind/pull/2740|#2740]] * Add support for validating HTML after each Mink test: [[https://github.com/vufind-org/vufind/pull/2606|#2606]], [[https://github.com/vufind-org/vufind/pull/2759|#2759]], [[https://github.com/vufind-org/vufind/pull/2768|#2768]] * AJAX status standardization/modernization: [[https://github.com/vufind-org/vufind/pull/2447|#2447]], [[https://github.com/vufind-org/vufind/pull/2805|#2805]] * Aleph: refactor driver code to one-class-per-file for PSR-12 compliance: [[https://github.com/vufind-org/vufind/pull/2761|#2761]] * Browse handler: Fix test suite for compatibility with Solr 9.1: [[https://github.com/vufind-org/vufind-browse-handler/pull/42|vufind-browse-handler#42]] * Eliminate private properties/methods: [[https://github.com/vufind-org/vufind/pull/2752|#2752]] * Fail with exception if a MARC file fails to load during merge operation: [[https://github.com/vufind-org/vufind/pull/2801|#2801]] * Finalize dependencies for 9.0 release: [[https://openlibraryfoundation.atlassian.net/browse/VUFIND-1595|VUFIND-1595]] / [[https://github.com/vufind-org/vufind/pull/2731|#2731]], [[https://github.com/vufind-org/vufind/pull/2732|#2732]], [[https://github.com/vufind-org/vufind/pull/2802|#2802]] * Fix checkbox underlining for normal OR facets: [[https://github.com/vufind-org/vufind/pull/2775|#2775]] * Fix collection search links: [[https://github.com/vufind-org/vufind/pull/2737|#2737]] * Fix deprecation in DbUpgrade helper: [[https://github.com/vufind-org/vufind/pull/2738|#2738]] * Fix double-encoding of hidden filters in advanced search tabs: [[https://github.com/vufind-org/vufind/pull/2806|#2806]] * Fix export links not working: [[https://github.com/vufind-org/vufind/pull/2807|#2807]] * Fix Feedback admin bugs: [[https://github.com/vufind-org/vufind/pull/2742|#2742]], [[https://github.com/vufind-org/vufind/pull/2743|#2743]] * Fix hierarchical facet markup and improve accessibility: [[https://github.com/vufind-org/vufind/pull/2774|#2774]] * Fix HTML validation and JS deprecation issues: [[https://github.com/vufind-org/vufind/pull/2760|#2760]] * Fix ltrim parameters order in record linker view helper (and add related tests): [[https://github.com/vufind-org/vufind/pull/2773|#2773]], [[https://github.com/vufind-org/vufind/pull/2777|#2777]] * Fix visual view link and jump to record handling: [[https://github.com/vufind-org/vufind/pull/2808|#2808]] * FOLIO: Handle empty requiredby date in placeHold function: [[https://github.com/vufind-org/vufind/pull/2739|#2739]] * FOLIO: Improve test suite: [[https://github.com/vufind-org/vufind/pull/2735|#2735]] * FOLIO: Refactor getHolding into smaller parts: [[https://github.com/vufind-org/vufind/pull/2730|#2730]] * FOLIO: support proxy user requests: [[https://github.com/vufind-org/vufind/pull/2685|#2685]] * HTTPS support for Wikipedia API Connection: [[https://github.com/vufind-org/vufind/pull/2733|#2733]] * Improve button styling in critical fix page: [[https://github.com/vufind-org/vufind/pull/2741|#2741]] * Modernize code standard to use PSR-12 instead of PEAR, and improve style: [[https://github.com/vufind-org/vufind/pull/2745|#2745]], [[https://github.com/vufind-org/vufind/pull/2747|#2747]], [[https://github.com/vufind-org/vufind/pull/2748|#2748]], [[https://github.com/vufind-org/vufind/pull/2749|#2749]], [[https://github.com/vufind-org/vufind/pull/2750|#2750]], [[https://github.com/vufind-org/vufind/pull/2753|#2753]], [[https://github.com/vufind-org/vufind/pull/2754|#2754]], [[https://github.com/vufind-org/vufind/pull/2756|#2756]], [[https://github.com/vufind-org/vufind/pull/2757|#2757]], [[https://github.com/vufind-org/vufind/pull/2764|#2764]], [[https://github.com/vufind-org/vufind/pull/2765|#2765]], [[https://github.com/vufind-org/vufind/pull/2766|#2766]], [[https://github.com/vufind-org/vufind/pull/2767|#2767]], [[https://github.com/vufind-org/vufind/pull/2769|#2769]], [[https://github.com/vufind-org/vufind/pull/2770|#2770]], [[https://github.com/vufind-org/vufind/pull/2776|#2776]], [[https://github.com/vufind-org/vufind/pull/2781|#2781]], [[https://github.com/vufind-org/vufind/pull/2782|#2782]], [[https://github.com/vufind-org/vufind/pull/2784|#2784]], [[https://github.com/vufind-org/vufind/pull/2785|#2785]], [[https://github.com/vufind-org/vufind/pull/2786|#2786]], [[https://github.com/vufind-org/vufind/pull/2787|#2787]], [[https://github.com/vufind-org/vufind/pull/2788|#2788]], [[https://github.com/vufind-org/vufind/pull/2789|#2789]], [[https://github.com/vufind-org/vufind/pull/2790|#2790]], [[https://github.com/vufind-org/vufind/pull/2791|#2791]], [[https://github.com/vufind-org/vufind/pull/2792|#2792]], [[https://github.com/vufind-org/vufind/pull/2793|#2793]], [[https://github.com/vufind-org/vufind/pull/2794|#2794]], [[https://github.com/vufind-org/vufind/pull/2795|#2795]], [[https://github.com/vufind-org/vufind/pull/2796|#2796]], [[https://github.com/vufind-org/vufind/pull/2797|#2797]], [[https://github.com/vufind-org/vufind/pull/2798|#2798]], [[https://github.com/vufind-org/vufind/pull/2799|#2799]], [[https://github.com/vufind-org/vufindcode/pull/11|vufindcode#11]], [[https://github.com/vufind-org/vufindcode/pull/12|vufindcode#12]], [[https://github.com/vufind-org/vufinddate/pull/8|vufinddate#8]], [[https://github.com/vufind-org/vufinddate/pull/9|vufinddate#9]], [[https://github.com/vufind-org/vufindharvest/pull/15|vufindharvest#15]], [[https://github.com/vufind-org/vufindharvest/pull/16|vufindharvest#16]], [[https://github.com/vufind-org/vufindhttp/pull/22|vufindhttp#22]], [[https://github.com/vufind-org/vufindhttp/pull/23|vufindhttp#23]], [[https://github.com/vufind-org/vufind-marc/pull/8|vufind-marc#8]], [[https://github.com/vufind-org/vufind-marc/pull/9|vufind-marc#9]] * npm script wrappers for Grunt: [[https://github.com/vufind-org/vufind/pull/2803|#2803]] * PSR-12: avoid case clauses without break: [[https://github.com/vufind-org/vufind/pull/2771|#2771]] * Remove form-attr-polyfill.js: [[https://github.com/vufind-org/vufind/pull/2751|#2751]] * Remove legacy IE support: [[https://github.com/vufind-org/vufind/pull/2772|#2772]] * Remove unused folder_id field from search table: [[https://github.com/vufind-org/vufind/pull/2699|#2699]] * Standardize account status array processing: [[https://github.com/vufind-org/vufind/pull/2736|#2736]] * Translation progress/improvements: [[https://github.com/vufind-org/vufind/pull/2744|#2744]], [[https://github.com/vufind-org/vufind/pull/2746|#2746]] * Update jsTree and move it to an npm dependency: [[https://github.com/vufind-org/vufind/pull/2778|#2778]] * Upgrade tools to align with VuFind 9 release: [[https://github.com/vufind-org/vufindcode/pull/10|vufindcode#10]], [[https://github.com/vufind-org/vufinddate/pull/7|vufinddate#7]], [[https://github.com/vufind-org/vufindharvest/pull/14|vufindharvest#14]], [[https://github.com/vufind-org/vufindhttp/pull/21|vufindhttp#21]], [[https://github.com/vufind-org/vufind-marc/pull/7|vufind-marc#7]] The following item was not adopted into the core code but has been saved for future reference in a [[development:git-branches#feature_branches|feature branch]]: * Add a post-processor to support tag: [[https://github.com/vufind-org/vufind/pull/2374|#2374]] ===== New Issues ===== The following items were reported / begun in the past month, but are not yet completed: ==== Code in Progress ==== * Add support for loading results with JS: [[https://github.com/vufind-org/vufind/pull/2804|#2804]] * Add support for purging loans from history: [[https://github.com/vufind-org/vufind/pull/2779|#2779]] * eslint: apply to js/lib/ and more: [[https://github.com/vufind-org/vufind/pull/2780|#2780]] * Move autocomplete.js from lib/ to vendor/: [[https://github.com/vufind-org/vufind/pull/2755|#2755]] * Replacing