Details
-
New Feature
-
Resolution: Fixed
-
None
-
Critical
-
-
Introduced Task TM concept for t5memory
Description
Background
Background 1
When we are saving a segment to t5memory, we are also flushing the open t5memory memory to the disk to make sure, there is no loss of data in case t5memory crashes.
This flushing process blocks the access to the TM during the flushing, what can lead to slow answering times and a lot of disk I/O in case of high usage of big TMs.
Background 2
We need to save segments directly to a TM in translate5 during work of translators so that translators can benefit from internal fuzzy matches and can find segments they translated further up in the task also already via concordance search.
On the other hand often it is unwanted, that new segments already enter the current TM before they are fully approved in the translation process - so before the workflow is fully done.
Solution
Both backgrounds can be solved with introducing project TMs.
The process should be as follows:
- When the first TM language resource is assigned with write access to a task, an empty TM called "Project TM id '123'" is created, where '123' is the id of the current task. The project TM is assigned to the task with read and write access.
- This project TM will only be deleted, if the task is deleted. Until then it stays.
- All project TMs will be listed in the language resources to task assoc (with read and write flag checked), in the TM maintenance and in the language resources management, but with an extra filterable flag "project TM". By default filter is set, so that project TMs are not searched in TM maintenance and not listed in language resources management and language resource task assoc.
- Project TMs that are assigned to a task will be listed in the analysis (there might be matches coming from it, when redoing an analysis and the PM might want to disable it for whatever reasons)
- For every non-project-TM where the "write" flag is checked in the language resource to task assoc the task is re-imported into the TM when the workflow jumps to "workflow finished". All segments are saved to TM in the way they are saved using the "associated tasks" feature, except the timestamp will be the one last saved by user and for segments untouched in the task itself, the timestamp will be that of the pretranslation.
- The code must ensure, that we do not run into an error, if the PM deleted the project TM. And that this is logged, if he does so.
Background 1 is solved this way, because project TMs are always small and therefore flushing them to disk with every segment save does not do any harm.
Attachments
Issue Links
- has to be done after
-
TRANSLATE-4068 Flag to determine, if all or only user-changed segments are saved to TM on workflow finished
- Selected for dev