Table of Contents

VuFind® Community Call Minutes: February 7, 2023

Attending: Chris Hallberg, Demian Katz, Peter Murray, Mario Trojan, Susan Turkel, Thomas Wagener

Agenda

1. Development Planning

Newsletter Highlights

The January, 2023 Newsletter was discussed.

Pull Request Review (9.0 milestone)

JIRA Ticket Review (9.0 release, without an existing pull request above)

Not Started - No Blockers
Not Started - With Prerequisites
Moved to 10.0 Milestone

2. Technology Discussion: Doctrine Migration

Demian highlighted the need to migrate to a different database abstraction layer. His presentation was recorded and will be shared in the near future.

After the recording, Peter asked whether automated tools could be used to help with the migration work. Demian noted that an auto-generation tool was used successfully to generate Doctrine entities for the existing database, but that deeper porting of the code would be quite difficult to automate.

Mario also suggested that, while Demian suggested the possibility of using a →toArray() method on Doctrine entity classes to allow more consistent use of array formatting in templates, there are significant advantages to sticking with objects, since this could enable, for example, easier refactoring via IDEs if data element names change, etc.

3. Open Q&A / Other Topics?

Demian asked whether frequent meetings would be valuable until the release of 9.0, to ensure that we stay coordinated on the completion of outstanding work. There was not much interest in this, so the current meeting schedule will be retained, and Slack will be used for ongoing coordination.

Peter discussed a use case for having a special link to highlight a particular ChoiceAuth option to prevent confusion (e.g. log in by Shibboleth by default, but provide a link to display a different option like ILS login). Peter was able to make this work by adding Javascript to show/hide different options based on a hash fragment in the URL. He will share his code via Slack.

Peter asked for guidance about when code should be contributed upstream vs. maintained locally. Demian suggested that the project is generally receptive to non-breaking changes that can be made configurable. Peter also asked whether to open a PR directly or lead with a JIRA ticket. Demian suggested that PRs are always welcome, but a JIRA ticket could be a good way to gauge interest and solicit discussion for a complex feature before investing time and effort into development.

Mario mentioned that Google Scholar complained about VuFind's escaping of meta tags, probably as a result of the stricter escaping introduced in release 7.1, when we introduced more use of the escapeHtmlAttr view helper for escaping HTML attribute values (in place of the less aggressive escapeHtml). He will investigate whether Google can improve their HTML parser to handle the escaped characters, but reverting to escapeHtml in limited circumstances may be a fallback he can use.

Next Call

The next call will be Tuesday, March 7, 2023 at 9am Eastern Standard Time (14:00 GMT).