Description:
This is a template. So far from the discussions I had with @Amire80 this is what I have concluded. I expect frequent updates to this.
- Detailed plan agreed with mentors: T93752
- Phabricator project created: VisualEditor-LanguageTool
- Meetings with mentors started: We hold a Google Hangouts call every Sunday to discuss the work done through the week and to chart out the plan for the following weeks. Hangouts is also used for keeping in touch regularly or situations that demand quick response. We also share a google calendar that helps us keep track of everyone's availability and general deadlines. This is my blog where I will update on the work I am doing : https://ksankita.wordpress.com/
- Bonding period report published:
Work done :
We have finished the proof of concept of the first phase. We have set up LanguageTool server in Tools-Labs. We might migrate it to Labs later as and when needed. We also have a test ui hosted on Tools-Labs. We plan to implement it in VisualEditor along the same lines.
@Amire80 suggests we use one of his pre-existing gerrit repository.
Server : http://tools.wmflabs.org/languageproofing/
Test UI for querying the server : http://tools.wmflabs.org/languageproofing-ui/
Changes from the Original Plan :
Adding the toolbar button was mentioned in the third phase of the three phases in the original proposal. It has been moved to the second phase now. Since the first phase is done for now, I will start on the second phase when the coding period begins. We will migrate the current LanguageTool server to Labs later. Also, as of now it is an HTTP server, we will change it to HTTPS.
Problems faced and solutions found :
One of the major tasks was setting up the LT server but it took a lot more time than I expected it to because of a lot of silly issues. At first I tried compiling the LanguageTool from source code within the Tools-Labs. That did not work as they have made a lot of changes and there were some compatibility issues that I still haven't been able to trace. The hack around it was to use the latest snapshots they release. But this seems like a more sane way to go around it for now.
Also, earlier I estimated that the most difficult task involved would be the querying of the LT server and getting a response. But now I believe it is going to be the annotation. I am analyzing other such systems who have such support to get an idea as to how to make something like that for visualeditor. The test ui is an example of one such crude system.
I did have problem figuring out how Phabricator works and I still find gerrit daunting but I suppose I am getting there. The more I use it, the more comfortable I will get.
Lessons learnt :
My take away from this Bonding period would be that communication and planning take you a long way to completing a successful project. The weeks when I was most efficient were the weeks when I communicated with Amir and Eran more.
Amir also suggested that I keep a blog tracking all the work I have been doing. That is a good suggestion because I often encounter some problems that I have already solved in the past but I because of lack of documentation I need to figure it out all over again.
Deliverables :
The deliverables at the end of the first mid-term evaluation will the the preliminary integration of LanguageTool into VisualEditor. There will be a tool bar button (see the markups attached : T93752). On clicking the button the LanguageTool Server will be queried with the data and it will respond with appropriate xml. This response will be displayed in a very crude format.
At the end of the second evaluation, the integration will be completed. This will mean that the response received shall be properly highlighted in VisualEditor itself and on clicking the highlighted words, suggestions will appear in a dropdown box.
Communication Plan :
We keep a shared Google Calendar to keep track important dates, deadlines and everyone's availability. We have been holding weekly Hangouts call and will continue with that in future too. Apart from that for frequent queries, we use Hangouts or irc. We have a dedicated conpherence too but that is not used very frequently.