Toolhub/Progress reports/2021-01-15

Report on activities in the Toolhub project for the week ending 2021-01-15.

Toolhub API OAuth edit

Tracked in Phabricator:
Task T264812 resolved

The OAuth backend api has been merged in the main branch. The implementation uses django-oauth-toolkit to setup an OAuth 2 authorization server powered by OAuthLib. API endpoints exist to allow managing client registrations and a user's authorizations for those clients.

Srishti is working on the frontend for the OAuth server API in gerrit:655550.

Definition of done edit

As we add more functionality and the complexity of new features increases, Bryan and Srishti have started talking about establishing a definition of done (DoD) for future work. We are not actually using a Scrum process for our work, but Bryan has past experience with using a DoD to help create a shared understanding across a team of the quality and completeness that the team expects for all new features. A DoD is a living document, so look for a link in a future progress report to some page here on meta documenting the current state of done for Toolhub features.

Direct tool registration edit

Direct tool registration via the API with related frontend screens will be the next major feature worked on following the OAuth server.

Bryan has a patch ready for review in gerrit that is small first step in this process. This patch adds a database field for storing the "origin" of a toolinfo record with the current options being:

crawler
toolinfo records collected from external URLs by the crawler
api
toolinfo records created directly via the API

This differentiation will be used by the backend as part of the authorization for changing a toolinfo record. Records will only be allowed to be updated if the update is coming from the same origin as the original record.

Faceted search edit

After seeing a presentation on Toolhub at an internal Foundation meeting, Mukunda Modell from the Wikimedia Release Engineering Team reached out to discuss his past experience building faceted search services at deviantART. We are not yet sure to what extent Mukunda will have time to help us with design and implementation of faced search for Toolhub, but we welcome his experience and knowledge of the topic.

Wrap up edit

The Foundation's fiscal year 2020/2021 Q3 is well underway. We are currently working on the OAuth features which were originally planned for Q2. Work should transition towards direct registration soon. Along the way we are also thinking more and more about lightweight but effective processes to help ensure that the codebase is well architected and fits the needs of its users.