Global Configuration Files

From Lingoport Wiki
Revision as of 21:06, 8 September 2017 by Llawson (talk | contribs) (Java Options for sending emails)
Jump to: navigation, search

Some configuration files can be at the global, group or project level.

Global: <HOME>/Lingoport_Data/L10nStreamlining/config

Group: <HOME>/Lingoport_Data/L10nStreamlining/<group name>/config

Project: <HOME>/Lingoport_Data/L10nStreamlining/<group name>/projects/<project name>/config

If there are duplicate files, the project level takes precedence, followed by the group level, and finally the global level.

Global File Structure

The global configuration files are located in config directory under the L10n Streamlining directory (typically <HOME>/Lingoport_Data/L10nStreamlining)

<L10nStreamlining>
├── config
│   ├── config_attask.properties
│   ├── config_custom_tasks.xml
│   ├── config_email_global.xml
│   ├── config_file_cherry_picker.xml
│   ├── config_gl_file_format.properties
│   ├── config_gl_locale_mapping.properties
│   ├── config_lingotek_api.properties
│   ├── config_lingotek_file_format.properties
│   
├── <group_name>
│   ├── config
│       ...
│   │   
│   └── projects
│       └── <project 1>
│          ├── config
│           ...
├── logs

For more information on the project configuration files, visit the Project Configuration Files page.

For more information on the group configuration files, visit the Group Configuration Files page.

Most of the global config files contain information that is consistent throughout all groups and projects.

config_attask.properties

The config_attask.properties file is the configuration file for creating an AtTask (Workfront) project that corresponds with a prep kit.

Each task under the AtTask project will correspond to one locale in the prep kit. A document listing the changed keys will be uploaded for each task.

A template as well as a URL may be attached to each task if configured.

The attributes for setting up AtTask is as follows:

#Required attributes		  
attask.groupid=
attask.ownerid=
attask.url=
attask.login.user=
attask.login.password=
#available tokens ${groupname}, ${projectname}, ${kitversion}, ${sendkitname} ${sendkitid}
attask.project.name.format=${groupname}-${projectname}-${kitversion}

#Non-required attributes
attask.templateid=
#available tokens ${groupname}, ${projectname}, ${kitversion}, ${sendkitname} ${sendkitid}
attask.task.linkto.url=

In addition to the configuration file, the config_custom_tasks.xml must be set up properly. (See Custom Tasks)

This file may reside at the project level, group level and global level.

config_custom_tasks.xml

The config_custom_tasks.xml configuration file contains the specific stages where a plugin can be called. Dynamic information is available to the plugin through the LRM Context object (com.lingoport.lrm.customtask.LRMContext). The lrm-customtasktest.jar, located in the samples/CustomTask/ folder of your install directory, contains methods for testing out these different stages.

This file may reside at the project level, group level and global level.

config_email_global.xml

File config_email_global.xml is the configuration file for setting up the sender's email credentials for all emails that are sent by the LRM process. It is located in the global <HOME>/Lingoport_Data/L10nStreamlining/config folder.

The config_email_global.xml file is used by a project's Notifications Jenkins job in order to send out status emails. This Jenkins job is, by default, set to run once a week.

There are 3 types of information contained in the config_email_global.xml file.

  • email configuration
  • interval between the sending of status emails
  • flag indicating whether to send out the 'No Files to Prep' email

Email Credentials Configuration

The email configuration consists of the following xml elements:

  • smtp-host - server that will send the email
  • smtp-auth - authentication mechanism, if applicable
    • mail.smtp.auth - smtp protocol with smtp authentication
    • mail.smtps.auth - smtps protocol with smtps authentication
    • none' - smtp protocol with no authentication
  • email-sender - valid email address
  • sender-password - not required

Send email command may be used to test the configuration values.

Example Email Credentials Configuration

   <smtp-host>smtp.gmail.com/<smtp-host>
   <smtp-auth>mail.smtps.auth</smtp-auth>
   <email-sender>joe@mycompany.com</email-sender>  
   <sender-password encrypted="false">mypassword</sender-password>

Additional Email Configuration

In addition, there are configuration settings for when to send out notification emails and whether or not to send out the 'No Files to Prep' email.

  • dashboard-url - Dashboard URL used as the link destination for the email Log In button
  • notify-changes-email-interval - By default, the Notification email may be sent every day. Since the project's Jenkins Notification job is only run once a week, this email will only be set out once a week.
  • late-kits-email-interval - By default, the Late Prep Kits email may be sent every day depending on the number of days late. Since the project's Jenkins Notification job is only run once a week, this email will be sent out once a week.
  • number-days-late - By default, a prep kit is deemed late if it is 7 days late.
  • send-no-files-to-prep-email - By default, the No Files to Prep email will be sent out when there is a request to prep a kit but there are no files to prep. If a Jenkins job is created that automatically attempts to prep a kit, then this value should be set to 0 so that the email is not sent. Otherwise, the email recipient's inbox may be inundated with 'No Files to Prep' emails.

Java Options for sending emails

It may be necessary to explicitly set the email port and/or STARTTLS flag rather than rely on the default mail server values. In addition, the email session debug mode can be enabled.

There are 3 email settings that are set through java options:

  • Email Server Port
  • SMTP STARTTLS enabled
  • Email Session Debug mode enabled

Email Protocol Port Number

The expected java option for explicitly setting the protocol port number is:

  • mail.smtp.port

Linux example if setting java options within a shell session.

export _JAVA_OPTIONS='-Dmail.smtp.port=25'

Enable/Disable STARTTLS

The expected java option for explicitly enabling/disabling STARTTLS is:

  • mail.smtp.starttls.enable

Linux example if setting java options within a shell session.

export _JAVA_OPTIONS='-Dmail.smtp.starttls.enable=true'

Enable Email Session Debug mode

The expected java option for explicitly enabling/disabling the email session debug mode is:

  • mail.debug.mode

Linux example if setting java options within a shell session.

export _JAVA_OPTIONS='-Dmail.debug.mode=true'

Send Email Command

The send email command is accessed through the lpcommon.jar file and is located in the lib folder (i.e. ../lrm-server-x.x/lib).

Encrypted Password

The <sender-password> can be configured with the encrypted attribute set to true, as in

         ...
         <email-sender>mailuser@company.com</email-sender>
         <sender-password encrypted="true">UUIasd455</sender-password>
         ...

To encrypt the password, use the encrypt command line on lrm-common.jar file. For instance:

> java -jar <LRM_INSTALLATION_PATH>/lib/lpcommon.jar --encrypt

which will prompt you for the text (here the password) to encrypt and will provide the result on the console.

config_file_cherry_picker.xml

The config_file_cherry_picker.xml file is a template to be copied under the project config directory if needed.

It helps special situations where files to be sent for translation are far and few and possibly locale dependent. This should be used with care.

This file resides only at the project level but is moved into the project level when it is being used.

config_lingotek_api.properties

The config_lingotek_api.properties file is a configuration file that contains the lingotek api calls and should not be edited. It is used if the L10n vendor for a group/project is set to Lingotek (config_l10n_vendor.properties). Any edits made to this file may cause prep kits to fail when uploading to Lingotek.

This file resides only at the global level.

config_lingotek_file_format.properties

The config_lingotek_file_format.properties configuration file contains the file format mapping for uploading documents into Lingotek. It is used if the L10n vendor for a group/project is set to Lingotek (config_l10n_vendor.properties).

This file resides only at the global level.