Translate Toolkit & Pootle

Tools to help you make your software local

User Tools


Differences

This shows you the differences between two versions of the page.

Link to this comparison view

developers:projects:ajax-editor [2010/08/26 11:09]
julen Filtering units by status
developers:projects:ajax-editor [2010/11/08 08:52] (current)
julen
Line 54: Line 54:
  
 {{:developers:projects:ajax_editor_filter.png?580|Filtering units by status}} {{:developers:projects:ajax_editor_filter.png?580|Filtering units by status}}
 +
 +==== Toggling Unit Information ====
 +
 +{{:developers:projects:ajax_editor_unit.png?580|Toggling alternative source language options}}
  
 ===== Ways of implementation ===== ===== Ways of implementation =====
 +
 +==== Options ====
  
 There are several implementation options in order to get the proposed editor. There are several implementation options in order to get the proposed editor.
  
-==== Custom editor from scratch ====+=== Custom editor from scratch ===
  
 One of the options is to build our custom JavaScript handling code as well as the views that deal with the ''XMLHttpRequest''s. One of the options is to build our custom JavaScript handling code as well as the views that deal with the ''XMLHttpRequest''s.
Line 69: Line 75:
     * May not be mature and stable since the beginning.     * May not be mature and stable since the beginning.
  
-==== Reuse jQuery DataTables ====+=== Reuse jQuery DataTables ===
  
 [[http://datatables.net|DataTables]] is a very flexible and customizable jQuery plugin for displaying data in tables. The data sets can be the ''[[http://www.datatables.net/examples/data_sources/dom.html|DOM]]'', [[http://www.datatables.net/examples/data_sources/js_array.html|JavaScript arrays]], [[http://www.datatables.net/examples/data_sources/ajax.html|AJAX sources]], and [[http://www.datatables.net/examples/data_sources/server_side.html|server-side scripts]]. [[http://datatables.net|DataTables]] is a very flexible and customizable jQuery plugin for displaying data in tables. The data sets can be the ''[[http://www.datatables.net/examples/data_sources/dom.html|DOM]]'', [[http://www.datatables.net/examples/data_sources/js_array.html|JavaScript arrays]], [[http://www.datatables.net/examples/data_sources/ajax.html|AJAX sources]], and [[http://www.datatables.net/examples/data_sources/server_side.html|server-side scripts]].
Line 80: Line 86:
     * It may set some limits     * It may set some limits
     * We may not need all the features offered by DataTables     * We may not need all the features offered by DataTables
 +
 +==== Phases ====
 +
 +While it is ideal to have all the stuff described here working right now, we should aim to achieve things step by step.
 +
 +  - <del>XHR based navigation and edition //(10-11 days)//</del>
 +    - <del>Retrieve store/query metadata</del>
 +      - <del>Language information: source/target codes and direction</del>
 +      - <del>Initial pager information: number of pages, page number, ...</del>
 +    - <del>Retrieve view units by ''page'' //(3 days)//</del>
 +      - <del>Retrieve previous, current, and next pages starting in page ''n''</del>
 +      * <del>We could preserve a data structure on the client side to avoid unnecessary requests.</del>
 +      * <del>We can also use templates from JavaScript. Reduces load time and bandwidth usage.</del>
 +    - <del>Retrieve edit unit by ''uid'' //(4 days)//</del>
 +      * <del>Returns an HTML snippet.</del>
 +      * <del>If page number has changed, returns the updated pager</del>
 +    - <del>Submit (''POST'') data to a unit</del>
 +      * <del>Can be a translation or a suggestion</del>
 +        * <del>Handle the situation where the captcha raises</del>
 +      * <del>Should move to the next unit</del>
 +        * <del>If it was a translation, update view unit ''i'' in the client data structure</del>
 +    - <del>Navigation</del> //(2 days)//
 +      - <del>Update units in the visible area</del>
 +        - <del>Retrieve next view units</del>
 +          * <del>Check availability on the client data structure.</del>
 +        - <del>Retrieve next edit unit</del>
 +      - <del>Update pager</del>
 +      - <del>History support</del>
 +    - <del>Use proper accesskeys for navigation and edition //(1 day)//</del>
 +  - <del>Filtering</del>
 +    - <del>Filtering by</del>
 +      - <del>Unit Status</del>
 +        - <del>All</del>
 +        - <del>Incomplete</del>
 +        - <del>Untranslated</del>
 +        - <del>Fuzzy</del>
 +        - <del>Suggestions</del>
 +      - <del>Quality Checks</del>
 +      - <del>Search</del>
 +    - <del>Show results as a list of view units</del>
 +    - <del>Update pager</del>
 +    - <del>Context information</del>
 +      - <del>Retrieve ''n'' view units for ''uid''</del>
 +  - Per-unit Customisation
 +    * Should return templatised HTML widgets like when editing units.
 +    - Alternative Source Languages
 +      - Retrieve translation for ''uid'' in ''lang'' language
 +      - Based on preferences and ''Accept-Lang''
 +      - More languages available on the project
 +    - MT backends
 +      - Enable buttons for language (if supported)
 +    - Toggle suggestions
 +      - Retrieve suggestions for unit ''uid''
 +