MeghaSharma21 / WorklistTool-GSoC-2018

Tool is being developed for Wikimedia under GSoC 2018
5 stars 7 forks source link

Worklist Tool

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.

Usage

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.

Future

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.

Setup

If you want to contribute to Worklist tool follow the below given steps to set it up on your local machine.

Cloning repository -

$ git clone https://github.com/MeghaSharma21/WorklistTool-GSoC-2018.git
$ cd WorklistTool-GSoC-2018

Setting up virtual env -

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

Installing dependencies -

Dependencies are managed via a requirements.txt file:

$ pip install -r requirements.txt

Registering consumer for OAuth -

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.

Modifying wsgi.py

Place the OAuth keys and callback URL in the placeholders based on the wiki mentioned above. Put in the secret key also.

Using settings-development.py

settings-development.py contains settings required while setting the project on local machine for development purposes.Rename settings-development.py to settings.py.

Database setup

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.

Final Steps!

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