====== VuFind® Newsletter: April, 2024 ====== ===== Development Highlights and Project News ===== ==== Development Progress ==== The release date for VuFind® 10.0 has been set: June 24, 2024. A minor bug fix release (9.1.2) will also be released ahead of 10.0. Leading up to the release, work continues on finalizing the new Bootstrap 5 theme and modernizing the database abstraction architecture. While this has not yielded a lot of changes visible to end users, the reduction of technical debt and clarification of code will benefit future development work. April development also added some new settings (support for Solr direct spell checking and HTTP reporting-related headers), introduced some performance and tooling improvements, and fixed a significant number of bugs. ==== Project Management Committee Report ==== At their April meeting, the PMC agreed to publish the first version of the [[community:documentation_maintenance|Documentation Maintenance]] page and discussed logistics for beginning to apply this year's updates to the wiki and website. The group also continued to discuss some of the implications and possibilities of artificial intelligence, proceeded with fundraising and conference plans, and strategized about reduction of spam accounts on the wiki. ==== Conference News ==== The [[https://openlibraryfoundation.org/about/wolfcon/|WOLFcon]] call for papers has closed; a significant number of VuFind®-related proposals were submitted, so the final program should be of interest to the community. For those who missed the WOLFcon CFP or cannot attend that event, a separate call for papers has now opened for the [[https://www.ub.uni-leipzig.de/en/about-us/events/vufind-leipzig-2024-future-discoveries/|2024 VuFind® Summit]], subtitled "Future Discoveries," to be held in a hybrid format, with activities streaming online but also accessible in person in Leipzig, Germany. Please consider participating in one or both of these events -- the programming is designed to be complementary, and both should offer opportunities to directly engage with members of the VuFind® community. ===== Recently Completed / Resolved Issues ===== The following items were completed in the past month and will be included in release 9.1.2: * CSV importer: Inject dependencies into static callback classes: [[https://github.com/vufind-org/vufind/pull/3515|#3515]] * Fix broken combined AJAX DOI functionality: [[https://github.com/vufind-org/vufind/pull/3561|#3561]] * Fix bug: handler-specific default sorts broken: [[https://openlibraryfoundation.atlassian.net/browse/VUFIND-1685|VUFIND-1685]] / [[https://github.com/vufind-org/vufind/pull/3572|#3572]] * Fix bug: Sandal theme: applied filter contrast is too low on home page: [[https://openlibraryfoundation.atlassian.net/browse/VUFIND-1658|VUFIND-1658]] / [[https://github.com/vufind-org/vufind/pull/3609|#3609]] * Fix bug: trigger Print not firing: [[https://openlibraryfoundation.atlassian.net/browse/VUFIND-1676|VUFIND-1676]] / [[https://github.com/vufind-org/vufind/pull/3512|#3512]] * Fix channel popovers: [[https://openlibraryfoundation.atlassian.net/browse/VUFIND-1686|VUFIND-1686]] / [[https://github.com/vufind-org/vufind/pull/3607|#3607]] * Fix OAI-PMH server date validation on PHP 8.1: [[https://github.com/vufind-org/vufind/pull/3548|#3548]], [[https://github.com/vufind-org/vufind/pull/3549|#3549]] * Fix Solr highlighting in Blender: [[https://github.com/vufind-org/vufind/pull/3614|#3614]] * Fix: turn mobile drop-ups into drop-downs: [[https://github.com/vufind-org/vufind/pull/3583|#3583]] * Fix unwanted hiding of checkboxes on user account pages: [[https://openlibraryfoundation.atlassian.net/browse/VUFIND-1684|VUFIND-1684]] / [[https://github.com/vufind-org/vufind/pull/3560|#3560]] * Hide bulk action buttons in mobile sizes: [[https://github.com/vufind-org/vufind/pull/3565|#3565]] * KohaRest driver: Fix getDepartments for Koha 23.11+: [[https://github.com/vufind-org/vufind/pull/3596|#3596]] * phpCas 1.6 update: [[https://openlibraryfoundation.atlassian.net/browse/VUFIND-1680|VUFIND-1680]] / [[https://github.com/vufind-org/vufind/pull/3550|#3550]] The following items were completed in the past month and will be included in release 10.0: * AccessTokenEntityInterface: Replace setUserId with setUser: [[https://github.com/vufind-org/vufind/pull/3554|#3554]], [[https://github.com/vufind-org/vufind/pull/3556|#3556]] * Add an option to specify sort order conditions for extra params in searchspecs: [[https://github.com/vufind-org/vufind/pull/3590|#3590]] * Add and use VuFind\Db\Service\TagServiceInterface and expand TagsEntityInterface: [[https://github.com/vufind-org/vufind/pull/3539|#3539]], [[https://github.com/vufind-org/vufind/pull/3615|#3615]] * Add confirm button component: [[https://github.com/vufind-org/vufind/pull/3545|#3545]] * Add database services for comments and resource tables: [[https://github.com/vufind-org/vufind/pull/3558|#3558]], [[https://github.com/vufind-org/vufind/pull/3594|#3594]] * Add menu button support for target and lightbox: [[https://github.com/vufind-org/vufind/pull/3562|#3562]] * Add more database entity interfaces: [[https://github.com/vufind-org/vufind/pull/3541|#3541]], [[https://github.com/vufind-org/vufind/pull/3564|#3564]], [[https://github.com/vufind-org/vufind/pull/3580|#3580]] * Add Ratings database service: [[https://github.com/vufind-org/vufind/pull/3603|#3603]], [[https://github.com/vufind-org/vufind/pull/3612|#3612]] * Allow directly specifying Solr dictionaries: [[https://openlibraryfoundation.atlassian.net/browse/VUFIND-745|VUFIND-745]] / [[https://github.com/vufind-org/vufind/pull/3547|#3547]] * Allow specifying MySQL root user connection type in Phing: [[https://github.com/vufind-org/vufind/pull/3608|#3608]] * Change advanced search tips to ul/li: [[https://openlibraryfoundation.atlassian.net/browse/VUFIND-1669|VUFIND-1669]] / [[https://github.com/vufind-org/vufind/pull/3551|#3551]] * CSP: Generate current Report-To header: [[https://github.com/vufind-org/vufind/pull/3591|#3591]] * Databases & ConsortialVuFind: Fix bug in advanced search: [[https://github.com/vufind-org/vufind/pull/3544|#3544]] * EDS: Handle missing ebook URL: [[https://github.com/vufind-org/vufind/pull/3578|#3578]] * Eliminate submit inputs named "submit": [[https://openlibraryfoundation.atlassian.net/browse/VUFIND-1640|VUFIND-1640]] / [[https://github.com/vufind-org/vufind/pull/3566|#3566]] * Expand use of UserEntityInterface in AJAX handlers: [[https://github.com/vufind-org/vufind/pull/3605|#3605]] * Fix broken combined AJAX DOI functionality: [[https://github.com/vufind-org/vufind/pull/3534|#3534]], [[https://github.com/vufind-org/vufind/pull/3553|#3553]] * Fix CSS variable handling in lessToSass conversion: [[https://github.com/vufind-org/vufind/pull/3611|#3611]] * Fix ILS exception handling when editing holds: [[https://github.com/vufind-org/vufind/pull/3574|#3574]] * Fix search result links losing sid when e.g. sort is changed multiple times: [[https://github.com/vufind-org/vufind/pull/3582|#3582]], [[https://github.com/vufind-org/vufind/pull/3589|#3589]] * Fix Solr highlighting in Blender: [[https://github.com/vufind-org/vufind/pull/3610|#3610]] * Fix type handling/annotation related to encrypted passwords: [[https://github.com/vufind-org/vufind/pull/3620|#3620]] * Fix visibility of off-canvas toggles: [[https://github.com/vufind-org/vufind/pull/3573|#3573]] * Fix widget type handling in LibGuides query builder: [[https://github.com/vufind-org/vufind/pull/3592|#3592]] * Flash message update for purgeTransactionHistory: [[https://github.com/vufind-org/vufind/pull/3595|#3595]] * FOLIO: Improve performance of loading bound-with titles: [[https://github.com/vufind-org/vufind/pull/3543|#3543]] * Generate NEL (Network Error Logging) header: [[https://github.com/vufind-org/vufind/pull/3593|#3593]] * Improve HttpRequestTrait for tests: [[https://github.com/vufind-org/vufind/pull/3602|#3602]] * Improve install.php existing file handling: [[https://openlibraryfoundation.atlassian.net/browse/VUFIND-1632|VUFIND-1632]] / [[https://github.com/vufind-org/vufind/pull/3567|#3567]] * Improve return type of getDbService() methods: [[https://github.com/vufind-org/vufind/pull/3570|#3570]] * Improve return type of UserEntityInterface::getId(): [[https://github.com/vufind-org/vufind/pull/3599|#3599]] * Improve table layout and text wrapping on narrow screens: [[https://github.com/vufind-org/vufind/pull/3542|#3542]] * Improve use of types in IdentityRepositoryTest: [[https://github.com/vufind-org/vufind/pull/3569|#3569]] * Introduce SessionService and SessionEntityInterface: [[https://github.com/vufind-org/vufind/pull/3555|#3555]] * LibraryCardController: use entity interfaces: [[https://github.com/vufind-org/vufind/pull/3588|#3588]] * Make user field for oauth subject configurable: [[https://github.com/vufind-org/vufind/pull/3486|#3486]] * ParamBag: Avoid duplicate parameters after merge: [[https://github.com/vufind-org/vufind/pull/3368|#3368]] * Prevent/clarify errors when cache is disabled: [[https://openlibraryfoundation.atlassian.net/browse/VUFIND-1657|VUFIND-1657]] / [[https://github.com/vufind-org/vufind/pull/3606|#3606]] * Reflect possible null return from ->current(): [[https://github.com/vufind-org/vufind/pull/3559|#3559]] * Remove leading spaces from translation strings: [[https://github.com/vufind-org/vufind/pull/3604|#3604]] * Remove unused service from OAuth2Controller: [[https://github.com/vufind-org/vufind/pull/3601|#3601]] * Remove using PHP internal function print_r: [[https://github.com/vufind-org/vufind/pull/3563|3563]] * Sierra: Avoid error if a requested record is not found: [[https://github.com/vufind-org/vufind/pull/3577|#3577]] * Sierra: Fix empty expiration date value in user profile: [[https://github.com/vufind-org/vufind/pull/3581|#3581]] * Sierra: Fix volume extraction and callnumber element in holdings: [[https://github.com/vufind-org/vufind/pull/3619|#3619]] * Sierra: Use v6 API by default, optimize fields to retrieve: [[https://github.com/vufind-org/vufind/pull/3575|#3575]] * Simplify createEmailViewModel; leverage UserEntityInterface: [[https://github.com/vufind-org/vufind/pull/3586|#3586]] * Update CodeQL workflow configuration: [[https://github.com/vufind-org/vufind/pull/3579|#3579]] * Use ->getHomeLibrary() instead of ->home_library: [[https://github.com/vufind-org/vufind/pull/3618|#3618]] * Use UserEntityInterface in ExternalAuthController: [[https://github.com/vufind-org/vufind/pull/3587|#3587]] * Use UserEntityInterface in feedback forms: [[https://github.com/vufind-org/vufind/pull/3613|#3613]] * Use UserEntityInterface in profile template (and related code): [[https://github.com/vufind-org/vufind/pull/3622|#3622]] ===== New Issues ===== The following items were reported / begun in the past month, but are not yet completed: ==== Code in Progress ==== * Accessibility improvements: [[https://github.com/vufind-org/vufind/pull/3546|#3546]] * Add "!default" flag to SASS variables for easier configuration: [[https://github.com/vufind-org/vufind/pull/3623|#3623]] * Add optional formatString argument to SortFacetList helper: [[https://github.com/vufind-org/vufind/pull/3621|#3621]] * Add result-scripts event to apply Javascript to search results: [[https://github.com/vufind-org/vufind/pull/3584|#3584]] * Adding Javascript configuration: [[https://github.com/vufind-org/vufind/pull/3598|#3598]] * Adjust pager buttons for mobile: [[https://github.com/vufind-org/vufind/pull/3630|#3630]] * Aleph driver: improve ID and date processing: [[https://github.com/vufind-org/vufind/pull/3576|#3576]] * Change record media-body table layout on mobile: [[https://github.com/vufind-org/vufind/pull/3626|#3626]] * Establish UserResourceService; modernize SocialstatsController: [[https://github.com/vufind-org/vufind/pull/3624|#3624]] * Fix bug: incorrect author link hidden filter in combined search: [[https://github.com/vufind-org/vufind/pull/3557|#3557]] * Fix overlapping media-left box on EDS records: [[https://github.com/vufind-org/vufind/pull/3628|#3628]] * KohaRest driver: Enable the use of custom renewal block messages in .ini: [[https://github.com/vufind-org/vufind/pull/3568|#3568]] * Modernize OAI server code and improve test coverage: [[https://github.com/vufind-org/vufind/pull/3597|#3597]] * Refactor Auth modules to use UserEntityInterface/UserServiceInterface: [[https://github.com/vufind-org/vufind/pull/3625|#3625]] * Refactor availability and status to be better customizable: [[https://github.com/vufind-org/vufind/pull/3585|#3585]] * Refactor libraryCardsEnabled method to AccountCapabilities class: [[https://github.com/vufind-org/vufind/pull/3629|#3629]] * Remove mobile top margin from media-body: [[https://github.com/vufind-org/vufind/pull/3627|#3627]] * Set unique labels for checkboxes: [[https://openlibraryfoundation.atlassian.net/browse/VUFIND-1673|VUFIND-1673]] / [[https://github.com/vufind-org/vufind/pull/3552|#3552]] * Surround searchbox inputs with a div for styling: [[https://github.com/vufind-org/vufind/pull/3616|#3616]] * Updated bulkFormHandler from jQuery to vanilla Javascript: [[https://github.com/vufind-org/vufind/pull/3571|#3571]] * VuFindTheme: Do not search for URLs/absolute paths inside themes: [[https://github.com/vufind-org/vufind/pull/3617|#3617]] ==== Issue Report / Discussion Only ==== * Fix layout of "Results per page" in narrow widths/on mobile: [[https://openlibraryfoundation.atlassian.net/browse/VUFIND-1679|VUFIND-1679]] * Problem with facet highlighting when OR facets are enabled: [[https://openlibraryfoundation.atlassian.net/browse/VUFIND-1687|VUFIND-1687]] * Requested improvements to confirmation menus: banner color and behavior: [[https://openlibraryfoundation.atlassian.net/browse/VUFIND-1682|VUFIND-1682]] * Requested improvements to confirmation menus: Book bag: [[https://openlibraryfoundation.atlassian.net/browse/VUFIND-1681|VUFIND-1681]] * Requested improvements to confirmation menus: Favorites and Library Cards: [[https://openlibraryfoundation.atlassian.net/browse/VUFIND-1683|VUFIND-1683]] ===== Active Issues ===== The following items saw significant progress / activity during the past month: * Add bootstrap5 theme: [[https://github.com/vufind-org/vufind/pull/3222|#3222]] * Add Notifications CMS functionality: [[https://github.com/vufind-org/vufind/pull/3103|#3103]] * Adding the option to make html elements sticky: [[https://github.com/vufind-org/vufind/pull/3226|#3226]] * Convert from Laminas\Db to Doctrine: [[https://github.com/vufind-org/vufind/pull/2233|#2233]]