Collaborative spelling dictionary

For the MediaWiki extension, see Extension:SpellingDictionary instead.


Collaborative spelling dictionary building tool edit

Public URL
(the page where the full proposal can be found)
Phabricator task
phab:T73973
Announcement
https://lists.wikimedia.org/pipermail/wikitech-l/2014-October/079007.html
Code
not on gerrit yet; see Extension:SpellingDictionary

Name and contact information edit

Name
Ankita Shukla
Email
ankitashukla707@gmail.com
IRC or IM networks/handle(s)
ankita
Web Page / Blog / Microblog / Portfolio
about.me/ankitashukla
Location
Roorkee, Uttarakhand, India
Time Zone
IST (Indian Standard Time) (UTC +05:30)
Typical working hours
December: 10:00 to 13:00, 15:00 to 18:00, 22:00 to 00:00 (IST). After January 1st - 18:00 to 03:00 (IST)

Synopsis edit

Spelling dictionaries for the major languages of the world (English, Italian, French) help make Wikipedia articles in these languages more readable and professional and provide an opportunity for participation in improving spelling. Many languages don’t have spelling dictionaries. The project aims at developing a collaborative dictionary which shall also have an additional feature of checking spellings of the words. This is to be achieved with the collaborative efforts of the mediawiki community using crowd-sourcing. This can be done as a MediaWiki extension integrated with VisualEditor, and possibly using Wikidata as a backend. We need to create something that's useful as VE module. The essence of the project shall aim to develop an admin panel where the administrator/moderator will be able to manage the submissions: verify the suggested spellings of the words, accept them, reject them, filter and build new versions of the spelling dictionary upon them. A simple start to the project could be by starting with a simple list of words.

Possible mentors
Amir Aharoni, Kartik Mistry

Deliverables edit

Please describe the details and the timeline of the work you plan to accomplish on the project you are most interested in (discuss these first with the mentor of the project):

Features
  1. Regular Documentation
  2. Unit Testing
  3. Following coding practices as followed in Mediawiki
  4. Publishing weekly progress reports.

Tables

  • suggestions
User Word meaning verified (no by default) related terms (phrases, synonyms,antonyms)
  • admin_panel form
Word meaning
Accept Reject
Reason for rejecting
  • If a word is accepted, verified is set to true, and the word is removed from ‘suggestions’ and added to ‘words’
  • words
Word meaning related terms(phrases,synonyms,antonyms)
  • If rejected, the word is removed from suggestions and added to review_language
  • For rejected words: add the word to review_language table, where other contributors could have a look and suggest meanings and spelling
  • review_language
Word suggested meaning Reason for rejecting
  • Any word from table review_language can be re-edited, and re-suggested, and again added to the suggestions table
  • Words page (visible to admin only):

This page will facilitate editing of already added words. Here, admins can see all the words that are in the dictionary and edit them(change/remove/put into review). If a word is put into review, then it will go to suggestions table and will be treated as a new entry for the dictionary.


Detailed Timeline
Week Number Week Task

0

Community bonding period

Get to know the mentors, read up the coding practices followed in the organisation and get well acquainted with the organisation. Discuss with mentors and finalize the word addition process and database structures. Finalise the technologies and resources to be used. We have to keep in mind that the overall experience is secure, easy to understand, fast and up to the mark.

Create the basic structure of the application

1

9th December-15th December

Create the database and the tables for the various languages to record suggestions and the verified words

2

16th December-22nd December

Write the required wiki pages for the contributors to get started

3 & 4

23rd December-5th January

Create an admin panel with an elementary GUI to accept or reject words

5 & 6

6th January-19th January

Improve the interface of the admin panel as per the standards of mediawiki pages

7

20th January-26th January

Add more functionality to the admin panel: send mail to the user to ask for improvements in the suggestion(if word is rejected)

8 & 9

27th January-10th February

Create a panel to handle the words in table review_language in order to enhance contribution

10

11th February-17th February

Implement the words page for admins as stated above

11

18th February-24th February

Debug the code for errors

12

25th February-3rd March

Complete documentation as well as unit testing on existing projects

13

4th March-9th March

Pencil Down State: Finishing up the project documentation of the project.

Participation edit

Hello! I have always been quite fascinated by technology. I have experience in coding in C++, PHP, JavaScript and am familiar with the basics of MVC architecture and UX. I prefer git as the version control system. I have been a developer at SDSLabs, IIT Roorkee where I had been working on web application projects for past two years. Moreover, I have good communication and writing skills which I can put to utilization during my work on the project 'Collaborative Dictionary Building Tool'.

About you edit

Education completed or in progress

I am currently pursuing the third (junior) year of my Bachelor's degree in Computer Science and Engineering from the Indian Institute of Technology Roorkee, India.

How did you hear about this program?

I heard about the program through a college senior who was a GSoC alumni in wikimedia and inquired further about the program through the website and the IRC channels.

Will you have any other time commitments, such as school work, another job, planned vacation, etc., during the duration of the program?

I have no time commitments other than academic work. I shall be available full time throughout December and half of January, working more than 45 hours a week. After reopening of my college, I assure to be available and working an average of 38 hours a week. I shall strive to accomplish majority of the project work prior to my college reopening. Thus, I have enough time to be an active participant in the project, mailing lists and IRC channels.

We advise all candidates eligible to Google Summer of Code and FOSS Outreach Program for Women to apply for both programs. Are you planning to apply to both programs and, if so, with what organization(s)?

No, since GSOC isn't organized at this time of the year.


Past experience edit

Please describe your experience with any other FOSS projects as a user and as a contributor

This is my first effort to contribution to a FOSS project as I am a newbie to Open source community. However, as a user, I have been using Linux (ubuntu initially and now elementary OS Luna) as my first choice OS since 2011. The best thing about FOSS is that we can know exactly what the software is made up of and edit it as per our own requirements.

Apart from this, I have also submitted a few patches in:

  1. OWASP Hackademic Challenges: Hackademic Challenges project
  2. Mediawiki: Bug 57821


Please describe any relevant projects that you have worked on previously and what knowledge you gained from working on them (include links)

I have worked on a number of web development projects such as:

  1. Analysing the specific case of local hamiltonians and setting bounds to the change in energy distribution when a local operator acted on a system of N qubits during the research at CQT, NUS (May 2014 - July 2014) (http://www.quantumlah.org/people/AnkitaShukla)
  2. A website for use within the campus that provides an online platform for renting books and novels. (Intranet Only)
Academic Projects
  1. Intelligent Traffic Control System (Feb 2014 - Apr 2014): Obstacle detection and blind spot detection
  2. Made an SIC and an SIC/XE assembler.


What project(s) are you interested in (these can be in the same or different organizations)?
Project title
Collaborative spelling dictionary building tool
Organization
Wikimedia
  1. Bug 57821


Any other info edit

See also edit