Difference between revisions of "Memsource"

From Lingoport Wiki
Jump to: navigation, search
(Configure and Enable Memsource Jenkins Jobs)
(Memsource Configuration)
 
(One intermediate revision by the same user not shown)
Line 36: Line 36:
 
===Configure and Enable Memsource Jenkins Jobs===
 
===Configure and Enable Memsource Jenkins Jobs===
 
<ol>
 
<ol>
<li>Enable the MemsourceCallback Jenkins job and modify the token value or keep the default.</li>
+
<li>Enable the <b>MemsourceCallback</b> Jenkins job and modify the token value or keep the default.</li>
<li>Enable the MemsourceCheckCallback Jenkins job.</li>
+
<li>Enable the <b>MemsourceCheckCallback</b> Jenkins job.</li>
<li>Enable the MemsourceSend Jenkins job.</li>
+
<li>Enable the <b>MemsourceSend</b> Jenkins job.</li>
 
<li>Modify the Jenkins job <b>LocalVendorDownload</b> and check <b>Build after other projects are built</b> and then in <b>Projects to watch</b>, type in <b>MemsourceCallback</b>.</li>
 
<li>Modify the Jenkins job <b>LocalVendorDownload</b> and check <b>Build after other projects are built</b> and then in <b>Projects to watch</b>, type in <b>MemsourceCallback</b>.</li>
 
</ol>
 
</ol>
Line 64: Line 64:
 
#
 
#
 
# You can test your callback configuration using curl on the command line:
 
# You can test your callback configuration using curl on the command line:
# curl http://<your_machine>/jenkins/generic-webhook-trigger/invoke?token=1skLO6zTb
+
# curl http://<your_machine>/jenkins/generic-webhook-trigger/invoke?token=<the_token_configured_in_MemsourceCallback>
 
# A successful curl command looks similar to:
 
# A successful curl command looks similar to:
 
# {"jobs":{"MemsourceCallback":{"regexpFilterExpression":"",
 
# {"jobs":{"MemsourceCallback":{"regexpFilterExpression":"",

Latest revision as of 21:22, 17 June 2020

Link LRM and Memsource

To begin working with Memsource, create or use an existing Jenkins project configured with LRM.

  1. Configure the file <HOME>/Lingoport_Data/L10nStreamlining/config/config_memsource_tofrom.properties:
    • configure memsource.out.to.translation.dir
    • configure memsource.in.from.translation.dir
  2. Create a Memsource Local Vendor in Jenkins:
    • Select Manage Jenkins->Configure System
    • Scroll down to the LRM L10n Vendor Setup section and select Add Local Vendor
    • Provide a unique vendor name
    • Select Group or Project; if group, select group name from drop down list
    • Configure Prep Kit Files Directory; this must match memsource.out.to.translation.dir in config_memsource_tofrom.properties
    • Configure Imported Files Directory; this must match memsource.in.from.translation.dir in config_memsource_tofrom.properties
    • Save
  3. Configure your Jenkins job to use Memsource Local Vendor:
    • Select the Jenkins job you want to use Memsource
    • Click Configure
    • Scroll down to the L10n Vendor section of your LRM configuration
    • Choose Group or Project; if project, click Local Vendor and then select the Local Vendor Name from the list
    • Save

Configure and Enable Memsource Jenkins Jobs

  1. Enable the MemsourceCallback Jenkins job and modify the token value or keep the default.
  2. Enable the MemsourceCheckCallback Jenkins job.
  3. Enable the MemsourceSend Jenkins job.
  4. Modify the Jenkins job LocalVendorDownload and check Build after other projects are built and then in Projects to watch, type in MemsourceCallback.

Memsource Configuration

Configure the Memsource settings in the config_memsource_vendor.properties (which can be specified at the group or project config level).

#
# Contains configuration for memsource
#
# To configure the token, follow these instructions:
# https://help.memsource.com/hc/en-us/articles/115003461011-How-to-Setup-OAuth-Authentication-in-Memsource
#
# Run the following command to list the currently available template ids:
# (note that template ids can support any target locale, not just the listed ones)
# java -jar lingoport-memsource-cli.jar --list-templates -t <token>
#
# Make sure to configure the callback for your machine
#
memsource.api.token=
memsource.api.project.template.id=
memsource.api.source.locale=en
memsource.api.callbackURL=http://<your_machine>/jenkins/generic-webhook-trigger/invoke?token=<the_token_configured_in_MemsourceCallback>
#
# You can test your callback configuration using curl on the command line:
#     curl http://<your_machine>/jenkins/generic-webhook-trigger/invoke?token=<the_token_configured_in_MemsourceCallback>
# A successful curl command looks similar to:
#     {"jobs":{"MemsourceCallback":{"regexpFilterExpression":"",
#                                    "triggered":true,
#                                    "resolvedVariables: {"memsourceProjectId":""},
#                                    "regexpFilterText":"",
#                                    "id":2180,
#                                    "url":"queue/item/2180/"}},
#        "message":"Triggered jobs."}
#

Note: a Memsource Server will be calling back to a Jenkins job on your machine as files are translated, so your machine will need to grant access to the Memsource Server. Since Memsource has many Servers, you will need to grant access to all of them. Click here to see the current list ip addresses of all Memsource Servers.

Memsource Locale Mapping

Configure config_memsource_locale_mapping.properties (which can be specified at the group or project config level).
This file maps locales from LRM to Memsource.

# 
#Locale mapping language only locales - Locales should be in the java format (_)
# This is the default mapping. For your community, you'll need to edit this file
# and place it either at the group level or the project level. 
#
aa=aa
ab=ab
ach=ach
af=af
af_na=af_na
...

LRM Resource Types Supported by Memsource

Memsource supports the following LRM resource types:

  • .html, .htm
  • .json
  • .po
  • .properties
  • .resx
  • .rc
  • .strings
  • strings.xml
  • .txt
  • .yaml, .yml


Memsource does not support the following LRM resource types:

  • .rjs
  • .rxml
  • .msg