Uploaded image for project: 'translate5'
  1. translate5
  2. TRANSLATE-1489

Export task as excel and be able to reimport it

    XMLWordPrintable

Details

    • New Feature
    • Resolution: Fixed
    • translate5 - 3.2.3
    • None
    • None

    Description

      General idea

      In some cases people in a review process exist, that should not have to learn a new application and login to some new web interface - no matter how simple it might be to use. For example for offline usage.

      For these people it should be possible to simply receive an Excel, edit the segments there and send the Excel back

      Concept from the user perspective / experience

      Option to export task as excel

      • An Excel-Export option is added to the export options of a task
      • The export can be triggered by admin, pm and API users
      • The API also supports the export

      Option to import an Excel-export again

      • On tasks where an excel is exported, a button "Re-Import Excel-Export" is added in column task actions.
      • On click a pop up with a file upload option appears
      • On uploading an Excel translate5 checks
        • if the task-GUID mentioned in the Excel matches a task in translate5
        • if the number of segments in the task matches the number of segments in the Excel
        • if all segments in the Excel contain content
      • If one of these checks fails, the Excel re-import fails and in the upload pop up the user is informed about the reasons.
      • On uploading an Excel translate5 also checks, if there are segments with an invalid tag structure 
        • Only opening or closing tags of a paired tag exist
        • Opening tag of a paired tag positioned after its closing counterpart
      • If this is the case the import still proceeds, but the segment numbers are communicated to the PM user, that does the import. These segments have to be corrected inside translate5, because otherwise the xliff export from translate5 or the xliff import to Across may fail.
      • Other tag error (missing tags or duplicated tags that do not lead to an invalid structure) are not deteced (this could be added with additional effort)

      Handling of internal markup on re-import, that existed previous to the Excel export

      Remarc Stephan:
      it is not possible to pass any of the internal mark-up through the the process "export to excel and reimport it", except the internal tags, that comes from code mark-up in the original document.

      TrackChanges

      TrackChanges markup that existed previous to the Excel export is deleted (it could be kept with additional implementation effort).
      New TrackChanges markup is added, that reflects the edits of the user in Excel. As user for the edits "External editing in Excel" is shown and as date the import date of the Excel.

      MQM tags

      MQM tags that existed previous to the Excel export are remerged into the segments (see above)

      Terminology markup

      Terminology markup is readded and will also mark terms, that may have been added by the external editor.

      Structure of the Excel

      Please also see the attached example file.

      The excel contains 2 sheets:

      • "review job"
      • "meta data"

      The sheet "review job" contains 4 columns

      • Nr. (it contains the number of the segment, equivilant to the number in translate5)
      • Source (contains the source segment)
      • Target (contains the target segment)
      • Comments by Excel editor (the editor of the Excel can add comments here, that will be imported as translate5 comments)

       Regarding the content of source and target columns:

      • internal tags are shown as text in the form <1> or </1>
        • if the user deletes or changes these tags partially or completely, this will lead to tag errors in translate5
      • all other internal markup from translate5 is deleted
        • terminology markup
        • MQM tags
        • TrackChanges markup from previous edits

      The sheet "meta data" contains the following information

      • taskGuid (used for re-import to let translate5 know, to which task the Excel belongs)
      • taskName (for information purposes)
      • e-mail of the responsible PM with the note that the finished Excel is to be sent to him for reimport.
        This way, the PM can take care if problems arise during reimport due to the easily changeable Excel format

      Implementation concept

      Ex- and import in the GUI

      • An option for exporting the task as excel is added to the list of export options
        • On clicking the export option, a file download starts
      • If a Task is "exported as Excel", the task is locked for editing and has a now Action "reimport Excel"
        • On clicking the re-import button, a window pops up, that allows to select the file and start the re-import
      • Export and Re-Import can be triggered by a PM, admin or API user

       Structure of exported Excel file

      • Segment number, source language and target language are exported into one column of the Excel each. The columns are set to a reasonable width and the height for each line is set so that the complete content of the segments of the line is readable.
      • Tags are displayed in simplified markup notation (that is, <1> </ 1> or <2 />)
      • Tag protection inside the Excel can not be guaranteed. "Broken" tags remain broken after reimport and are displayed as normal text (so e.g. <1> instead of an icon). This means, after the reimport of the Excel a tag check is necessary and a server-side tag check needs to be implemented.
      • TrackChanges markup, term markup or MQM markup is NOT exported, as it is not possible to support that in Excel with any reasonable effort. The content is exported in the latest editing stage, meaning as if all changes would have been accepted.
      • The excel contains 2 sheets. For sheets contents see above.

        Functionality on re-import

      • When reimporting, the difference between Export state and re-import state is determined by diff algorithm and then TrackChanges markers are placed. This also applies to (deleted) tags and broken tags on the side of the Excel.
      • TrackChanges markup of the editing step previous to the Excel export is explicitly NOT kept, meaning the TrackChanges markup that has been deleted on Excel export is NOT remerged into the imported segments. Therefore only the changes between the editing in the Excel and the last stage before the excel export can be seen with TrackChanges.
      • Terminology markup is readded by sending the segments again to the termTagger.
      • Contents in the comment column are added as a comment of the corresponding segment with the date/time of the import time and the pm user as a user. Before the comment the string "Comment from external editing in Excel: " is added.

      Error handling on re-import

      The flexible Excel structure may lead to errors on reimport. Therefore the following checks are implemented on re-import:

      • Is the number of lines (segments) the same as in the task
      • Do all fields contain content, that contain content in the task
      • Do both excel sheets exist
      • Is the taskGuid specified and does exist in translate5
        In such an error case, an error message is output and the excel can not be imported.

      The PM can again re-export the excel again in the initial state and manually try to merge both.

      Still this very primitive check can not guarantee, that there are no other problems, e.g. that a user deletes all content from a segment and replaces it with something meaningless by accident.

      In addition a check for an invalid tag structure is implemented. It checks, if there are segments with an invalid tag structure (opening or closing tag of a paired tag is missing; opening tag before closing tag). If yes, the import still proceeds, but the segment numbers of the incorrect segments are shown to the PM user in an error message. If there are missing tags that do not lead to an invalid tag structure, this is not detected (could be done with additional effort).

      Attachments

        Activity

          People

            Stephan Stephan Bergmann
            marcmittag Marc Mittag [Administrator]
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: