Difference between revisions of "On Boarding Overview"

From Lingoport Wiki
Jump to: navigation, search
(Introduction)
(Introduction)
Line 1: Line 1:
 
== Introduction ==
 
== Introduction ==
'''[[Terms_and_Definitions#onboarding|On-boarding]]''' a Lingoport project involves:
+
When a Lingoport project is '''[[Terms_and_Definitions#onboarding|On-boarded]]''', the project is set up to get new code and resource files from the repository. Jenkins jobs analyze the code using Globalyzer and LRM and the results are pushed to the Lingoport Dashboard.
  +
 
* getting the necessary information about the [[Terms_and_Definitions#LRMProject|LRM project]], its target locales, etc.
 
* getting the necessary information about the [[Terms_and_Definitions#LRMProject|LRM project]], its target locales, etc.
 
* creating an LRM project using the command line
 
* creating an LRM project using the command line
 
* creating a Globalyzer Lite project definition file
 
* creating a Globalyzer Lite project definition file
* setting up [[Terms_and_Definitions#Jenkins|Jenkins]] jobs
+
* setting up the[[Terms_and_Definitions#Jenkins|Jenkins]] jobs
 
* verifying those jobs
 
* verifying those jobs
   

Revision as of 21:15, 11 April 2017

Introduction

When a Lingoport project is On-boarded, the project is set up to get new code and resource files from the repository. Jenkins jobs analyze the code using Globalyzer and LRM and the results are pushed to the Lingoport Dashboard.

  • getting the necessary information about the LRM project, its target locales, etc.
  • creating an LRM project using the command line
  • creating a Globalyzer Lite project definition file
  • setting up theJenkins jobs
  • verifying those jobs

A project can only be on-boarded within a group. That group must have been licensed. The Jenkins user must have read and write access to the code repository.

Groups

The projects under one group get the group's defaults for the associated translation system. So if a group's configuration is set up for a Lingotek's community for instance, all projects under that group will by default use the same mechanisms (Lingotek) with the same settings.

A group is similar to a folder. LRM projects are associated with one group. The installer requires at least one group and its license. The license for a group is obtained from support@lingoport.com based on the commercial agreement between the client and Lingoport.

A company may have many groups. Each project within a group must have a unique name.

To add groups after installing the system, use the --create-group command on lrm-cli.jar. You need to have requested a license key for the new group from Lingoport before creating the group. For instance:

 > java -jar $LRM_HOME/lrm-cli.jar --create-group --group-name group1 --date "2016-06-01" --number-of-licenses 10 --license-key <license-key>

To update the license of an existing group, used the --update-license command on lrm-cli.jar. You need to have requested a license key for the new group from Lingoport before updating the group.For instance:

 > java -jar $LRM_HOME/lrm-cli.jar --update-license --group-name group1 --date "2016-06-01" -number-of-licenses 10 --license-key <license-key>

Once a group has been created, the database and the file structure are updated.

Group Name

A group name must conform to the following specification: A set of alphanumeric characters without the following special characters:

  • < (less than)
  • > (greater than)
  •  : (colon)
  • " (double quote)
  • / (forward slash)
  • \ (backslash)
  • | (vertical bar or pipe)
  •  ? (question mark)
  • * (asterisk)
  • (space)
  •  % (percentage)

Projects

Jenkins Tabs example:

Tabs.png


Projects can be on-boarded one per repository, after a group has been licensed. Many groups can be licensed: It is important to determine under which group a project must reside. The following describes the configuration of Jenkins with respect to projects.

  • The 1 - Automation tab contains on-boarded jobs which generate the status of the project and pushes it to the dashboard, and pseudo-localizes resource files if necessary. These jobs tend to run whenever files are pushed to the repository for the project. See $LRM_HOME/bin/job_automate.sh
  • The 2 - Nightlies tab contains on-boarded jobs which run every day or every night and provide an update to the dashboard and an email to a set of recipients based on the configured frequency. See $LRM_HOME/bin/job_nightly.sh
    • It also contains the license check for a group (not a project). The name of the Jenkins job is <group_name>.License_Expiration.See $LRM_HOME/bin/job_checklicense.sh 30 (if 30 days is set as the threshold)
  • The 3- PrepKit tab contains on-boarded jobs which are triggered by a human intervention to send the kits for translation based on the configured translation endpoint. See $LRM_HOME/bin/job_prepkit.sh
  • The 4- License Expiration tab contains on-boarded jobs which are run every night to warn you if your license is about to expire. See $LRM_HOME/bin/job_checklicense.sh

Each tab has a job setup during configuration via scripts (or manually if you prefer). After the first project has been on-boarded, on-boarding a new job consists in copying an first project's jobs and configuring a set of xml files.

Next Step

Before On-Boarding