[GSoC Idea] Expose Drupal translation activity

We encourage users to post events happening in the community to the community events group on https://www.drupal.org.
Gábor Hojtsy's picture

Localize.drupal.org is a great site providing a web interface for community translation. Due to technical and scalability reasons the site uses custom code to provide translation of 7000 modules and about 20000 releases of these modules. Each release is parsed and ends up in the database of the site which results in almost 270000 strings to translate. That's a lot of stuff! Now add up that we have almost 100 languages and each string can have any number of suggestions for any language. Finally, each of these suggestions have their own "commit" history with data on who submitted them, when, via which method (multiple sources supported with a remote API in the mix), when was it approved, declined and approved again by whom and when, and so on. So you can consider this a 3 dimensional version control system in a database (version control per strings * languages * suggestions).

Now since this is all stored in this form, the activity happening is pretty "invisible". Moderators and fellow translators see little of this activity. Some teams use a wiki page to list things they work on, informing moderators that new stuff is available to review. Without that, reviewers can only look actively for stuff to review, which is tedious. Its a definite characteristic of communities online and offline that seeing the momentum, the activity and work being done energizes others and moves them to contribute more. So exposing all this information in natural and automated ways is crucial.

Activity streams

The first part of this GSoc proposal is about choosing the right existing components to base activity stream functionality on for localize.drupal.org and building the streams for the site and for language specific groups as well as tying in data from the localization server with newly built module code, extending the Localization server module suite with a new module.

Examples of desired activity messages:

  • Views 7.x-3.4 became available for translation
  • Joe joined the German team
  • Edith is now promoted to be administrator of the Italian team
  • Josh left the Greek team
  • Aaron submitted 6 new translations (in the past hour) for Pathauto, Views and Calendar in Danish
  • Jill imported 354 suggestions for Views, Display Suite, Drupal commerce, Drupal and 14 other projects in Korean
  • Dana approved 23 translations and declined 9 suggestions (in the past hour) for Date and Panels in Estonian
  • Announcement: new moderation functionality available (link)

The activity should be visible on the site level (such as for announcements and new releases made available), and on the language group level (such as for the language and team specific activity messages). Note that all these activity messages should be possible to generate based on user activity, without the user explicitly typing in any part of this message. Generating a good list of top related modules for translation submissions and imports would be most tricky. It would be great to provide the possibility to inject custom written messages to the activity stream too, but we are not to build a Facebook clone here!

Activity graphing

The second part of exposing the activity is graphing. Showing the growth of teams over time, the submission and moderation activity via graphical means can expose really telling details about a team and would help moderators notice if suggestions outnumber active translations, for translators to see that others are active on the team and energize them to keep contributing.

This part of the proposal involves evaluating the available solutions, picking a good one for localize.drupal.org and like in the previous part, implementing integration code to provide the data in the right form. The source data to be graphed is definitely available, but it will need some processing to be graphed.

These two key improvements would set Drupal's localization service up for even more growth and activity, helping people realize that they work in an active team, moderators to recognize contributions and better organize their work and translation users to have more data points to asses the quality of translation teams when related to certain projects.

Comments

OMG! This is a good

rvilar's picture

OMG! This is a good improvement for l.d.o . I hope that this feature will be developed in the future ;)

A good initiative for GSoC

Hey dude, Haven't had time to

patcon's picture

Hey dude,

Haven't had time to read through and digest completely (localization hasn't been my focus), but saw your blog post and just wanted to point out the potential confusion of using the term "activity stream", as there's a well-used module called activitystream :)

Cheers

yes

Gábor Hojtsy's picture

Yes, one of the problems to overcome in this assignment would be to choose between the numerous well-used activity stream modules. It might be the module named activity stream, or activity, or heartbeat, or ....

jimcaruso's picture

Activity Streams standards initiative http://activitystrea.ms/ including base schema (different formats, such as Atom http://activitystrea.ms/), GitHub repository for reference https://github.com/activitystreams, and some implementors on the wiki for reference http://wiki.activitystrea.ms/w/page/24500522/Implementors.

The activity streams module did not support these standards the last I looked.


Jim Caruso
MediaFirst

Jim@MediaFirst.net
@jimcaruso
(M) +1.404.788.0188
http://MediaFirst.net


it might be the module named

amitaibu's picture

it might be the module named activity stream, or activity, or heartbeat, or ....

Or if it's D7 - message module :)

yes, although...

Gábor Hojtsy's picture

Yes, although unfortunately we will probably not be ready to port the site to D7 by the end of the summer.

Hi Gábor, all, I'd be pretty excited

superpointer's picture

Hi Gábor, all,

I'd be pretty excited if I could work on this during GSoC. Adding value to the massive amount of information being stored on localize.drupal.org is like gold mining. The information is there, waiting for us to extract it, which is pretty amazing.

Like you said Gábor, exposing all this information is crucial, and if we get it done right, there could be even more benefits.

There is a trend to expand from social network sites to social applications hosted on the social network site itself and social networking services.

By marking up social activities and social objects and delivering them with the activity stream microformat, we could turn Drupal to a full fledged, sophisticated and configurable activity stream publisher interconnectable with other social networking sites or services.

I can't wait to see Drupal, this awesome platform/core/brain, being (re)used to implement a concept as compelling as ActivityStreams.

By the way, the student proposal template suggests that we create a discussion here at drupal groups. Should I start a new thread (one that starts with [GSoC Proposal]) or should we keep all relevant discussion here?

I already have submitted my proposal (needs work) in Melagne.

Regards,
Georgios

I finally created a new

superpointer's picture

I finally created a new discussion/proposal here http://groups.drupal.org/node/140109.

we have a winner

Gábor Hojtsy's picture

The applicant and winner for this is Ádám Lippai, see http://localize.drupal.org/node/3329 - I'm really happy this is going to be done finally :)

The newest graph

drumm's picture

The newest graph implementation on Drupal.org is d3_sparkline used in project page sidebars. There’s a bit of a learning curve, especially for adding new chart elements and configuring Views the first time. Otherwise, I’m happy with it.

GSOC 2018

akmalz's picture

Hello Gábor Hojtsy,
Firstly I want to appreciate your work, I just have gone through your commits.
I am interested to work on "Expose Drupal translation activity".
Earlier I have worked on PHP and MySQL.
I would love to not only work on this but also end it .
please guide me how to apply.

email:akmal.quazi@gmail.com

Thank You

GSoC 2018

hi_ten_ja's picture

Hi Gábor Hojtsy,
I am interested to work on "Expose Drupal translation activity". I wanna not only work on for GSoC even after that I would like to contribute to it. I am very active on Drupal form almost last 4 months . I have decent knowledge of PHP and MYSQL .Since it have same Limitation and problems in 2011 , It make me more excited to work on it . I hope i can get your guidance so we can fix these limitation and problems.

Google Summer of Code 2011

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds:

Hot content this week