GSOC 2014 – 06/14 Update

Hello everyone! I’m Arian, a Computer Science student, one of the students accepted in the Google Summer of Code Program. This is my 2nd update, and you can view my introductory post here.

Previously, validators had no way of knowing if there are new strings waiting for approval; one had to check individual translation sets. The newest feature addition for this week fixes exactly that problem – an Email Notification Script for Glotpress Validators. When run, validators are emailed when there are waiting strings they can validate on translation sets they approve.

Related Ticket/s: https://glotpress.trac.wordpress.org/ticket/334https://glotpress.trac.wordpress.org/ticket/100

The email is simple enough, outlining number of waiting strings (number in parenthesis) and a link to the corresponding translation set.

For those hosting their own glotpress copies, the script is located at the scripts directory, along with other scripts. The script is simply passed to the php interpreter without any arguments (php scripts/notify-validators.php). You can then of course use a CRON job to automatically send out validation emails. Be sure to define your SMTP settings properly!

I also managed to add Unit Tests and Code Improvements to the previously added feature (Profile Project Shortcuts), properly separating template and logic code.

Related Ticket/s: https://glotpress.trac.wordpress.org/ticket/299

Schedule-wise, development has been pretty good! I was supposed to prettify the dashboard this week, but with that done, I’ll be working on a new exciting feature this week – Badges! We already have a list of badge ideas, awarding them based on approved translations, but definitely comment below if you have ideas for badges!

Thanks, and Ciao~!

#google-summer-of-code-program, #gsoc, #translation, #validators

GSOC 2014 Introduction

Hello everyone! I’m Arian, a Computer Science student. I’m one of the students accepted in the Google Summer of Code program, and my project will be Glotpress! I’ll be working on the UI improvements and Profiles, and I’m very excited on building something awesome this summer!

As it is right now, there’s not a lot much in Glotpress for user recognition, and this project aims to fix that. Here’s a short list of features to be implemented:

  • A powerful dashboard, giving you quick shortcuts to projects you’re contributing to.
  • Profile to facilitate stat viewing, such as word count, translation contributions, etc.
  • Badging system, earn badges and show them off your profile by translating a set amount of strings!
  • JSON API for user stats.
  • UI improvements, such as progress bar based ui, and links to translation set validators.

For those interested, you can view the complete, revised scope here: http://learninglabber.wordpress.com/glotpress-scope-revisions/


This week, I’ve managed to fully implement the user dashboard.

Related Tickets: https://glotpress.trac.wordpress.org/ticket/299, https://glotpress.trac.wordpress.org/ticket/329

As you can see we now have the basic stats present, such as the total strings translated and projects contributed to. The graph on the left shows translation statistics from the past week, which will hopefully encourage translators to keep up their translation streak!

The recent projects follow the traditional table Glotpress view, while using a more compact way of showing progress, a progress bar!

The user dashboard’s ui is starkly different from the initial proposal, but it’s current form works very well alongside the actual Glotpress ui; much more efficient than the previous designs that had a lot of unneeded whitespace.

Different reiterations of the ui

Development has been on schedule, and for next week, apart from improving the week’s code by adding Unit Tests and the like, I’ll be working on the notification system, which will hopefully be a big help to validators in knowing when they have new strings to accept/reject.

That’s all for now. Feel free to comment below if you have any questions or think of an idea for improvement, the scope implementation is very much dynamic!

#gsoc