About Features Downloads Getting Started Documentation Events Support GitHub

Love VuFind®? Consider becoming a financial supporter. Your support helps build a better VuFind®!

Site Tools


Warning: This page has not been updated in over over a year and may be outdated or deprecated.
community_call:minutes20231205

VuFind® Community Call Minutes: December 5, 2023

Attending: Chris Hallberg, Demian Katz, Claas Kazzer, Maccabee Levine, Ere Maijala, Susan Turkel, Thomas Wagener

Agenda

1. Development Planning

Newsletter Highlights

The November, 2023 Newsletter was discussed.

Release 9.1.1 Update

Bug fixes have continued to come in, so Demian is waiting for things to settle down a little more before scheduling the release date for 9.1.1. Some time early in 2024 seems likely. (As of this writing, there is one bug fix PR currently in review).

Pull Request / JIRA Ticket Review (release 10.0)

The following 31 pull requests are scheduled for inclusion in release 10:

Architectural Enhancements
  • #1680 - Display flash message on login
    • Status: Complex issue; may need to open one or more PRs in order to close this one.
  • #2233 - Convert from Laminas\Db to Doctrine
    • Status: Work in progress continues; still much to do.
  • #2612 / VUFIND-1588 - Add support for WorldCat Search v2 API
    • Status: Work in progress, with many unchecked checkboxes; some checks have not been completed.
  • #2624 - Replace grunt with NPM scripts
    • Status: Work in progress; has some conflicts and failed checks.
  • #2723 - Component: confirmation menu
    • Status: Much work still needed; some checks unsuccessful.
  • #2814 - Replace jumpMenu controls with menu-button components
    • Status: Work in progress; all checks have passed, but branch has conflicts, and more work and review are needed (@crhallberg?).
  • #2934 - Switch to Splide Carousel Library
    • Status: Needs conflict resolution, testing, and consensus-building around package.json strategy.
  • #3039 - Accessibility: Moravian Library Report
    • Status: Work in progress; some checks were unsuccessful. This PR is an umbrella covering a number of topics, some of which have been split out as separate PRs.
  • #3064 - Autocomplete: reorganize modules and update to v2.1.8
    • Status: In review.
  • #3200 :!: NEW - Add ISO 639-3 language code translations
    • Status: Significant TODO list still to be done (covering improved handling of language displays/translations).
  • #3222 :!: NEW - Add bootstrap5 theme
    • Status: See theme discussion below.
New Features
  • #2929 - Add an option to update search results without loading the full page
    • Status: Currently being tested; a few TODOs still to be done.
  • #2991 - Add filtering capability to facet list pop-up
    • Status: Nearly done, but still needs some aesthetic fixes.
  • #3027 - Add support for persistent login
    • Status: Currently in review.
  • #3069 - Search Result Explanation Feature
    • Status: Currently in review.
  • #3103 - Add Notifications CMS functionality
    • Status: Currently in review.
  • #3142 - Multi page selection in favorite list
    • Status: Needs conflict resolution; currently on hold until completion of #3239.
  • #3226 :!: NEW - Adding the option to make html elements sticky
    • Status: In review.
  • #3239 :!: NEW - Configurable bulk actions
    • Status: Under discussion.
Smaller Features/Enhancements/Fixes
  • #2642 - Create view helper for translating EDS labels
    • Status: Early proof of concept; requires design discussion to move forward.
  • #3204 - Responsive table for search history
    • Status: Nearly done; needs conflict resolution and final review.
  • #3207 - Increase contrast in form elements
    • Status: In review.
  • #3233 :!: NEW - Combined: Fix jump links and grid with zero results
    • Status: In review.
  • #3244 :!: NEW - Improve Overdrive Staff View
    • Status: Awaiting final review.
  • #3247 :!: NEW - Remove input-group and adjust paddings for searchbox controls
    • Status: In review
Specialized PRs Requiring Input from Creators
  • #2060 - makes the DAIA services which should be accepted configurable (etc.)
    • Status: In review/under discussion.
  • #2688 - Announce number of search results in title
    • Status: Under discussion.
  • #2763 - SetupThemeResources: Ensure 'Content-Type' is never escaped
    • Status: Discussion underway on GitHub; awaiting response from @mtrojan-ub.
  • #2850 - Change route type for Help/Home from Static to Segment
    • Status: Work in progress; all checks have passed. PR needs review by @mtrojan-ub.
  • #2999 - Get unique html element id from record view helper
    • Status: Only a bit more work is needed, now that PR 2982 has been merged. Ready for @elsenhans and @RLangeUni to revisit.
  • #3025 - Add new Overdrive features
    • Status: Work in progress; @bpalme is in the process of making updates.
Next Steps

We'll talk about the 42 open JIRA tickets pinned to the 10.0 release at a future meeting; first we should focus on triaging the pull requests.

2. Technical Discussion: Theme Development Next Steps / Collaboration

Ere explained his work so far on pull request #3222. He has built a bootstrap5 theme which uses the bootstrap3 templates and a compatibility layer to allow us to move forward without having to do a huge amount of work (and to continue maintaining the bootstrap3 theme, at least in the short term). This should also be compatible with the existing bootprint3/sandal themes.

He is currently working on testing integrating Finna's local theme with this work to identify other issues that need to be addressed. He encourages others to try this out with their local custom themes and report any problems they encounter. If you find problems and can share example code with him, this would be helpful. Thomas volunteered to help test this.

The compatibility layer consists of LESS/SCSS to reconcile styles, and Javascript code that makes on-the-fly changes to the HTML to address some changes. Ere plans to open PRs to begin introducing some of these changes directly into the bootstrap3 theme where updates will not break things.

Other issues:

  • a FontAwesome upgrade is needed to prevent compiler warnings, but the newer FontAwesome versions are less complete than earlier versions (strategy to push people toward the paid version)
  • LESS is no more; we need to switch to SCSS due to Bootstrap changing technology. Some manual adjustments may be needed due to inconsistencies between the two languages – e.g. the way variable processing works.

Ere also noted that this work is not intended to replace any of our long-term plans – using more components, etc. – but it is simply intended to get us up-to-date on technology as an interim step. He welcomes all feedback, including negative comments! (The goal here is to make migration as easy as possible, but this comes with some trade-offs).

Another important task is to document the migration process to help others with upgrades.

Maccabee suggested running WAVE or other accessibility testing tools against the new branch to make sure nothing has regressed. Ere suggested focusing on Javascript code that sets accessibility-related attributes, since this is an area that has been problematic in the past. Fixes in Bootstrap5 may offer opportunities to simplify and eliminate workarounds. He has added a TODO checkbox to capture this in the PR. Claas will talk to his team to see if they can find time to do some testing of this PR with an eye to accessibility.

Chris asked about jQuery removal; Bootstrap 5 opens the possibility of eliminating jQuery (it includes its own compatibility layer, though it is imperfect), but more work is definitely needed (particularly in the lightbox) before this is going to be possible.

Chris volunteered to look into JS issues; Maccabee volunteered to look at making some progress on the TODOs in PR #3039.

3. Open Q&A / Other Topics?

Maccabee asked Thomas about the implications of using pull request #3069 in practice – will this lead to too many user requests for very specific changes that will create complexity? Thomas suggested at least two solutions: either do not turn the setting on, or communicate with users ahead of time to set reasonable expectations. Ere noted that this will help answer two kinds of questions – “why is this here?” and “why is this not where I want it?” The first answer can lead to straightforward solutions; the second answer can get much more complex. He pointed out the need to make it clear that fixing one result set can break other sets – making changes can have many side effects. He has compiled a list of types of relevance adjustments that are reasonably safe and predictable, and sharing this type of information with users can be helpful. Demian mentioned that asking users for data to build regression tests can provide a realistic perspective on the work associated with making changes. There's also the possibility of boosting specific records in specific query result sets through Solr configuration, which can be used to address very narrow edge cases without side effects elsewhere.

Next Call

The next call will be Tuesday, January 2, 2024 at 9am Eastern Standard Time (14:00 GMT).

community_call/minutes20231205.txt · Last modified: 2023/12/05 14:39 by demiankatz