Bug 720851 - Implement "Save as Approved", "Save as NeedReview (fuzzy)", and Cancel button and keyboard shortcurt
Implement "Save as Approved", "Save as NeedReview (fuzzy)", and Cancel button...
Status: CLOSED CURRENTRELEASE
Product: Zanata
Classification: Community
Component: Component-UI (Show other bugs)
1.3
Unspecified Unspecified
medium Severity medium
: Sprint-25
: ---
Assigned To: James Ni
Ding-Yi Chen
:
Depends On:
Blocks: Zanata-1.4
  Show dependency treegraph
 
Reported: 2011-07-12 20:58 EDT by Ding-Yi Chen
Modified: 2011-10-28 03:05 EDT (History)
2 users (show)

See Also:
Fixed In Version: 1.4
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2011-10-28 03:05:38 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Ding-Yi Chen 2011-07-12 20:58:13 EDT
Description of problem:
The buttons for "copy src->trans" and fuzzy tickboxs should be moved to their on column in the middle for easy access and not occupy the precious editing space.

Version-Release number of selected component (if applicable):
1.4-SNAPSHOT


Steps to Reproduce:
0. Assume project P is imported, and the user join at least one language group.
1. Click projects-> project P
2. Click translate
3. Click one of the documents

Actual result:
Copy trans and fuzzy buttons are under the cell editor.

Expected results:
Copy trans and fuzzy buttons are in their own column, between  the cell editor.

Additional info:
Comment 1 James Ni 2011-07-18 22:48:13 EDT
I have move copy src to trans button and fuzzy tickbox to middle column. 

I think we need to define a better logic for the Fuzzy button in middle column, also 'copy src to trans button'. I copy some issues i described from my previous email to here. 

1) Click fuzzy button and save the changes directly when editor is not opened?
  current implementation: After you click the fuzzy button in the middle column and editor is not opened, the status in rowValue is changed, then the colour of this row is changed, but you have to open the translation editor to save it, otherwise the changes will not be saved.

2) Save the empty target with fuzzy status?
current implementation: If you click the fuzzy button and save it, even the content is empty, the status won't be changed to "New", the status still be saved to "Fuzzy".

The reason i do this is i don't want to make user surprised: If we change status to "New" when content is empty, then when translator click the fuzzy button to mark "Fuzzy" and save it, the status will be changed to "New" and mark will be removed in fuzzy checkbox. It could make people confused. So i have to keep the status they choose and not to change it base on the content of target cell. What is you suggestion for this?      

3) Transfer fuzzy status to new ?
current implementation: If you click the fuzzy button to remove the fuzzy mark, the status will be changed to "New"

There is drawback for this implementation: for "Approved" row, if i click fuzzy button twice, then the status actually change from "Approved" to "New".
Comment 2 Ding-Yi Chen 2011-07-19 21:10:02 EDT
Regarding fuzzy handling logic, IMHO:
1. When every user click the fuzzy icon, Zanata toggles the fuzzy state and save that state, regardless whether user has touch the editor.
2. If a user start typing in editor, and he/she has not touch the fuzzy icon in same row, then the state is set to "Approved".

For example: (I will use the following as test cases)
1) a user set fuzzy "on" in row 1, then start translating row 1, the fuzzy of row 1 should set as "on"
2) a user set fuzzy "on" in row 1, but didn't touch editor row 1, 
the fuzzy of row 1 should set as "on"

3) a user set fuzzy "off" in row 1, then start translating row 1,the fuzzy of row 1 should set as "off"
4) a user set fuzzy "off" in row 1, but didn't touch editor row 1, 
the fuzzy of row 1 should set as "off"

5) Current fuzzy is "on", a user start typing row 1, the fuzzy of row 1 is set as "off"
6) Current fuzzy is "off", a user start typing row 1, the fuzzy of row 1 is set as "off"

7) Current fuzzy is "on", a user start typing row 1, but eventually cancel the editing, the fuzzy is set as "on".
8) Current fuzzy is "on", a user start typing row 1, but eventually cancel the 
editing, the fuzzy is set as "off".

9) a user start translating row 1, then set fuzzy as "on", then continue editing row 1, the fuzzy is "on"
10) a user start translating row 1, then set fuzzy as "off", then continue editing row 1, the fuzzy is "off"

11) A user set fuzzy "on" row 1, the start editing on row 2, the fuzzy on row 1 is "on", but fuzzy row 2 is "off".
12) A user set fuzzy "off" row 1, the start editing on row 2, the fuzzy on row 1 is "off", but fuzzy row 2 is "off".


So answering the issues you raised:
1. I think you still need to save the fuzzy state in this situation.
2. Sounds Ok
3. IMHO: you should just change between "Approved" and "Need Review",
   unless the editor is empyy.


Two more concerns:
1. I suppose the reason for moving the button to the center is having more editing space for translators. (Yes, even iconized save and cancel buttons occupy space that could be use for editing). So I do suggest to put the save button in the middle. Perhaps we can check with Sean.

2. For copy button: how about use icons for copy, and make the tooltip as "Copy the source document as translation"
Comment 3 Sean Flanigan 2011-07-26 03:51:57 EDT
Just to restate and/or contradict what Dean said:

Copy button should use an icon, not text.  I would recommend the double right-arrow icon which looks like ">>" (or similar), with a decent tooltip, eg "Copy message from source language".

The checkbox should not have a label, just a tooltip.  (And if the checkbox is ticked, the message is approved, otherwise not.  In other words, we should change from a Fuzzy checkbox to an Approved checkbox.  If we use tick to mean Approved, the need for a label or tooltip is much reduced, because tick normally does mean approved/correct.)   We don't need to tick the Approved box until we're actually saving the change, which should make implementation a bit easier, because we won't need to detect every key event.

To put it another way: every time we save, we just save it with ContentState=Approved.  If the user wants to untick the Approved box afterwards, that's fine, so long as we save the new ContentState.

BTW, it's not correct to save an empty translation as fuzzy.  I think this will be easier once we get rid of Fuzzy and use Approved.  If the user tries to tick (Approve) an empty cell, just ignore it.


Also, please make sure the middle column has a dividing line between rows, just like the left and right columns.  This helps to make the connection between source and target messages a bit clearer.

The save button probably belongs to a different bugzilla, but please remove the cancel button entirely, and move the Save button to a new table column on the right.  This should ensure that it wastes a minimum of horizontal pixels.  (The new Save column probably doesn't need horizontal lines to divide between rows.)

Make sure the Copy and Save buttons are bare icons with tooltips but no embedded text; please don't put them inside grey boxes.

We might move the save icon at a later point, but putting it its own column will do for now.
Comment 4 Sean Flanigan 2011-08-11 02:25:36 EDT
All these buttons now use icons instead of text.  But some of the other details have changed.  The "Save" icon is now attached to the RHS of each source cell, fuzzy checkbox is gone, replaced by a "Save as Fuzzy" (flag) button.

Please check that Save as Approved, Save as Fuzzy, and Copy work in a logical, usable way.  Save as Approved should move editor to next row, Save as Fuzzy should keep current editor open, Copy should open the corresponding editor and let the user modify the text before saving.
Comment 5 Ding-Yi Chen 2011-08-11 20:03:32 EDT
Since the requirement  change to: Buttons and keyboard short cut for 
"Save as Approved", "Save as NeedReview" and "Cancel"
Comment 6 Ding-Yi Chen 2011-08-11 21:30:42 EDT
Current Keyboard shortcut:

Save as Approved: Ctrl-Enter
Save as NeedReview: Ctrl-S
Cancel: None at the moment.

Test Objective:
1. If user update the cell with new text
a. Ensure "Save as Approved" and "Save as NeedReview" save the text and approval status
b. Ensure "Cancel" will revert the changes.

2. If user clear the cell
a. Ensure "Save as Approved" and "Save as NeedReview" save the text and approval status
b. Ensure "Cancel" will revert the changes.

Save triggered from moving focus is addressed at bug 720853

Precondition: 
Row 1: Empty
Row 2: NeedReview, with text "yo"
Row 3: Approved, with text "yo"
Row 4: Empty
Row 5: NeedReview, with text "yo"
Row 6: Approved, with text "yo"
Row 7: Empty
Row 8: NeedReview, with text "yo"
Row 9: Approved, with text "yo"
Row 10: Empty
Row 11: NeedReview, with text "yo"
Row 12: Approved, with text "yo"
Row 13: Empty
Row 14: NeedReview, with text "yo"
Row 15: Approved, with text "yo"


On Row1: Type "hi", Save as Approved.
On Row2: Type "hi", Save as Approved.
On Row3: Type "hi", Save as Approved.
On Row4: Type "hi", Save as NeedReview.
On Row5: Type "hi", Save as NeedReview.
On Row6: Type "hi", Save as NeedReview.
On Row7: Clear text, Save as Approved.
On Row8: Clear text, Save as Approved.
On Row9: Clear text, Save as Approved.
On Row10: Clear text, Save as NeedReview.
On Row11: Clear text, Save as NeedReview.
On Row12: Clear text, Save as NeedReview.

On Row13: Type "hi", Cancel.
On Row14: Type "hi", Cancel.
On Row15: Type "hi", Cancel.

Exit the document

Validation:
Reload the document
On Row1: "hi", Approved.
On Row2: "hi", Approved.
On Row3: "hi", Approved.
On Row4: "hi", NeedReview.
On Row5: "hi", NeedReview.
On Row6: "hi", NeedReview.
On Row7: empty, New.
On Row8: empty, New.
On Row9: empty, New.
On Row10: empty, New.
On Row11: empty, New.
On Row12: empty, New.
On Row13: empty, New.
On Row14: "yo", NeedReview.
On Row15: "yo", Approved.
Comment 7 Ding-Yi Chen 2011-09-01 00:50:30 EDT
VERIFIED with Zanata version 1.4-SNAPSHOT (20110824-1328)

Note You need to log in before you can comment on or make changes to this bug.