Toolhub/Progress reports/2020-11-06


Report on activities in the Toolhub project for the week ending 2020-11-06.

Eslint configured for project

edit

Srishti added eslint configuration for our Vue frontend code as part of her work on phab:T264970 in 636745. Bryan extended the configuration to also cover linting for other javascript assets in the project like the jsonschema components in gerrit:637848. The rules in use are drawn from the eslint-config-wikimedia project which attempts to codify the rules from mw:Manual:Coding conventions/JavaScript.

Django locale setup

edit
Tracked in Phabricator:
Task T264815

An initial step towards localization of the backend Django application has been taken. gerrit:637824 introduced configuration and Makefile targets for extracting strings marked for localization from the Django application code. This base is being extended by introducing more localizable strings in the various API endpoints. This will all become a bit easier once we can take action on phab:T267261 to upgrade to a newer version of the drf-spectacular library which is being used to enhance the documentation of the API.

A wild logo appears!

edit
 
Community logo for Wikimedia's Toolhub project

Bryan made a logo for the project by combining the Wikimedia community logo with some CC0 icon elements. A simplified version of the logo composed of the CC0 icon elements only is also being used as the project's favicon. These graphics are subject to future modifications, but do give us a strawdog design to iterate on as needed.

User interface for Toolinfo.json URL registration

edit
Tracked in Phabricator:
Task T264970 resolved

Srishti continued work from last week by adding support for pagination in the front end. The user interface here feels largely "done", but Bryan's testing uncovered that it would be nice to add better error reporting to the backend api. The default Django REST Framework error responses are all string based which makes decoding and displaying the errors on the client side a bit annoying. phab:T267432 has been opened to address this issue.

More toolinfo/1.2.0-draft02 JSON Schema tweaks

edit

In a follow up to prior work, various small adjustments have been made to the 1.2.0-draft02 version of the JSON schema for toolinfo.json files. The most impactful was correcting an off-by-one error in the YAML indenting in the master file which caused definitions for reused schema components to appear in the wrong place in the generate specification.

Toolinfo read API in progress

edit

Bryan has started work on implementing Django model storage and read-only APIs for retrieving the tool descriptions collected from crawler runs. This work informed many of the json schema changes.

Wrap up

edit

This was another week of great progress for the project. Bryan and Srishti continue to discover more bootstrapping issues, but they are being resolved quickly without major impediment to over all progress. Bryan is adjusting his planned work to try and get ahead of making API endpoints for Srishti to integrate into the frontend. Bryan's tool description API work will continue as Srishti takes some time to work on localization for the existing Vue frontend.

Progress will slow during the week of 2020-11-13. The Foundation has made 3 days of that week holidays, and Bryan is going to take advantage of that by adding in 2 PTO days for a week long break. No progress report is expected to be sent to the mailing list next week, but additional progress may be recorded on metawiki.