Toolhub/Progress reports/2021-02-26

Report on activities in the Toolhub project for the week ending 2021-02-26.

Faceted search edit

Tracked in Phabricator:
Task T195680

Lots of good progress has been made on faceted search in the past week! We have merged these patches:

There is also a work in progress patch at gerrit:666524 which implements a user interface for using all of this new backend plumbing. The current patch is functional, but in need of additional automated tests and design review.

Some might wonder how this moved so quickly. Bryan credits it to a few things:

  • The libraries that we have found for handling mirroring database models into Elasticsearch and exposing Elasticsearch queries via django-rest-framework mostly "just worked".
  • Years of dreaming about how the UI for this could work made Bryan highly motivated to see if he could actually implement something.
  • Once he started, Bryan could not stop thinking about 'solving' the UI problem--to the point that reading a book or watching tv instead of coding was not possible. :)

Direct tool registration edit

Srishti is back to work on the UI components for creating a new toolinfo record via the API. One issue that she identified was a need to have the OpenAPI schema description for the expected POST payload available to code in the UI. Bryan has attempted to make this possible with helper functions wrapping the existing swagger-client library. Srishti is now trying to use this helper code to evaluate its utility. Ideally this will lead to design patterns that we will be able to reuse for other input intensive screens in the future.

Wrap up edit

The unexpected speed of getting a working UI for search is encouraging for our quarterly goals. We still have quite a bit of work left to implement user interfaces for the toolinfo registration, editing, and history APIs, but with the vast majority of backend work to support these done Bryan can start helping more with UI work in the last month of the quarter.