Difference between revisions of "Project Configuration Files"

From Lingoport Wiki
Jump to: navigation, search
(Git Specifics)
 
(17 intermediate revisions by 3 users not shown)
Line 1: Line 1:
  +
=Location=
Under the L10n Streamlining directory (typically <HOME>/Lingoport_Data/L10nStreamlining), each group file structure follows this pattern:
 
  +
Project Configuration Files are copied over to the ''L10nStreamlining/<group name>/projects/<project name>config'' folder when a project is created. The original configuration files are located in the ''../lingoport/lrm-server-xx/deploy/templates/dir_structure/project'' folder. These files can be moved to the group or global levels if less granularity is needed.
  +
  +
=Project Configuration Files=
  +
Under the L10n Streamlining directory (typically '''<HOME>/Lingoport_Data/L10nStreamlining'''), each group file structure follows this pattern:
   
 
<pre>
 
<pre>
 
<group_name>
 
<group_name>
 
├── config
 
├── config
   ├── config_due_dates.xml
+
├── config_due_dates.xml
   ├── config_file_cherry_picker.xml
+
├── config_l10n_vendor.properties
   ├── config_l10n_vendor.properties
+
├── config_lingotek_locale_mapping.properties
   ├── config_lingotek_locale_mapping.properties
+
├── config_lrm_info.properties
   ├── config_lrm_info.properties
+
├── config_pseudo_loc.xml
   ├── config_pseudo_loc.xml
+
├── config_ws_locale_mapping.properties
   ├── config_ws_locale_mapping.properties
+
└── config_ws_locale_projecttype_mapping.properties
│   └── config_ws_locale_projecttype_mapping.properties
 
 
└── projects
 
└── projects
 
└── <project 1>
 
└── <project 1>
 
├── config
 
├── config
   ├── config_email_recipients.xml
+
├── config_email_recipients.xml
   └── config_vcs.properties
+
└── config_vcs.properties
 
...
 
...
 
</pre>
 
</pre>
Each of the group configuration files can be copied to the project 'config' directory if a project has a configuration different from other projects in that group.
 
   
  +
Configuration files can be at the global, group or project level.
For more information on the global configuration files, visit the [[Global Configuration Files]] page.
 
   
For more information on the group configuration files, visit the [[Group Configuration Files]] page.
+
'''Global''': <HOME>/Lingoport_Data/L10nStreamlining/config. For more information on the global configuration files, visit the [[Global Configuration Files]] page.
   
  +
'''Group''': <HOME>/Lingoport_Data/L10nStreamlining/<group name>/config. For more information on the group configuration files, visit the [[Group Configuration Files]] page.
This section describes the main configuration files for each project. Other configuration files are self-explanatory.
 
   
  +
If there are duplicate files, the project level takes precedence, followed by the group level, and finally the global level.
 
== config_email_recipients.xml ==
 
== config_email_recipients.xml ==
The notification (email) mechanism uses this file to determine which emails are sent to what recipients.
+
The notification (email) mechanism uses this file to determine which emails are sent to what recipients. This is distinct from the config_email_global.xml file set up in the global directory.
  +
  +
More than one person can be specified in each section.
   
 
The file is formatted this way:
 
The file is formatted this way:
Line 88: Line 93:
   
 
</pre>
 
</pre>
  +
   
 
Please note that this file <b>must</b> be a good <b>Unix</b> file: If the file was copied from a Windows system, <code>dos2unix</code> should first be run on the file. Otherwise the bash scripts may misread the attributes.
 
Please note that this file <b>must</b> be a good <b>Unix</b> file: If the file was copied from a Windows system, <code>dos2unix</code> should first be run on the file. Otherwise the bash scripts may misread the attributes.
   
  +
After '''VCS_TYPE''' is set to a value other than NOTSET, uncomment the corresponding section and provide the correct information for the configuration.
== config_l10n_vendor.xml (Optional) ==
 
This file is typically located at the Group level. However, if one project in the group needs a different way to move files back and forth with the translation team, it can be overwritten here.
 
   
  +
=== Git Specifics ===
When sending files for translation or getting files back from translation, the system uses <code>config_l10n_vendor.xml</code>. It can be set to use Lingotek or FTP out of the box. More end points can be added for a custom implementation.
 
  +
* The files to be translated are taken from the VCS_GIT_BRANCH and returned to that same branch. One example would be to on-board a project on 'develop'. Each time a branch is merged back to 'develop', the new source (say, English) resource files are pushed on that branch from the merge. Lingoport detects what files and strings to be sent for translation, and eventually returns the files to that branch.
The following attributes have been set for an example FTP configuration (the values are for illustrative purposes only):
 
   
  +
* Another typical on-boarding is to have a branch specific for the on-boarding, like a 'translation' branch. In that case, when branches are merged to 'develop', one configuration allows for 'develop' to be automatically merged on to the 'translation' branch. This prevents some files from translation to land directly in the 'develop' branch. In this configuration, a PR to merge from the 'translation' branch on to the 'develop' branch is done by hand after checking the files pushed to the 'translation' branch. To configure the branch 'develop' in this case, another file is used: config_vcs.properties_rebase under the project config directory and contains only one line:
<pre>
 
  +
** VCS_GIT_REBASE_BRANCH=master
l10n.vendor=ftp
 
#FTP Attributes
 
## FTP inbound attributes for import kit files
 
ftp.in.host=company.net
 
ftp.in.location.path=translated_kits
 
ftp.in.password=strongpassword
 
ftp.in.port=22
 
#SSH, SSL or empty
 
ftp.in.protocol=SSH
 
ftp.in.username=username
 
   
  +
* Lingobot can be used for more sophisticated situation. However, Lingobot duplicates the number of projects and for large repositories, this may lead to performance and disk/ram sizing issues. See [[About_LingoBot]]
# FTP outbound attributes for prep kit files
 
ftp.out.host=company.net
 
ftp.out.location.path=prep_kits
 
ftp.out.password=strongpassword
 
ftp.out.port=22
 
ftp.out.protocol=SSH
 
ftp.out.username=username
 
   
  +
== config_l10n_vendor.xml (Optional) ==
</pre>
 
  +
This file is typically located at the Group level. However, if one project in the group needs a different way to move files back and forth with the translation team, it can be overwritten here.
   
  +
When sending files for translation or getting files back from translation, the system uses '''<code>config_l10n_vendor.xml</code>'''. It can be set to use FTP, Lingotek, GlobalLink or Worldserver out of the box. More end points can be added for a custom implementation.
<b>Note:</b> For special cases, like using One Planet, you may need to create an .ssh key http://www.linuxproblem.org/art_9.html.
 
   
  +
For more information see [[L10n_Vendors]]
For a Lingotek configuration, the attributes would look like the following (the values are for illustrative purposes only):
 
<pre>
 
#Default to lingotek but don't have any attributes. Send kit will fail and force the user to set up file
 
#l10n.vendor=lingotek
 
 
#Lingotek Attributes
 
#Contains the ids for community, workflow and access token
 
lingotek.api.id.access.token=293048.2034980928
 
lingotek.api.id.community=0219384.329084
 
lingotek.api.id.workflow=0923.234098
 
#Example callbackURL - replace job name (lingotek) with actual Jenkins job name
 
lingotek.api.callbackurl=http://jenkins.company.net/buildByToken/buildWithParameters?job=lingotek&token=LINGOSQUARE&
 
#{0} is the access.token
 
lingotek.api.bearer=Bearer {0}
 
 
</pre>
 

Latest revision as of 16:58, 12 July 2022

Location

Project Configuration Files are copied over to the L10nStreamlining/<group name>/projects/<project name>config folder when a project is created. The original configuration files are located in the ../lingoport/lrm-server-xx/deploy/templates/dir_structure/project folder. These files can be moved to the group or global levels if less granularity is needed.

Project Configuration Files

Under the L10n Streamlining directory (typically <HOME>/Lingoport_Data/L10nStreamlining), each group file structure follows this pattern:

<group_name>
├── config
│   ├── config_due_dates.xml
│   ├── config_l10n_vendor.properties
│   ├── config_lingotek_locale_mapping.properties
│   ├── config_lrm_info.properties
│   ├── config_pseudo_loc.xml
│   ├── config_ws_locale_mapping.properties
│   └── config_ws_locale_projecttype_mapping.properties
└── projects
    └── <project 1>
        ├── config
        │   ├── config_email_recipients.xml
        │   └── config_vcs.properties
        ...

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

Global: <HOME>/Lingoport_Data/L10nStreamlining/config. For more information on the global configuration files, visit the Global Configuration Files page.

Group: <HOME>/Lingoport_Data/L10nStreamlining/<group name>/config. For more information on the group configuration files, visit the Group Configuration Files page.

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

config_email_recipients.xml

The notification (email) mechanism uses this file to determine which emails are sent to what recipients. This is distinct from the config_email_global.xml file set up in the global directory.

More than one person can be specified in each section.

The file is formatted this way:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<email-recipients>
        <notify-changes>
                <recipient>name1@company.com</recipient>
                <recipient>name2@company.com</recipient>
        </notify-changes>
        <prep-kit>
                <recipient>name@company.com</recipient>
        </prep-kit>
        <import-kit>
                <recipient>name1@company.com</recipient>
                <recipient>name2@company.com</recipient>
        </import-kit>
        <translators>
                <translator>name@company.com</translator>
        </translators>
        <l10nvendoradmins>
                <l10nvendoradmin>name@company.com</l10nvendoradmin>
        </l10nvendoradmins>
</email-recipients>

config_vcs.properties

This file tells what Version Control System to use and the URL of the repository project for check-in and checkout. A typical file looks like this:

# Choices for VCS_TYPE are:
#    - git
#    - svn
#    - tfs
#    ( ftp)
VCS_TYPE=NOTSET

# For GIT
# See http://wiki.lingoport.com/Git
# ----------------------------------
#VCS_GIT_URL=git@github.com:userName/gitProjectName.git
#VCS_GIT_BRANCH=master

# For SVN
# See http://wiki.lingoport.com/SVN
# ----------------------------------
# VCS_SVN_URL=https://svns.company.net/repo/client/trunk/com.company.project.

# For TFS
# See http://wiki.lingoport.com/TFS
# --------------------------------
# VCS_TFS_URL=
# VCS_TFS_URL=http://company:port/tfs/
# TF_SERVER_FOLDER=$/projectX/
# TF_UNIQUE_WORKSPACE_NAME=AUniqueNameGeneratedFromSomeRandomGenerating
## Optional -- associate with a tfs workitem
#   LINGOPORT_WORKITEM_ID=


Please note that this file must be a good Unix file: If the file was copied from a Windows system, dos2unix should first be run on the file. Otherwise the bash scripts may misread the attributes.

After VCS_TYPE is set to a value other than NOTSET, uncomment the corresponding section and provide the correct information for the configuration.

Git Specifics

  • The files to be translated are taken from the VCS_GIT_BRANCH and returned to that same branch. One example would be to on-board a project on 'develop'. Each time a branch is merged back to 'develop', the new source (say, English) resource files are pushed on that branch from the merge. Lingoport detects what files and strings to be sent for translation, and eventually returns the files to that branch.
  • Another typical on-boarding is to have a branch specific for the on-boarding, like a 'translation' branch. In that case, when branches are merged to 'develop', one configuration allows for 'develop' to be automatically merged on to the 'translation' branch. This prevents some files from translation to land directly in the 'develop' branch. In this configuration, a PR to merge from the 'translation' branch on to the 'develop' branch is done by hand after checking the files pushed to the 'translation' branch. To configure the branch 'develop' in this case, another file is used: config_vcs.properties_rebase under the project config directory and contains only one line:
    • VCS_GIT_REBASE_BRANCH=master
  • Lingobot can be used for more sophisticated situation. However, Lingobot duplicates the number of projects and for large repositories, this may lead to performance and disk/ram sizing issues. See About_LingoBot

config_l10n_vendor.xml (Optional)

This file is typically located at the Group level. However, if one project in the group needs a different way to move files back and forth with the translation team, it can be overwritten here.

When sending files for translation or getting files back from translation, the system uses config_l10n_vendor.xml. It can be set to use FTP, Lingotek, GlobalLink or Worldserver out of the box. More end points can be added for a custom implementation.

For more information see L10n_Vendors