The Worklist Tool is a tool for creating lists of Wikimedia pages which users can then assign themselves to for claiming and tracking work during editing events and programs.
The tool was first developed with Wikimedia during Google Summer of Code 2018.
The Worklist Tool is hosted on Toolforge at https://tools.wmflabs.org/worklist-tool/.
Currently, the easiest way to create a Worklist is to first create a PetScan (https://petscan.wmflabs.org/) query. PetScan allows you to easily create complex lists of Wikimedia pages, such as all pages from multiple categories, or that contain particular templates, or link to specific other pages. These lists can then be imported directly into the Worklist tool.
To create a new worklist:
You can now navigate to 'See Worklists' > 'See My Worklists' in the top bar to see a list of your created worklists.
Opening a worklist will show a list of articles contained in that worklist, and allows users to claim each page. More articles can be added with the 'Add articles' button.
The vision for this tool is that it will be able to integrate with other tools, such as Citation Hunt (https://meta.wikimedia.org/wiki/Citation_Hunt). This would allow program and event organisers to create worklists of articles, assign users to them, and then import the worklist to other tools to support participants' work.
If you want to contribute to Worklist tool follow the below given steps to set it up on your local machine.
$ git clone https://github.com/MeghaSharma21/WorklistTool-GSoC-2018.git
$ cd WorklistTool-GSoC-2018
virtualenv will help in keeping the dependencies required for this tool local to it's virtualenv only. It'll prevent version collisions of dependencies among projects. For installing virtualenv and python3 refer to this setup guide.
$ virtualenv venv
$ source venv/bin/activate
Dependencies are managed via a requirements.txt
file:
$ pip install -r requirements.txt
Worklist tool uses Mediawiki OAuth to authenticate the users. For setting it up for your local workspace you need to register a consumer using a form available here. For details on how this is incorporated in a Django project please read through this.
Place the OAuth keys and callback URL in the placeholders based on the wiki mentioned above. Put in the secret key also.
settings-development.py contains settings required while setting the project on local machine for development purposes.Rename settings-development.py to settings.py.
Sqlite is the default database engine for Django. But in worklist tool Mysql is used. Since Django is agnostic of the database you can set either of them.
You're almost done, yaya! Just run these commands -
$ python manage.py makemigrations
$ python manage.py migrate
$ python manage.py runserver 127.0.0.1:8000