= Project Title =
Integration of IFTTT support for WikiData
= Personal Information =
Name: **Alangi Derick Ndimnain**
IRC Nick: **d3r1ck**
= Background Information =
I am a fourth year Computer Engineering student, specializing in Software Engineering from the University Of Buea. I participated in as a mentor for the 2015 Google Code-In for Wikimedia Foundation(WMF) and mentored 6 projects. I have been contributing to WMF for about 7 months now and my contribution can be seen here: [[ https://gerrit.wikimedia.org/r/#/q/owner:D3r1ck01+status:merged,n,z | Contributions ]], where I have contributed patches across many different extensions.
= Programming Background =
- Google Code-In 2015 Mentoring - Projects Mentored.
-- T118390: Using Maniphest's advanced search Documentation Screen cast.
-- T116802: Watching a project to receive its notifications Documentation Screen cast.
-- T118389: Screencast showing how to request a project
-- T121911: Remove deprecated html elements like <font> from SemanticForms
-- T108432: Desktop: Search box inaccessible in Special:Gather
-- T122968: Add a composer.local.json-sample to MediaWiki core
- My Contributions to WMF Code base - Extensions Worked on
-- Echo Extension
-- Gather Extension
-- Graph Extension
-- Mailgun Extension (co-authoring)
-- MobileFrontend Extension
-- Newsletter Extension
-- Semantic Forms Extension
-- Thanks Extension
-- Wikibase Extension
-- WikibaseJavaScripAPI Extension
- Also worked on OOJs/UI and MediaWiki Core.
-- Tools: Secure Shell, Git/Github, Gerrit, IFTTT, Linux OS(Ubuntu) and derivatives, Subversion, Vagrant, Composer.
-- Frameworks: Flask(A Python Micro-framework)
== Project Mentors ==
- Primary Mentors: @Slaporte, @Bene
- Secondary Mentors: @hoo, @Lydia_Pintscher
- Other Mentors: @Samtar
= Synopsis/Project Summary =
This project aims at integrating IFTTT(IF This Then That) feature to the WikiData extension. IFTTT technology being on of the most popular ways of making chains of web services communicate with one another, will be used to make WikiData to communicate with other web services across the web. This project involves studying the WikiData API, IFTTT technology internals and Communication of Web services.
= Detailed Project Description =
== Introduction ==
WikiData is a document-oriented database that focuses around Items. Each item represents a topic (or an administrative page used to maintain Wikipedia) and is identified by a unique number, prefixed with the letter Q—for example, Q1234. This enables the basic information required to identify the topic the item covers to be translated without favoring any language.
IFTTT is a free web-based service that allows users to create chains of simple conditional statements, called "recipes", which are triggered based on changes to other web services such as Gmail, Facebook. IFTTT is an abbreviation of **"If This Then That"** . An example "recipe" can be sending an email if an Item is added to WikiData with a particular hash tag or a New Item is created with a specific label. In this light, the hash tag and the specific label are the "triggers" and sending the email is the "action".
== Implementation Approach ==
Since this feature has been implemented for Wikipedia by @Slaporte, I will use a similar approach in integrating the feature for WikiData. This will require me to write a web service application in Python(running on the flask framework) to read data from WikiData using the MediaWiki and WikiData API from time-to-time(intervals of 10 - 15 mins). This is to make sure that by chance, information in WikiData has changed such that the new information inputted in WikiData can be pulled using the WikiData API by the IFTTT WikiData web service to IFTTT(http://www.ifttt.com) for the actions to take place.
The IFTTT WikiData web service application we will develop will stand as an intermediate entity between IFTTT website(http://www.ifttt.com) and WikiData.
= Testing and Verification =
= Deliverables =
= Development Schedule/Timeline =
= Time Availability =
I would be able to offer over 40 hours per week on the project. Also, to meet up with the demands of the project, I would be coding during weekends and regularly informing my mentors on the status of the project and regularly updating my logs in this respect.
= Why Wikimedia Foundation(WMF)? =
Wikimedia Foundation which focuses on encouraging the growth, development and distribution of free, multilingual, educational content, and to providing the full content of these wiki-based projects to the public free of charge is an organisation worth working with to make my continent(Africa) especially Cameroon to be sensitized about such organisations, their projects and projects which enriches knowledge to the society for free. This will go a long way to improve my community and Africa including the world as a whole in terms of education and academics "for free".
= Why WikiData Extension? =
Aiming at making my Final Year Project(FYP) to focus on Web Services and Data Manipulation, this extension has given me the opportunity to work on the project I have every dreamt. Integrating the IFTTT feature for the WikiData extension, this has made me to focus on this extension for my GSoC project 2016.
= Why me for the project? =
First and far most, looking the user facing nature of this project where hundreds of thousands of users will utilize, I am really inspired to work on the project and in addition to that, with the amount of knowledge I have acquired and my deep understanding of the requirements of the project, I think I'm in the best position to execute this project. Perhaps as I am going to use this project as my Final Year Project in my institution, this will give me an opportunity to promote WikiData and the MediaWiki project itself, sensitizing a lot of users in Africa to use this great feature.
= My Contributions =
Since I joined the Wikimedia Foundation(WMF) around September 2015 till now, I have contributed in several ways in the improvement of this organisation both in coding and mentoring perspectives.
- In terms of coding and submission of patches, I have over 20 patches merged, check [[ https://gerrit.wikimedia.org/r/#/q/owner:D3r1ck01+status:merged,n,z | here ]] and more are still to come.
- Also in terms of Mentoring, like I mentioned above in my Programming Background section, I mentored the Google Code-In 2015 program for the organisation. I mentored 6 projects.
= References =
 [[ https://en.wikipedia.org/wiki/Wikidata#Concepts | WikiData Concepts ]]
 [[ https://en.wikipedia.org/wiki/IFTTT | IFTTT Wikipedia Page ]]