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:minutes20240402

VuFind® Community Call Minutes: April 2, 2024

Attending: Demian Katz, Maccabee Levine, Ere Maijala, Mario Trojan, Thomas Wagener

Agenda

1. Development Planning

Newsletter Highlights

The March, 2024 Newsletter was discussed.

Release 10.0 Release Date

Decision: should we set a May release date or defer until June?

Demian proposed releasing 9.1.2 in late April or early May, and 10.0 in June.

Consensus: Monday, June 24th will be the 10.0 release date. We'll set the 9.1.2 date once the outstanding issues (see below) are resolved.

Pull Request / Ticket Review (release 9.1.2)

  • #3515: CSV importer: Inject dependencies into static callback classes
    • Status: Needs review
  • VUFIND-1680: Auth phpCas broken
    • Status: Mathieu plans to submit a PR

Pull Request Review (release 10.0)

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

Architectural Enhancements
  • #1680 - Display flash message on login
    • Status: Complex issue; can be revisited now that #3361 is resolved.
      • :!: ACTION ITEM: Chris should determine next steps.
  • #2624 / VUFIND-1514 - Replace grunt with NPM scripts
    • Status: We should discuss how to finish this work after the Bootstrap 5 upgrade is complete.
  • #2723 - Component: confirmation menu
    • Status: Needs conflict resolution; many outstanding TODO items. On hold until #3545 is completed.
  • #2814 - Replace jumpMenu controls with menu-button components
    • Status: In review
      • :!: ACTION ITEM: Chris should look at style/accessibility improvements and fix test failures
  • #2934 - Switch to Splide Carousel Library
    • Status: In review
      • :!: ACTION ITEM: Chris should continue work on latest review comments.
  • #3222 - Add bootstrap5 theme
    • Status: In progress
      • :!: ACTION ITEM: Ere should continue work; others should test as time permits.
  • #3539 - Add and use VuFind\Db\Service\TagServiceInterface
    • Status: In discussion/review
      • :!: ACTION ITEM: Aleksi and/or Ere should review this.
  • #3541 - Add more database entity interfaces
    • Status: In discussion/review
      • :!: ACTION ITEM: Aleksi and/or Ere should review this.
  • #3545 - Add confirm button component
    • Status: In review
      • :!: ACTION ITEM: Demian and Susan should complete reviewing this.
New Features
  • #3103 - Add Notifications CMS functionality
    • Status: Currently in review.
      • :!: ACTION ITEM: Johannes should continue working on review comments.
  • #3226 - Adding the option to make html elements sticky
    • Status: Previously on hold due to autocomplete problems, which have now been fixed.
      • :!: ACTION ITEM: Chris should review the latest changes.
Smaller Features/Enhancements/Fixes
  • #3025 - Add new Overdrive features
    • Status: In review.
      • :!: ACTION ITEM: Demian should review latest round of changes.
  • #3279 - Small enhancements to the DefaultRecord class
    • Status: In review.
      • :!: ACTION ITEM: Waiting for progress from @dmj. Demian has requested a status update.
  • #3494 - Remove redundant language codes; use aliases
    • Status: In review
      • :!: ACTION ITEM: Waiting for progress from @sturkel89
  • #3534 - Fix broken combined AJAX DOI functionality
    • Status: In draft mode
      • :!: ACTION ITEM: Needs review/discussion (Chris/Demian/Ere)
Specialized PRs Requiring Input from Creators
  • #2688 - Announce number of search results in title
    • Status: Under discussion; will likely get postponed to a future release unless more input is received.
  • #2763 - SetupThemeResources: Ensure 'Content-Type' is never escaped
    • Status: On hold awaiting more input from the Google Scholar team
      • :!: ACTION ITEM: @mtrojan-ub will update when he hears back, or close if no response is received.
  • #2850 - Change route type for Help/Home from Static to Segment
    • Status: Under discussion.
      • :!: ACTION ITEM: @mtrojan-ub will review again.
  • #2999 - Get unique html element id from record view helper
    • Status: Demian has asked @elsenhans and @RLangeUni for a status update.

Scheduled JIRA Tickets (release 10.0)

Architectural Enhancements
  • VUFIND-1614 - Modernize PubDateVisAjax recommendation module
    • Status: will probably get pushed forward, but Demian will leave it here for now in case we make progress.
  • VUFIND-1640 - Eliminate submit inputs named “submit”
    • Status: Demian will try to find time to fix this.
  • VUFIND-1652 - Add database support for storing session-specific data
    • ACTION ITEM: Move to 10.1.
  • VUFIND-1653 - schema.org markup causes trouble when there are no holdings or reviews
    • Status: Needs more investigation. Can we refactor to a helper? Demian and Ere will evaluate if time permits. If a simple “disable it by configuration” solution can be implemented for 10.0, we can investigate more nuanced approaches later. There was also discussion about whether or not Google evaluates Javascript before interpreting schema.org markup; Ere's experience suggests that they do, since he has gotten feedback from Google on markup that is only available in an AJAX-loaded record tab.
  • VUFIND-1657 - Disabling cache fails with EDS backend
    • Status: Maccabee and Demian will investigate when time permits.
Smaller Fixes/Improvements
  • VUFIND-1521 - Add id validation to ILL requests and storage retrieval requests
    • Status: Ere or Demian will try to do this if time permits.
  • VUFIND-1607 - Embedded records (in results list) have invalid aria and/or role attributes
    • Status: This is an unavoidable problem in Bootstrap 3; we should investigate whether Bootstrap 5 improves the situation.
  • VUFIND-1632 - Improve install.php existing file handling
    • Status: Demian will work on this if time permits.
  • VUFIND-1651 - Address Java deprecation of finalize() method in UpdateDateTracker.java
    • Status: Maccabee and Demian will look into if/when time permits.
  • VUFIND-1658 - Sandal theme: applied filter contrast is too low on home page
    • Status: Chris should investigate.
  • VUFIND-1667 - Modal close button doesn't want to let focus go
    • Status: Chris should investigate.
  • VUFIND-1668 - Moravian Library Accessibility Report (Progress Tracking)
    • Status: some parts of this will likely get deferred to future releases, but please review sub-tickets and claim parts that you have time to work on, if possible.
Test Suite Improvements
  • VUFIND-1351 - Create Mink tests for email verification functionality
  • VUFIND-1560 - DeduplicationListener: Add tests and clean up
Documentation Tasks
  • VUFIND-1625 - Document access to advanced search capabilities through API
  • VUFIND-1629 - Investigate changes in OpenAPI 3.1; implement for API if appropriate.
Finishing Touches (Tasks for Near Release Time)
  • VUFIND-1645 - Update dependencies for release 10.0
  • VUFIND-1659 - Update GitHub branch protection rules when creating release-10.0 branch
  • VUFIND-1649 - Update language translation files for release 10.0

2. Technical Discussion: Theme Development Next Steps / Collaboration

#3545 is the last outstanding BS3 PR that we should merge to help finish BS5 work. Demian expects this should be merged very soon; once this is done, Ere can finish the BS5 PR when he returns from vacation.

Outstanding question: we can merge bootstrap5 as-is, but it would also be useful to have an example sub-theme. We don't want to rebase the existing sandal theme on bootstrap5 yet, since bootstrap5 will be “beta” and we don't want to break the production-level sandal theme.

Demian proposes using “sandal5” as a temporary solution. We can alias it to sandal (or vice versa) once we phase out bootstrap3.

Outstanding question: where should primary development take place after the merge – in bootstrap3 with forward-porting, or in bootstrap5 with backporting?

Ere would like to encourage developers to work in bootstrap5 to help test.

Maccabee emphasized the need to get rid of bootstrap3 so we don't have to maintain both themes forever – this is intended to occur in release 11.0.

We can create tooling to auto-port templates. Javascript will require manual work. We should build tooling to backport changes from 5 to 3 so that developers are encouraged to work with the new theme.

The only file that cannot be easily auto-ported is the navbar, due to structural changes. Ere will look into renaming this file in bootstrap5 to reduce compatibility problems in a porting tool.

LessToSass conversion needs to be improved – Ere will look into this.

Ere will work on tooling.

Testing would be appreciated in the near future. Confirmation drop-downs don't look good yet (pending #3545 merge) but everything else is expected to be okay. Ere will try to double-check Mink tests before leaving.

3. Technical Discussion: Database Code Migration Strategy

Since it is not possible to complete the Doctrine code migration in time for release 10.0, a more incremental approach is being taken. For 10.0, interfaces are being defined for database entities and services. These interfaces can be applied to existing Laminas\Db code (e.g. implement entity interfaces on Row classes; create Service classes as thin wrappers around Table classes). This allows us to begin refactoring code in a way that will be more Doctrine-compatible while retaining backward compatibility, reducing the scope of the eventual changes when Doctrine is introduced. Demian hopes to introduce at least partial/stub versions of all future entity interfaces and services before 10.0 is released. More of this work can be continued in 10.1 as long as backward compatibility is maintained.

Key principles of the refactoring:

  • Entity classes should contain no business logic – they are just data models
  • All business logic should live in service classes
  • Database service classes are just for reading and writing data; other logic should live in higher-level classes that use database services as dependencies

Some of the Doctrine work-in-progress violates some of these principles (particularly regarding the scope of database service classes); it will be refactored along with dev code as needed.

These changes should not require any database schema changes – just PHP code reorganization.

4. Future of Slack

No news this month.

5. Open Q&A / Other Topics?

Demian opened VUFIND-1666 to track the Javascript unit testing task discussed at the past two calls.

Maccabee mentioned that the FOLIO community is working on a plan to better communicate breaking API changes. He will keep Demian in the loop.

Mario asked us to review #3368 again. It's now on the 10.0 roadmap.

Next Call

The next call will be Tuesday, May 7, 2024 at 9am Eastern Daylight Time (13:00 GMT).

community_call/minutes20240402.txt · Last modified: 2024/04/02 14:13 by demiankatz