TermImport plugin is able to watch a remote filesystem folder for terminology-to-be-imported to translate5.
Remote SFTP folder will be queried every ~15 min with the usual translate5 cron job
The plug-in is able to watch multiple folders e.g. located on different SFTPs at the same time. This is implemented by ability to overwrite global SFTP settings on customer-level.
All terminology is imported with respect to a customer specific config are associated to that customer, which should be copied from TermImport/config/instruction.ini and uploaded to the remote SFTP directory, which is then accessed by translate5.
If there is no instruction.ini in the remote directory - the import won't be started.
Each remote folder may 4 folders:
Example structure of an remote directory, that containts a terminology files to be imported:
/some/dir/with/tbx
/Import
/instruction.ini
/terminology1.tbx
/terminology2.tbx
How it looks after being moved to Import-success:
/some/dir/with/tbx
/Import-success
/instruction.ini
/terminology1.tbx
/terminology2.tbx
The information in the instruction.ini is evaluated as explained in the attached instruction.ini file.
For all parameters that are not present in the copy of instruction.ini that you'll upload to your remote sftp directory - the ones shown below are assumed as default
Users with role api have right to manually start processing.
Endpoint: editor/hotfolder/force-check
Possible GET params:
Param name | Values | Description |
---|---|---|
none | - | If no params provided - all clients and default configs will be processed |
defaultOnly | true|false | Only default config will be processed |
clientIds | integer[] | Comma separated client ids. Only provided client ids will be processed (if some present of course) |
Config name | Values | Default | Description |
---|---|---|---|
runtimeOptions.plugins.TermImport.filesystemConfig | map | [] | Filesystem config for terminology import from remote SFTP directory |
Default config in Preferences→System configuration always checked
If it is set for any customer then except from Default configuration customer's one will also be checked.
So in case with filesystemConfig setting value in customer entry not over-write system's but extends it instead.
Config itself is a simple JSON object.
Example:
{"host": "sftp-server","username": "translate5","password": "translate5", "type": "sftp", "rootpath": "/some/dir/with/tbx"}
Field name | Values | Variants | Local Type | Required | Default | Description |
---|---|---|---|---|---|---|
type | string |
| + | Type of filesystem | ||
linkHandling | string |
| + | 0002 | How to deal with links, either 0001 (skip) or 0002 (disallow) Disallowing them causes exceptions when encountered | |
writeFlags | integer |
| + | 2 |
| |
host | string | + | sftp host | |||
username | string | + | sftp login | |||
password | string | sftp password set to null if privateKey is used | ||||
privateKey | string | can be used instead of password, set to null if password is set | ||||
passphrase | string | set to null if privateKey is not used or has no passphrase | ||||
rootpath | string | / | the root directory to be used on the SFTP server | |||
port | integer | 22 | SFTP server port | |||
useAgent | bool | false | ||||
timeout | integer | 10 | ||||
maxTries | integer | 4 | ||||
hostFingerprint | string |