This shows you the differences between two versions of the page.
|
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'' | ||
| + | |||