=Profile=
**Full name** : Abhinand N
**Time zone** : UTC +5:30
**Email** : abhinand4858@gmail.com
**Blog** : abhilovesto.wordpress.com
**IRC username** : abhinand_
**Gerrit**: Gerrit_abhinand_
**Location** : Kerala, India
**Typical working hours** : 5:00pm to 10:00pm( workdays ) and 11:00am to 9:00pm( weekends )
**Mentors** : @Yaron_Koren, @tosfos
=Synopsis=
This project aims in developing a MediaWiki extension that provides a much greater range of notification options related to page creation and editing. Existing features such as Watchlist, Semantic Watchlist and PageCreationNotif covers only small subsets of all page related notification that could be done within a wiki.
Following are the features of MediaWiki which are already existing :
# Watchlist : This is a display for tracking changes such as recent changes to all pages, the revision history, the revision history: all changes made to one page, the contributions of one specific user, newly created pages. It is limited in showing changes only across users set of "watched" pages.
# Page creation notification: A subset of the first typeWatchlist. This extension enables email notifications for users on creation of new pages. The user can specify to whether receive emails or not in preferences.
# Semantic wWatchlist: The Semantic wWatchlist extension (abbreviated as SWL) enables users to monitor changes in, properties defined by the Semantic MediaWiki extension. Looks for template field changes and changes to values.
# Echo extension: It provides notifications to users of various events related to their account, including new talk page messages, edit reverts, mentions, or links. These notifications can help users become more aware of events that relate to them and take quick action if they want to.
I propose to develop a unified extension that helps to manage all the above extensions at one place.
=Deliverables=
At a broader level, the main functionalities of the notification could be for the following events:
# Creation of new pages
# Edits to existing pages
# Changes in a specific template field
# Changes of a specific template field to a specific value
To begin with, I would like to consider a specified list of pages in one or more category or namespace. Also, users in one or more user groups within a pre-specified list are notified. It could also be done in such a way that users who signed to be notified are classified as a separate group who will be notified.
Following are some details about how the new extension could be implemented
# An automated Eemail: Email notification feature exists already in MediaWiki. When a new page is created or edited, the new extension would trigger the existing email notification system to send the email.
# Echo Extension: The functionality of Echo extension which provide a flyout listing the recent changes can be used as another way of displaying notification to one or more users.
# A Special Page listing the recent changes: Special page (like watchlist and recent changes) which would track the needed events, listing it for the users can be implemented.
== Timeline ==
| **Tasks to be completed **|**Timeline**|
|Community bonding period, get familiar with the community, contribute by submitting and fixing bugs|22 April to 23 May 2016|
|Set up database for the extension.| 24 May to 31 May 2016|
| |1 June to 8 June 2016 |
|| 9 June to 16 June 2016|
|Code review, Fixing bugs|17 June to 20 June 2016|
|Mid Term Evaluation| 21 June 2016|
||22 June to 28 June 2016|
||29 June to 14 July 2016|
|Writing unit tests,Testing the work flow|15 July to 25 July 2016|
|Writing Documentation, the new extension would trigger the existing Email notification system to send the email.Deployment|25 July to 12 August 2016|
|Code Cleaning and Wrap-up|12 August to 21 August 2016|
| Final Report Submission| 22 August 2016|
Echo Extension: The functionality of Echo extension which provide a flyout listing the recent changes can be used as another way of displaying notification to one or more users.==About Me==
A Special Page listing the recent changes: Special page (like watchlist and recent changes) which would track the needed events,I am a 1st year Bachelor of Computer Science and Engineering student from Amrita University, Kerala, India. I am an active member of FOSS community in the college - FOSS@Amrita for the past 8 months. I was introduced to MediaWiki via the FOSS club. I have been contributing to MediaWiki since August 2015. listing it for the users can be implementedI have got few [[ https://gerrit.wikimedia.org/r/#/q/owner:%22Abhinand+%253Cabhinand4858%2540gmail.com%253E%22,n,z | patch-sets ]] merged to the code base.
I enjoy working with open source and love to contribute and make software better.
==Microtasks==
As a part of preparing for this project I have worked on the microtask T125350
==Skills==
- Web Development: PHP, HTML/CSS, JavaScript, MySQL
- Operating Systems: GNU/Linux, Windows
- Version Control System: Git, Gerrit
- Frameworks: Bootstrap
==Experience==
# Open Source Contribution to MediaWiki:
Fixed the below bugs in MediaWiki
- Bug T106328
- Bug T108543
- Bug T99533
- Bug T126731
# codecademy.com: Completed full course on HTML, CSS, Javascript, PHP and 62 % of Python. Link
# codechef.com: This is an online platform to improve problem solving skills and I have completed 22 challenges using C++.
# Shopping Cart: Implemented a shopping cart using PHP, MySQL, HTML and CSS.
# Attended workshop on building web applications using Node.js
# Academic:
Practical: C programming exercises, Linux, (link) and MIT Scratch
Theory: Computational Thinking, Computer Essentials