Page MenuHomePhabricator

Grants API tooling (Fluxx-Meta)
Open, Needs TriagePublic

Description

The CR Grants team wants to enable an API public-data-transfer option for a grants management tool called Fluxx. Enabling the API would allow the sharing of public grant application and reporting data submitted on Fluxx to meta pages. The security team has given this work a preliminary approval—pending a final API output or configuration review to ensure that enabling the API data sharing from Fluxx will not inadvertently reveal more data than desired.

Technical workflow summary:
a) nightly cron job to initiate bot (earlier discussed a mediawiki extention but the team may not need such a robust solution if they can keep all app/reporting editing on Fluxx and keep those revisions limited) b) to call the Fluxx API and gather and parse appropriate data (new proposals or reports or updates to proposals/reports) then c) use the mediawiki edit api to add content to appropriate meta-pages and keep those pages clean (remove erroneous edits and ensure appropriate content is listed).

API tooling needs:
Make an API call to Fluxx to:

  • Get the information to display in text on a meta grant page (and create a new grant page on meta that is closed to further edits not from the API_update account) when a new proposal is submitted to Fluxx and marked as ‘New Proposal’.
  • Get the information to display in text on a meta grant page (and create a new grant page on meta that is closed to further edits not from the API_update account) when a new report is submitted to Fluxx and marked as ‘New Report’.
  • Get the information to display in text on a meta grant page (and the report page) when a grant proposal or report is updated by grantees or prospective grantees on Fluxx
  • Get the information to display in text on a meta grant page (and the report page) when a grant proposal or report's status is changed by administrators in Fluxx

Use Mediawiki API to:

  • Update the text on a grant page when a proposal is updated in Fluxx by grantees
  • Update the topmost box, like the box seen at the top of the Wiki Movimento Brasil page, when a grant application’s Grant Status category is updated in Fluxx by Grants Administrators
  • Update the text on a grant page when a report is updated in Fluxx by grantees
  • Update the topmost box of the report page when a grant report’s Report Status category is updated in Fluxx by Grants Administrators

Process planning needs:

  • Identify Fluxx API capacity (documentation is high level and sparse)
  • Decide whether to run a time-boxed exploratory project to best assess Fluxx API capacity
  • Identify from where host/run chron/bot job
  • Identify timelines
  • Develop/build
  • Submit updated security review request (when documentation is ready)
  • Submit performance review request (may be a conjoined request with the security review request)
  • Code, once approved, is placed in production

WHY: The CR Grants team is interested in leveraging their grants administration tool, Fluxx, to not only administer grants but to also receive applications and reports through Fluxx. The goal is to reduce manual and redundant data collection methods and improve the application and reporting processes for administrators, program officers, grantees, and prospective grantees. Ultimately, improvements will increase the quality of data and help the grants team setup for devising a reliable, automated pipeline for grant and grantee data.

Event Timeline

CCicalese_WMF added a subscriber: CCicalese_WMF.

Untagging Platform Engineering Team, as we will not be doing this work. We gave the CR Grants team advice. Unsure what project(s) this should be tagged with.

Tagging Community-Relations though I'm not sure if/how much Community-Relations actually uses that tag.

@Aklapper @Iflorez Hi. I am not sure I understand how we could help here.