Hey folks!
Srishti and I have put together a list of the Toolhub bits we think we
can commit to working on in the next quarter. We would like y'all to
have a look and give us any feedback you may have: too aggressive
somewhere, missing a key feature, things like that.
Our goal is to implement the features described at
<https://meta.wikimedia.org/wiki/Toolhub/Roadmap#Milestone_2:_Initial_API_and_UI;_toolinfo_crawler>
along with supporting features which are needed to build a stable
foundation for the project. This set of features will result in an
application which includes the core features of Hay's Directory and a
platform that can be extended in future iterations to achieve the
"first customer release" functionality of milestones 3, 4, 5, and 6.
By the close of Q2 we should have (roughly in priority order):
* Local development tooling and instructions for use
* Dockerfile(s) generated using Blubber
* Project hosted in gerrit
* CI tests run via PipelineLib
* Django backend account creation via OAuth with
meta.wikimedia.org as
authorization server
* Django backend authentication via OAuth with
meta.wikimedia.org as
authorization server
* User interface for creating/authenticating to a Toolhub account
* Django backend API described by an OpenAPI schema
* API endpoints for CRUD operations on toolinfo.json source URLs to be
used by the crawler
* User interface for CRUD operations on toolinfo.json source URLs to
be used by the crawler
* Integration with
translatewiki.net for static messages (dynamic
content translations are out of scope at this point)
* Working user acceptance testing/staging deployment somewhere in
Toolforge/Cloud VPS/???
* API endpoints for viewing actions taken on Toolhub (think
Special:Log & Special:RecentChanges)
* User interface for viewing actions taken on Toolhub (think
Special:Log & Special:RecentChanges)
* Crawler process that loads toolinfo.json source URLs, validates
their content, and populates the Toolhub database
* User interface to view crawler status information
* User interface to display toolinfo records created by the crawler
* Django backend OAuth authorization server allowing registration of
new client applications
* API endpoints for OAuth client registration
* User interface to register a new OAuth client
* User interface to authorize an OAuth client to contribute to Toolhub
as the authorizing user
* User interface to view OAuth clients authorized to act as the
currently authenticated user
* User interface to revoke authorization from OAuth clients
* API authentication via OAuth with Toolhub as authorization server
Bryan
--
Bryan Davis Technical Engagement Wikimedia Foundation
Principal Software Engineer Boise, ID USA
[[m:User:BDavis_(WMF)]] irc: bd808