Overview
TBM allows to synchronize TBM and LC projects in a manual and (semi) automatic way, by leveraging WebHooks functionality provided by Language Cloud platform. This article contains 2 sections covering these types of synchronization.
Manual syncing
If you have a project in TBM which is already linked with LC project, you can select it, and then click RWS - RWS Language Cloud - Sync project menu item. TBM will retrieve all tasks from a linked LC project, find matching translation jobs and assignments, and then display this data in user-friendly way using modal dialog, which looks like this:
Take a note that only tasks which are linked with TBM service types will be shown in this window. This means that before using syncing functionality you have to open Reference Data - Service types, and confirm that necessary service types are linked with LC task types.
List displayed in the main area contains records corresponding to each task-file-language combination. It allows to create separate jobs and assignments in TBM for individual files (to split files/assignments between different vendors). In the Assigned users column you can see user names who are currently assigned to LC tasks. TBM assignment tasks column contains blocks with information about tasks found in a TBM project. If this cell is empty in any row, then it means that corresponding task is not found (or does not exist).
Target action column allows to select one of the following actions:
- Do nothing. Record will be skipped (no actions will be performed for this LC task)
- Create new job and assignment in TBM. If matching job and assignment do not exist in TBM, they will be automatically created. TBM will import analysis and try to find matching vendor. If vendor is found, TBM will apply their prices and generate purchase order. If LC task status is processing, then assignment will also be switched to In work status.
- Link with existing task. If you have matching task in TBM but it is not linked with LC task, you can drag it from the right panel to the TBM assignment tasks column and establish this link.
- Assign in LC. If TBM assignment has different vendor than LC task, then you can update LC project by assigning different user based in a vendor selected in TBM.
- Assign in TBM. If TBM assignment has different vendor than LC task, then you can update TBM assignment by importing user selected in an LC task. TBM will apply new vendor prices and re-generate purchase order (older one will be deleted).
- Reload analysis data. If total wordcount differs from LC task total wordcount, then TBM will offer to re-load analysis.
If right panel displays any unlinked tasks, you can manually drag and drop them to the left table, or use Try to link automatically... button, so TBM attempts to find possible matching LC task automatically.
If Target action column defines job creation or analysis re-importing, please check Default analysis import settings field in the Options area at the bottom, because this set of settings will be used to automatically import data into jobs and assignments (analysis import dialog won't be displayed).
When you're ready, click Apply to go through the table and perform defined tasks. When operation is finished, TBM will reload data from the cloud and you will see updated information in this dialog. If everything is ok, you can close this window, otherwise you can specify more actions to perform and click Apply again.
Syncing using WebHooks
Language Cloud allows to send specific POST request to external application with a task is created or completed. You can configure it using Integrations page in your Language Cloud instance. See details here: https://languagecloud.sdl.com/lc/api-docs/5cc9374300b99-webhooks.
Default API endpoint which you can use to configure TBM to accept WebHooks from LC: https://Your.Instance/api/lc/processwebhook/tbm, where tbm at the end is the name of your tenant. If you use multi-tenancy, then please replace tbm with your tenant name. By configuring this URL using Integrations page of your LC instance, you enable auto-processing of incoming events in your TBM instance.
Currently, TBM supports only 2 types of events: PROJECT.TASK.CREATED and PROJECT.TASK.COMPLETED.