Toolhub/Progress reports/2022-04-15

Report on activities in the Toolhub project for the week ending 2022-04-15.

Code improvements edit

Tracked in Phabricator:
Task T286293 resolved

Raymond added a custom context manager and refactored the parts in the codebase where reversion revisions are created. The result is less code repetition and more robust code.

Django Upgrade edit

Tracked in Phabricator:
Task T303268 resolved

Toolhub was running Django 2.2, which will no longer be supported as of April 2022. Slavina upgraded Django to 3.2, which is the next version with long-term support. Django 3.2 was released in April 2021 and will continue to receive security updates until at least 3 years from its release date.

Controlled vocabulary edit

Tricia Burmeister shared her straw-dog proposal for a controlled vocabulary for use cases with the team. The goal of this proposal is "to enable recall of all relevant tools for a given attribute, regardless of the varied language humans may use to describe or search for the tool. This is especially important for standardizing input, as Toolhub allows and encourages community-provided data for tool annotations."

Production bug edit

Tracked in Phabricator:
Task T303892 resolved

A bug was discovered that causes more lists than expected to be indexed, and some lists expected to be indexed not to be indexed. Bryan did some local testing and thinks that a recent bug fix submitted by Raymond that is part of the next release ought to resolve the issue. The team will therefore make a new release as soon as possible and re-create the index on the production server, which will hopefully clear out the improperly indexed lists.

Bug fixes edit

Tracked in Phabricator:
Task T300507 resolved

Raymond resolved the issue of Lists showing their tools in different order depending on whether they were retrieved from the lists api, or from the list revision api.

Tracked in Phabricator:
Task T305873 resolved

Bryan resolved an issue related to adding annotations to SummaryToolSerializer. This made the demo server crash when attempting to rebuild the search index, and was resolved by adding a KeywordField mapping declaration for the x_merged_type dynamic field. This mapping was already present for the ToolDocument index, but was not added to ListDocument when tool_type was added to SummaryToolSerializer.