- As instructed by the mentor, I started deploying me work on Wikimedia Tool Labs for integration testing with IFTTT. The mentor added me to a Wikipedia staging channel for me to do integration testing with IFTTT.
- The Wikimedia Tool Labs instance I am using is "ifttt-testing" and can be accessed by using this link: IFTTT Test Instance and it has been configured to run my application for testing within the server and also in the Wikipedia staging channel.
- NOTE: Once in a while, we shall have a 404 - Not Found error while trying to access this link since its still unstable as I am working on the server on a daily basis, its a test instance.
- Deployed the application on Tool Labs and Integrated to IFTTT Wikipedia Staging to test the functionalities and also the trigger I have developed.
- Trigger was working properly when configured.
- All RSS Views where functioning properly
- All tests where passing on Tool Labs
- Fixed Links in the feeds.html file to point to the correct lab instance and no longer "localhost" as before and fixed all the codes to adapt to the configurations of my Lab Instance.
Monday, June 20, 2016
Week 8 (13th June - June 19th)
Monday, May 30, 2016
Week 6 & Week 7 (30th May - June 12th)
- Wrote unit test for Wikipedia Article of the Day trigger and ran a client test against the trigger and it was working correctly returning the correct result set.
- Wrote unit test for Wikipedia New Article trigger and ran a client test against the trigger and it was working correctly returning the correct result set.
- Wrote unit test for Wikipedia Word of the Day trigger and ran a client test against the trigger and it was working correctly returning the correct result set.
- Wrote unit test for Wikipedia Picture of the Day trigger and ran a client test against the trigger and it was working correctly returning the correct result set.
- At this juncture, 4 tests are working correctly (passing) out of the 6 non-database driven tests I have to write. But 2 tests are still failing. Working on these two test and also fixing some few bugs and doing code clean up.
- Wrote a Wikidata trigger with name "Item Revision" for which when a particular item in Wikidata is revised, for example(Q12345), the trigger fires and performs the respective actions.
- Developed an RSS View for Item Revisions trigger and an XML template for it for rendering of the data using the browser. The commit can be seen here on my Github account: The commit can be seen here on my Github account: RSS View Commit.
- Fixed bug that was causing the non-DB to fail and now all tests, including the test for my new Item Revision trigger is passing. Also, updated the read me file to contain news triggers that are being developed.
- Synchronized my online and local development Github branches with the official GSoC development branch in the Wikimedia IFTTT repo and re-committed the whole work I have done, this is because of conflicts that originated when I made a PR to the official Wikimedia IFTTT code base which was different (setup) from that of Stephen that I was using before. The working PR without any conflicts can be seen here: Pull Request
Monday, May 23, 2016
Week 5 (23rd May - 30th May)
- Integration of Travis-CI testing bot to my personal repository at the moment for development. This bot will be used for continuous testing and integration of the app. Once we (I and the mentors) decide on the general repository to use for development, I will just transfer the Travis settings to the repo.
- Travis-CI is configured to do the following functions;
- Post messages (build related messages) to the Wikidata feed channel on Freenode (#wikidata-feed) so as to notify others on how the development is going (just for monitoring purpose).
- When the build fails or passes, an email is sent to me also for notification.
- Here is a link to the Travis file on Github: Travis Settings on Github.
- Created a GSoC development branch that will be used to push my codes to on the official Wikimedia IFTTT repo. This will enable mentors to review, comment and merge my codes when its ready to the master branch.
- Main Wikimedia IFTTT repo master branch.
- My GSoC Wikimedia IFTTT development branch.
Sunday, May 15, 2016
Week 4 (16th May - 22nd May)
Google+ Link to Video.
Twitter Link to Video.
YouTube Link to video.
Friday, May 6, 2016
Week 3 (8th May - 15th May)
- Researched on how to set up Travis-CI bot with Github repositories and also specific to repositories with python projects (any version of python). Read on how to transfer Travis-CI bot setting from one repository to another.
- Learned how to use Query module in the Wikidata API, using it in my local instance to run queries against the data (my_wiki). This enabled me to understand how the query module works. Under the query module, I learnt how to use;
- list
- meta
- generator
- prop
- Researched on Unit testing and Integration testing in Python and most especially related to the IFTTT project. Unit testing will be based on the 8 triggers for Wikipedia IFTTT and the triggers I will develop for Wikidata. Also, in addition to the Unit tests, I shall also write integration tests for all the triggers in concern.
- Practicing how to write unit tests in python using the "unittest" package and also reading how to run unit tests in python using "Nose". This will enable me to write unit tests for the IFTTT project.
- Pushed a mini project on Github where I am using to practice my unit testing skills in python. The link to the repository can be found here: Math Functions & Unit Tests.
- Had in total of 3 meetings with the mentor with each greater than 1 hours to discuss on how to go about writing the tests. Which properties of the triggers to be tested and other parameters to be tested in the triggers. At the end, we had put in place all the parameters to be tested in triggers.
- Researched about how to dynamically generate test cases in python since this will be needed in the project to automatically generate test cases for all the triggers rather than writing a test for each trigger in concern.
- Investing the Wikidata list of proposed triggers and ranking them in order for I and the mentors to select the highest priority triggers to implement during the coding period. There are 6 triggers so far and they are going through a ranking process.
Friday, April 29, 2016
Week 2 (30th April - 7th May)
- Modification of time-line to suite the current demands for the project. Once I modify the time-line, I will put a link to it.
- Agreed that we shall investigates all the following listed triggers for Wikidata and rank them to choose the best that will be implemented.
- I shall no longer use Gerrit for development, so I shall use Github and as a result, I shall set-up Travis CI automated testing bot to help me with some testing aspects of the project.
- We also agreed I will also spend some time writing test cases/suite for the current Wikipedia IFTTT web app and also write Wikidata's tests along side building the triggers. In addition to this, I shall also help write documentation for both the current app and the Wikidata app I shall develop.
Monday, April 25, 2016
Week 1 (23nd April - 29th April)
- Created Project progress report page (this page) as a sub-page of my profile page to keep track of my work during the Summer of Code and a brief log of this report in blog spot here: project progress blog spot
- Created a phabricator conference to enable a synchronized discussion about the project progress with my mentors and notify them with recent updates on the project's progress and any other updates.
- Held meetings with some of my mentors individually, having their weekly schedules for code review, guidance etc... This enabled me to get their available times, taking into consideration time zones.
- Extending Wikipedia IFTTT to support RSS feeds. Worked on the Article revisions and User revision feeds in addition to the Article of the Day, Word of the Day and New article feeds I already worked on. Commit on GitHub is here: Commit and the pull request for the work here: PR3.
- Created a Wikimedia Tool Labs account and submitted to the mentor (Stephen) so that he could integrate me to the dev edition of the Wikipedia IFTTT application on Tool labs. This will enable me to be running Database Access Layer (DAL) tests that is concerned with database driven feeds.
- Requested for access to be added to a group on tools lab so that my account can be given rights under a particular project. In this case, testing on Wikipedia IFTTT and development of Wikidata IFTTT during developing the project.
- Tool Lab account request was processed and approved by Tim Landscheidt and at this point, it is just left for me to have access to the IFTTT dev project on tools lab for testing.
- Stephen (mentor) added me to Tool Labs on the IFTTT-Dev project so that I can perform testing of the RSS feeds work that I have done. I successfully logged into Tool Labs after adding my SSH key to my tool labs profile. Ran DAL (Database Access Layer) tests for feeds that needed DAL for its functioning and all where successful.
Subscribe to:
Posts (Atom)