Table of Contents

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)

Pull Request Review (release 10.0)

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

Architectural Enhancements
New Features
Smaller Features/Enhancements/Fixes
Specialized PRs Requiring Input from Creators

Scheduled JIRA Tickets (release 10.0)

Architectural Enhancements
Smaller Fixes/Improvements
Test Suite Improvements
Documentation Tasks
Finishing Touches (Tasks for Near Release Time)

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:

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).