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:
Write a special purpose media wiki extension that can makeMake 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’.
- Update the text on a grant page when a proposal is updated in Fluxx by granteesGet 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’.
- Update the topmost box, like the box seen at the top of the [[ https://meta.wikimedia.org/wiki/Grants:Simple/Applications/Wiki_Movement_Brazil_User_Group/2020 | Wiki Movimento Brasil ]] page, when a grant application’s Grant Status category is updated in Fluxx by Grants AdministratorsGet the information to display in text on a meta grant 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 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’.meta grant 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 [[ https://meta.wikimedia.org/wiki/Grants:Simple/Applications/Wiki_Movement_Brazil_User_Group/2020 | 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)
- Extension code- 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.