## Profile
**Name:** Bill Morrisson
**Email:** billmorrissonjr@gmail.com
**IRC or IM networks/handle(s):** billm on freenode
**Web Page / Blog / Microblog / Portfolio:** Personal portfolio being developed, you can look at some of my work in the meantime at https://www.linkedin.com/in/bill-morrisson-aa99b2a1?trk=nav_responsive_tab_profile_pic
**Location:** Buea, Cameroon
**Typical working hours:** 8-10 hours a day 9am to 5pm and 2am to 6am GMT+1
##Synopsis
This project aims to develop an extension that provides a range of notifications functionalities related to page creation and editing on all pages, which will allow users to be notified of actions that have been done on those pages without having users to look for a particular page to look at all the events that have been happening on some pages, thus helping users with the convenience of knowing what is happening on other pages while continuing what they are doing.
Mentors : @Yaron_Koren
##Deliverables
The deliverables for this project as listed and mentioned in the description of the task are a bit overwhelming for the GSoC period but what I have in mind for what can be done can be breaked down as:
Minimum viable product
- A crude prototype of the product that can perform the basic notification of the creation of pages within some or all pages where users in user groups could be notified and notification can be done through the Echo extension or by email
Extend on the functionalities
- Enable notification for edits in existing pages and changes in a template field within all or some pages where users in user groups and users who sign up to be notified and notification can be done through the Echo extension and email.
Complete the extension
- Ensure that the extension provide at least a platform for all this functionality so that it can be known which features are lacking and complete it
##Project timetable
| **WEEK** |**TASK**
| | **COMMUNITY BONDING** (Before and after) Research on extension development and on the various extensions like WhoIsWatching, Semantic Watchlist and PageCreationNotif that have notification support. Finish working on microtasks. Also ask for a Gerrit repo and a Labs instance
|Week 1 - May 23 | Decide on extension's structure and create extension's skeleton
|Week 2 – May 30 | Work on minimum viable product
|Week 3 - June 6 | (continued) Work on minimum viable product
|Week 4 - June 13 | Finish mvp and ask for community review
| | **MIDTERM EVALUATION**
|Week 5 - June 20 | Reconsider extension structure, proceed based on review of mvp and write basic documentation of mvp
|Week 6 – 9 June 27- July 24 | Add notifications through emails and the Echo extension for other actions done on pages within a scope of pages for a particular set of users, figure out what tests need to be written and continue on documentation
|Week 10 - July 25 | Attempt to implement other possible functionalities, write proper documentation
|Week 11 - August 1 | Feature freeze, write unit tests, bug fixing
|Week 12 – August 8 | Bug fixing, strengthen documentation
||**FINAL EVALUATION**
##Participation
I'm at ease using Git , so I've got the basic code review workflow and collaboration aspect pretty well established.
While I'll be working on this project, I'll submit my code for review daily to Gerrit. I like to keep things backed up, and doing this daily ensures that other developers will be able to keep track of my work much better.
Also, these are the additionnal means I plan to use to communicate progress:
- IRC: I'll stay online on **freenode** in #mediawiki-dev as billm during my working hours
- Through the mailing lists and the relevant phabricator task
- I will post all weekly summaries and reports on my User Page at https://www.mediawiki.org/wiki/GSoC_2016_-_Extension_for_page_creation_or_editing_notifications?venotify=created
##About you
**Education **
I'm a computer networks undergrad in my fourth year at the Catholic University Institute of Buea, Cameroon.
**How did you hear about Google Summer of Code? **
I heard it from a friend that is in the Google developers group in my community but at the time I didn't know how to code and it looked like a great experience. Last year I went to a conference where it was mentioned, but I was on an internship and it was already past the student application deadline. So here I am this year ;)
**Will you have any other time commitments, such as school work, another job, planned vacation, etc., during the duration of the program? **
I will be involved with some course work that does not actually take more than eight hours a week and also the final exams which will be in July(date not set) will not take more than five days.
**We don't just care about your project -- you are a person, and that matters to us! What drives you? What makes you want to make this the most awesomest wiki enhancement ever? **
What initially sparks my interest is this project is that since I started learning programming I've always wanted an opportunity to start a project from the beginning and see it go into production in an open source organization. In the past I didn't really contribute to an open source organization except from two little patches I did to Wikimedia some months ago. So I see it here as one of the opportunity I've dreamed of.
**Past experience **
Since I started coding, I have helped two teams coming out with these two projects: http://selfconsult.org/ and http://www.gojamaa.com/
While I haven't worked on any major open source projects yet, I'm confident that my prior work experience on few patches will serve me well. Having already worked as a freelance developer makes me even more confident that I am able to give it my all during the entire summer.
##Other info
I also have a Github account but stuff there was mostly used for educational purposes when I started programming. For the curious only ;)
**Past contributions**
https://gerrit.wikimedia.org/r/#/c/269771/
https://gerrit.wikimedia.org/r/#/c/257311/
###Microtasks submitted
https://gerrit.wikimedia.org/r/#/c/277179/