coremedia-globallink-connect-integration

Translation integration via GlobalLink Connect Cloud


Project maintained by CoreMedia Hosted on GitHub Pages — Theme by mattgraham

Administration


[Up] [Top]


Table of Content

  1. Prerequisites
  2. Retrieve Client Secret Key
  3. Setup of GlobalLink Connect Cloud
  4. Configuring GlobalLink Connection Settings
  5. Questions & Answers
  6. See Also

Prerequisites

Ensure you have your GCC parameters at hand:

For more details on available options and how to configure them in CoreMedia Studio read this.

Retrieve Client Secret Key

If you did not receive a client secret key as part of your Client Onboarding you can query it via REST API /api/v3/connectors which, provides a response similar to this:

{
    "status": 200,
    "message": "Connector details",
    "response_data": [
        {
            "connector_key": "8dccce941d37cc697f41724d50c487d2",
            "connector_name": "Connector 1"
        },
        {
            "connector_key": "c89bc6f7fdbba90ed4a98d5d8d8a2662",
            "connector_name": "Connector 2"
        }
    ]
}

There is some mandatory configuration required in GlobalLink Connect Cloud so that the integration between both systems runs smoothly:

Server-side configuration

Various default values are defined globally in the properties file of the gcc-workflow-server module (see gcc-workflow.properties).

The following configuration shall only be stored there so that you do not accidentally leak it to clients that have read access to the content repository:

gcc.apiKey the API key to authenticate at GlobalLink. In the content configuration it is just called apiKey (type:String).

If the API key is to be set upon system startup, you can do so by defining variable GCC_APIKEY with the appropriate value. Check with development that the required actions have been taken on the code (see Enabling External Definition of API Key). In context of a CoreMedia-hosted cloud instance, store the values in Cloud Manager Secrets and request activation through CoreMedia Cloud Support.

You can theoretically set it in the content like the parameters in the next chapter, but it is not recommended. The same applies to the parameters gcc.username and gcc.password in previous versions of this integration.

Property setting gcc.cms-retry-delay defines the delay in seconds between two attempts to retrieve data from or write data to the Content Management Server, should the Content Management Server be unavailable temporarily (optional, default: 60 type: Integer). Intervals shorter than 60 seconds or longer than a day are not allowed and will fall back to the corresponding max or min values.

If the delay is to be set upon system startup, you can do so by defining variable GCC_CMS_RETRY_DELAY with the appropriate value.

Configuration in Studio

GlobalLink Settings can be configured globally for all sites or specifically for some site. Site-specific settings override global settings except for dayOffsetForDueDate. The Settings can be located in the following folders:

After you have created your GlobalLink settings for example at /Settings/Options/Settings/Translation Services/GlobalLink you need to configure your personal GlobalLink parameters. Open the Settings in CoreMedia Studio and add a struct named globalLink. Within that struct the following parameters must/can be specified:

Be aware that the dayOffsetForDueDate can only be configured in the global Settings location.

The following parameters of the struct should be handled carefully and only after consulting Translations.com. They affect all new and running workflows, and as such they can instantly cause high loads on GlobalLink’s servers or unexpectedly long update intervals. Intervals shorter than 60 seconds or longer than a day are not allowed and will fall back to the corresponding max or min values. The interval is also limited to be not longer than one day because if you accidentally set it to a very big value, there would be no turning back. You would have to wait until it is expired.

You can also define parameters for testing with the mock facade (see Mock Facade Documentation).

⚠️ Make sure to restrict read and write rights to the Settings content to those user groups that actually need access. Do not publish the Settings and follow the recommendations from the previous chapter. This will reduce the risk of accidentally leaking sensitive information.

Questions & Answers

What to do when deriving a new site?

Short: Enable Target Language at GCC, Configure Language Mapping

When you derive a new site and want to propagate translations to this site via GlobalLink Translation Workflow, you need to ensure that your target locale is supported by GlobalLink and that (if required) GlobalLink knows how to represent the CMS locale tag (represented as IETF BCP 47 language tag) within GlobalLink Project Director.

You can validate the configuration by retrieving the Connectors Config via REST. It will contain a section supported_locales where pd_locale maps to the locale representation within Project Director and connector_locale should be equal to your derived site locale as IETF BCP 47 language tag.

You will find the language tags in /Settings/Options/Settings/LocaleSettings in your CMS.

Why does my workflow show “Status: Completed”, but the content is not translated, and it is still in the list of running workflows?

Short: Ask GlobalLink to check task states and to complete all tasks of the submission.

In GlobalLink the state can be handled separately for the submission, and the actual translation tasks. A submission can be accidentally marked as completed by the translator while the actual tasks might not be completed yet.

The workflow in CoreMedia Studio requires the tasks to be completed, so that it can download the translated content of a single task. Other tasks might still be in translation. Only if all tasks in GlobalLink are completed the workflow in CoreMedia Studio can finish.

This only happened rarely in the past, but if you are wondering why a workflow seems to hang forever, then ask the GlobalLink support to check the states of the individual tasks of the submission and complete them if possible.

As a system administrator you can enable DEBUG logging for com.coremedia.labs.translation.gcc in the workflow-server application. You should find an entry like Checked for update of submission 1669718090545 (PD ID [45360]) in state COMPLETED with completed locales [[]]. which indicates that tasks at GlobalLink that are represented by completed locales have not been completed properly.

See Also


[Up] [Top]