Table of Contents

VuFind® Community Call Minutes: January 10, 2023

Attending: Chris Hallberg, Demian Katz, Sudharma Kellampalli, Ere Maijala, Mario Trojan, Susan Turkel

Agenda

1. Development Planning

Newsletter Highlights

The December, 2022 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

2. Technology Demo: Typescript Annotations

Chris mentioned that after reflecting on feedback from last month's discussion, he opened a JIRA ticket with a proposed solution to the variable management challenge he previously discussed.

Chris then demonstrated a way to add JSDoc comments to Javascript to apply Typescript types without requiring a compilation step – this allows VuFind to potentially benefit from Typescript documentation and validation tools without having to change our build process or make the addition/changing of Javascript code more complicated.

It should be easy to integrate type checking into continuous integration. It should also be possible to enforce the inclusion of typing via eslint with “no-implicit-any”.

We should be able to introduce this via a new pull request; no need to wait on other “npm scripts” work in progress before we begin. Chris suggested finishing up the AJAX modernization before introducing this to avoid duplication of effort.

There was discussion of whether we should at some point introduce a compilation step for our Javascript assets. Down sides: introducing compilation steepens learning curve; could complicate deployment process for complex sites like Finna with many views. Advantage: would make it easier to manage dependencies, and to include libraries that don't necessarily have an easy-to-include, stand-alone .js version.

Possible middle ground on compilation: a compiled.js which lumps together third-party dependencies, without making it impossible to override VuFind-specific .js code. This could follow the precedent of compiled.css and offer some benefits without all the drawbacks.

3. Open Q&A / Other Topics?

Ere is releasing RecordManager 2.0 today!

Demian mentioned the need to improve the efficiency of the web crawler tool. Ere suggested that RecordManager might be able to be customized to do web crawling and cache results so that Tika could only be called when things have actually changed upstream.

Next Call

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