Page MenuHomePhabricator

Community bonding evaluation for Unified language proofing tools integration framework
Closed, ResolvedPublic0 Estimated Story Points

Description

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.

Event Timeline

Ankita-ks claimed this task.
Ankita-ks raised the priority of this task from to Medium.
Ankita-ks updated the task description. (Show Details)
Ankita-ks added subscribers: dnaber, Niharika, eranroz and 3 others.

@Ankita-ks Have you filed a task for obtaining a phabricator project? Also please schedule a regular meeting time with your mentors as soon as possible.

@NiharikaKohli : No I haven't. Getting started. And yes, I will schedule the regular meeting time at the earliest. :)

@Ankita-ks Hi! What's the status of the phabricator project?

In T97837#1293396, @NiharikaKohli wrote:

@Ankita-ks Hi! What's the status of the phabricator project?

T99224#1295984

@Ankita-ks Report, meetings, phabricator project all seem to be pending. The evaluation is due tomorrow. Reply asap.

@NiharikaKohli : Sorry about the delay on that. On it. :)

@Ankita-ks, thanks for the report.

Can you please add links to the LanguageTool server that you installed? At least two links: An example query that returns XML results, and a link to the testing UI.

Also, it would be super-great if you could publish a couple of blog posts about the project in general, and about the LT server installation.

@Amire80 : yes. editing it now. Blog's on its way. :)

@Ankita-ks Any updates on the blog post? Also please get started on the actual coding part now. We're way into the coding phase. Weekly reports task is missing.

@NiharikaKohli : Yes, here's the link to the blog : https://ksankita.wordpress.com/
Already working on the coding part. :)
I need to update the weekly reports sections. I was traveling. On it now.

@Ankita-ks Great! Add the link to the description.

@Amire80 ping ping! Please evaluate and close. Thanks!

Community bonding done nicely. Ankita interacted with a lot of people, which is supposed to be the idea of community bonding. Blog posts updated. Weekly meetings and coding are on track.