Bug 703806 - RFE: Ability to manage set of files, with Inter-file find/replace function
Summary: RFE: Ability to manage set of files, with Inter-file find/replace function
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Zanata
Classification: Retired
Component: Usability
Version: unspecified
Hardware: Unspecified
OS: Linux
unspecified
medium
Target Milestone: ---
: 1.6-beta-1
Assignee: David Mason
QA Contact: Ding-Yi Chen
URL:
Whiteboard:
Depends On: 822366
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-05-11 10:08 UTC by Yuko Katabami
Modified: 2012-06-22 00:58 UTC (History)
5 users (show)

Fixed In Version: 1.6-beta-1
Doc Type: Bug Fix
Doc Text:
Cause Translation projects contain a number of distinct files with source material. Consequence Applying the same change across a number of files requires opening each file, finding the item that needs to be changed, and applying the change. Find and Replace works within a file, but not across files. Change A "Find and Replace" feature that works across all the files in a project has been implemented. Result Users can now apply a change across all the files in the project from a single point in the user interface. - Searches may be case sensitive or case insensitive - Searches can look for a search phrase in translations, source strings or both. - Matching text flows are shown and can be selected by clicking anywhere on a row. - Checkboxes are present to select or de-select all matching text flows in a document or project. - When a text flow is selected, a preview is shown in the place of the translation. - Previews are a text diff between the current translation string, and the translation string that will be present if the replace button is pressed. - Replacements are performed by clicking the 'Replace' button. - Whenever a replacement is made, a log message is shown beneath the search results, with an associated 'undo' link that will reverse the replacement. - Replacement and undo will not be applied to text flows that have been concurrently changed. This is to prevent overwriting of updated translations with old translations.
Story Points: 20
Clone Of:
Environment:
Last Closed: 2012-06-22 00:58:19 UTC
Embargoed:


Attachments (Terms of Use)

Description Yuko Katabami 2011-05-11 10:08:18 UTC
User-Agent:       Mozilla/5.0 (X11; U; Linux i686; ja; rv:1.9.2.11) Gecko/20101026 Red Hat/3.6-2.el5 Firefox/3.6.11

We translators are usually assigned to work on one book, which is divided into number of files.
When we proofread, we have to check throughout entire document and fix problems.
When we find one problem, that can be spread all over the book in different files.
With KBabel, we can do inter-file find/replace and that is very useful and time-saving.
Would it be possible to have something like KBabel manager where we can manage all files for one particular document and to use find / replace throughout the whole document?

Reproducible: Always

Comment 1 Sean Flanigan 2011-09-07 04:33:24 UTC
Assigning to Scrum product owner for prioritisation.

Comment 2 David Mason 2012-04-20 00:25:15 UTC
Implementation so far (for 1.6.0-alpha):

 - link in editor to open project-wide search page
 - entering search string shows all text flows that contain the given search string (exact match*) in one or more targets
 - search term is highlighted** in the matching strings
 - 'case sensitive' selector switches between case-sensitive and case-insensitive.
 - document names link to the editor
 - searches are bookmarkable***
 - browser history can be used to go back through previous searches, or return to a search after jumping to the editor with a document link
 - replacement box to enter replacement string****
 - 'replace' button for each text flow will replace all occurrences of the search string within the text flow target (including plural targets) with the given replacement string
 - 'replace all selected' button applies same 'replace' operation to every textflow that has its checkbox checked*****



Known issues:

* leading and trailing whitespace in the query are ignored for search (not ignored for highlighting or replace). This will be fixed in the next release after 1.6.0-alpha-1.

** highlighting is always case insensitive at this stage

*** replacement term is not yet included in bookmark

**** replacement with an empty string is possible with no warnings. A warning with the option to cancel will be added.

***** a shortcut to select all text flows for a document has been implemented and will be in the next release after 1.6.0-alpha-1.

Comment 3 Joshua Wulf 2012-04-20 07:32:34 UTC
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
Cause
    Translation projects contain a number of distinct files with source material.
Consequence
    Applying the same change across a number of files requires opening each file, finding the item that needs to be changed, and applying the change. Find and Replace works within a file, but not across files.
Change
    A "Find and Replace" feature that works across all the files in a project has been implemented.
Result
   Users can now apply a change across all the files in the project from a single point in the user interface. Please see the bug report for more details on the state of this feature in the alpha release.

Comment 4 David Mason 2012-05-17 07:45:07 UTC
All but preview feature have been implemented. Some UI features have yet to be completed.

Comment 5 David Mason 2012-06-01 02:40:24 UTC
Completed with preview and undo feature for 1.6 release candidate.

See:
https://github.com/zanata/zanata/commits/search-replace

Comment 6 Ding-Yi Chen 2012-06-06 03:40:29 UTC
VERIFIED with Zanata version 1.6.1-SNAPSHOT (20120606-0019).

Comment 7 David Mason 2012-06-06 04:14:06 UTC
    Technical note updated. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    Diffed Contents:
@@ -5,4 +5,14 @@
 Change
     A "Find and Replace" feature that works across all the files in a project has been implemented.
 Result
-   Users can now apply a change across all the files in the project from a single point in the user interface. Please see the bug report for more details on the state of this feature in the alpha release.+   Users can now apply a change across all the files in the project from a single point in the user interface.
+
+ - Searches may be case sensitive or case insensitive
+ - Searches can look for a search phrase in translations, source strings or both.
+ - Matching text flows are shown and can be selected by clicking anywhere on a row.
+ - Checkboxes are present to select or de-select all matching text flows in a document or project.
+ - When a text flow is selected, a preview is shown in the place of the translation.
+ - Previews are a text diff between the current translation string, and the translation string that will be present if the replace button is pressed.
+ - Replacements are performed by clicking the 'Replace' button.
+ - Whenever a replacement is made, a log message is shown beneath the search results, with an associated 'undo' link that will reverse the replacement.
+ - Replacement and undo will not be applied to text flows that have been concurrently changed. This is to prevent overwriting of updated translations with old translations.


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