Skip to content
This repository has been archived by the owner on Mar 4, 2019. It is now read-only.
Dashamir Hoxha edited this page Jul 21, 2013 · 2 revisions

Tasks

1 Implementation Plan

  1. [X] Make voting work (without permissions, user setting, admin config, etc.)
  2. [X] Install a test/demo site.
  3. [X] Add admin config, user settings, permissions, permission checking, etc.
  4. [+] Improve the integration with facebook (for voting).
  5. [X] Put it online.
  6. [+] Improve the email interface (for voting).
  7. [ ] Add a mobile interface (or theme).
  8. [ ] Build the pages for admin dashboard, reports and stats.
  9. [ ] Add an API for external applications.
  10. [ ] Integration with google+, twitter, diaspora, etc.
  11. [ ] Android app that can be used for voting.

2 Tasks

2.1 UI

2.1.1 List of string–>translations

  • For each l10n string, display also the corresponding translations (best suggestions) in auxiliary (helper) languages. For example, besides the original l10n string (in English), the French and German translations may be displayed as well, if these are selected on the display options of the filter.
  • For each suggestion, add a Like (or +1) button. When it is clicked, the vote is submitted through an AJAX call. The voted (or liked, or +1’d) suggestion should be visibly distinguished from the rest.
  • For each suggestion add a Flag (or -1) button. A suggestion is flagged when it is totally irrelevant to the string, or is spam, or is abusive, etc. In general, when a suggestion is flagged, it is something that should be removed. When flagging a suggestion, a reason/explanation may be given as well. When a suggestion is flagged, it has to be reviwed and removed by an admin/moderator. The admin may also take some action on the user that submitted the offending suggestion (or on the user that submitted the flag, if the suggestion is ok).
  • Voting mode can be ‘single’ or ‘multiple’, and it can be selected by admin (during installation). On mode ‘single’ at most one vote per string is allowed. On mode ‘multiple’ at most one vote for translation is allowed (user can approve more than one translation for the same string).
  • For the ‘multiple’ mode, an Unlike button should be available as well (in order to change the voting at any time).

2.2 API

Build an API/web-service that totally separates the database from the interface. Everything should be done through the API/web-service.

2.2.1 XML-RPC interface

Or some other web-service (API) interface.

2.2.2 Split the module l10n_feedback into server and client

These two should communicate only through the API/web-service.

2.3 Integration with Facebook

2.3.1 For each translation review add a button for posting it on FB as a poll.

2.3.2 When a FB user votes or leaves a comment, update his status.

2.4 Misc

2.4.1 Try to use Drupal7 entities for strings, translations, etc.

This can improve the integration with the other Drupal modules.

2.4.2 TODO Separate the display interface from the database logic with a web-server API.

This web-server API will also make possible the development of an android app, etc

2.4.3 TODO Publish Disqus comments to twitter account @l10n_sq

2.4.4 TODO Publish new translations to twitter, facebook, linkedin, google+, etc.

2.4.5 Add in l10n.org.al a page for each project which can be liked, +1-d, etc.

Update: A content type for projects has been created, but more work needs to be done in order to make it usable.

2.4.6 Use modules: views, pannels, views_slideshow, etc.

Try also: Organic Groups (for project pages), Display Suite, Entity View Attach, Entity Cache, Features, etc.

2.4.7 TODO Publish/export incremental dumps of the database

Maybe it should be a synch API which allows different instances of B-Translator to synchronize with each-other, according to the rules defined and agreed by the administrators.

2.4.8 Context information about the strings

  • Internal link to translations into other auxiliary languages.
  • External link to google.com, which tries to get more details about the context in which a string is used.
  • External link to open-trans.eu
  • Other external links (related to the projects to which the string appears)
    • transvision.mozfr.org
  • Links to any related tearms from vocabulary.

2.4.9 Improve the look of number of votes.

2.4.10 TODO Try to replace Disqus with something better (maybe LiveFyre).

2.4.11 Send out HTML notification emails.

Replace one-time-login with one-time-submittion on the notification emails

2.4.12 Upgrade the server on rackspace

From 512MB RAM and 20GB HDD, to 1024MB RAM and 40GB HDD. Need to find some funds or sponsors, to support this. Note: Installation of NGINX has improved the performance for the time being, so this can be postponed.

2.4.13 POSTPONED Start with simple tests (l10n_feedback.test)

Status: Already started, but it needs some work to define more tests, and actually it is not so useful, or important, or urgent. Probably it can become more important when there will be more than one developers.