doathon
doathon copied to clipboard
OAbot: Help Make Wikipedia's Citations Free to Read
This post is part of the OpenCon 2017 Do-A-Thon. Not sure what's going on? Head here.
At a glance
- Submission Name: OAbot: Help Make Wikipedia's citations free to read by developing an online tool that matches and adds open citations to closed references on Wikipedia.
- Contact Lead: Jake Orlowitz ([email protected], @JakeOrlowitz on twitter)
- External Site Link: http://www.oabot.org (tool), http://enwp.org/WP:OABOT (doc), https://github.com/dissemin/oabot (code)
- Region: #Global
- Issue Area: #Open Access
- Issue Type: #Challenge
- Types of Support Needed: #Advocacy_and_Policy, #Coding, #Communications, #Community_GrassrootsOrganizing, #GraphicDesign, #Research
Description
OAbot finds paywalled citations on Wikipedia and suggests an open link to add. This makes Wikipedia more open access, from the article context, through to the citations.
OAbot added 2,000 links through this year's Open Access Week, but has been a victim of its success: the suggestion queue is showing links that are low-quality and have already been 'skipped'. We need to implement a 'reject' option to keep the queue quality.
That's just one of a dozen feature requests pending on our workboard, from UX to instructions. If you can code or design, or have an interest in repositories, preprints, or license metadata this is an open-licensed collaborative project and we'd love your help!
Codebase: https://github.com/dissemin/oabot Workboard: https://phabricator.wikimedia.org/project/view/2734/ Documentation: https://en.wikipedia.org/wiki/Wikipedia:OABOT Live chat: https://kiwiirc.com/client/irc.freenode.net/#wikipedia-library
Can you help us advance open access?
What are we working on during the do-a-thon? What kinds of support do we need?
Let's start with the specs: The tool is written in Python with flask. It stores candidate edits as JSON files on disk. Proposed edits are represented by the TemplateEdit class declared in main.py.
Our highest priority task is To add a reject button in addition to [skip] and [add link]. For this, we need to decide how to represent rejected edits and choose a form of storage for the list of rejects; all matching edits in the store of proposed edits must be invalidated; and candidate edits discovered after that must be matched against this database to filter them out.
Other features, all of which are open for contribution, are listed, described, and prioritized, on the phabricator workboard:
https://phabricator.wikimedia.org/project/view/2734/
How can others contribute?
The tool is globally relevant but currently in English. It is being localized through translatewiki.net over the next year. For now, English is the main development language.
This is a remote-friendly project and those participating in the do-a-thon remotely can follow this github issue for updates, as well as the OAbot github codebase, and the phabricator workboard. People from around the world are already working on this tool, so feel free to jump in from wherever you are!
This post is part of the OpenCon 2017 Do-A-Thon. Not sure what's going on? Head here.
Here is the specific phabricator workboard task for adding a reject button: https://phabricator.wikimedia.org/T166308
I am happy to help people to join the project and review pull requests :)
@wetneb I'm getting no response from multiple computers when I click the "start editing" button. Server down? Code breakage?
Should be fixed now.
Thanks!! @wetneb If you want to be around for quick questions, join our IRC channel: https://kiwiirc.com/client/irc.freenode.net/#wikipedia-library
I found Ilya and we are working together on the reject feature, first by exploring the tool and codebase, and then by setting up a local installation of OAbot for testing. Antonin Delpeuch is online through irc helping with questions and guiding development. Luchenry had previously used the tool and we discussed implementing a free-text field to add a link different than the suggested link. Investigating the Dissemin backend, we discovered that Sherpa/Romeo results are already available through the API and could be presented alongside the suggested link for direct and better copyright compliance evaluation. So far a good start!
At the FlourishOA doathon #22 we are thinking about ways to fill gaps in data- specifically, finding application processing charges for each journal. Do you think the code-base for OAbot could be easily re-purposed for a different project?
@Islast OAbot isn't very generic, it's really just for reviewing candidate edits to Wikipedia… But I'd be interested to learn more about your project. Maybe Wikidata would be a good place to store this data? If you have some noisy data for APCs that you want users to review, then a Wikidata Distributed Game could do the job.
I just made this pull request: https://github.com/dissemin/oabot/pull/26 to address this open issue on oabot: https://phabricator.wikimedia.org/T166592
Finally added reject button https://github.com/dissemin/oabot/pull/28