GSOC 2014 – 06/30 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 4th update, and you can view my other posts here.

ss (2014-06-25 at 09.15.32)

This week I’ve added Public Profiles. Now users can view user’s basic info like username and locale preference, recent projects, projects they validate (if any), etc.

Now that users have actual public pages, user names are now being linked when appropriate (such as Translated by:{{User}} in translation sets).

Next week’s addition would be the creation of an API of the profiles so that the data can be used by other applications.

Thanks and Ciao~!

#gsoc

GSOC 2014 – 06/21 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 3rd update, and you can view my introductory and 2nd post here, and here, respectively.

This week’s new feature provides modicum, but albeit nice awards for all great translators out there – badges!

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

As you can see, we award translators based on:

  • Number of Translations (10, 50, 100 Approved Translations)
  • Being a Validator
  • Suggesting a Better Translation to an Accepted String
  • Suggesting the First Accepted String
  • Suggesting the Last Accepted String

Badge art are for the most part, placeholders, but I personally find them good enough for production! All of the art used for the badges are public domain (Kenney and Glitch), so for glotpress hosts out there, that means completely free and no need for credit!

Again, development has been on schedule, even a bit ahead! For the next week and a half, I’ll be adding the main avenue for user recognition in this project – Public profiles. Some of the things to be featured in one’s profile are:

  • Recent Translations
  • Projects user is contributing to
  • Projects validated by user
  • A powerful API for other applications

And a few more things in between. Public profiles open a new way for user interaction, where you can keep up with fellow translator’s actions around the site!

Again, thanks and Ciao~! Been a very exciting journey so far knowing you’re developing something that’s going to be used by a lot of people!

#gsoc

The last couple two and a half months…

The last couple two and a half months a lot of things got changed. As you guys have seen in the last two posts is that we have this year our first GSoC project and the focus of the project will be a huge improvement for GlotPress. I can’t wait to see how GlotPress will look like in September.

We also did some nice improvements and some groundwork for upcoming features. This is a list of almost all changes that are made.

  • Branching
    • Preserve hierarchy when duplicating projects that contain multiple sub projects.
    • Allow editing of the project description.
    • Keep the original project status.
    • Fix an issue where translations original id was set to the original project originals.
    • Performance improvements. About 20% faster on a project with 15k originals.
  • Add CLI script to perform branching.
  • Save username when importing new translations.
  • Add “projects” filters to GP_Project to be able to sort the array.
  • Show fuzzy count of translated sets in the project view.
  • Add bulk setting for priority.
  • Introduce the fuzzy_count method for translation sets.
  • Add support for comments in Android import.
  • Add abstract class GP_Format to use for all our import/export formats.
  • Add indices on the original tables.
  • Add hook to discard_warning_edit_function.
  • Import “fuzzy” flag.
  • Make the $where array in for_translation filterable.
  • Improved unit tests
  • Added support for Ido and German (Switzerland).
  • And other minor fixes and cleanups.

#progress

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