Note |
---|
If the API changes in an incompatible manner this is listed explicitly in the "important release notes" section of each releases changelog. |
Description
The database-side storage of terms is extended by the "TermCollection", which makes it possible, for example, to group terms that belong to a specifc client. This way an end client can be assigned to one or more TermCollections.
Provides access to the Term collections available in the application.
URL: | /editor/termcollection/[ID] |
Available Methods: | GET / POST |
/ DELETE | |
Specialities: |
|
Resource Layout
Name | Type | Info |
id | int | GET only |
name | string | The name of the term collection (unique) |
timestamp | DateTime | Date and time when the term collection is created |
customerId | integer | Foreign key to the customers table |
POST request parameters example :
- create new empty term collection
"name":"The name of the term collection", "customerId":"the id of the customer to whom this collection is associated"
|
GET request parameters example :
- return the term collection name,timestamp and customerId for the termcollection with id = 1
"id":1
|
Search term in term collection.
URL: | editor/termcollection/search |
Available Methods: | GET |
Specialities: |
|
Resource Layout
Name | Type | Info |
term | string | Search term string. The search string can be combined with wildcards also. |
language | array | Term language/s ids from lek_languages table |
disableLimit | boolean | Disable the result limit configured in searchTermsCount config variable. |
Search term entry and term attributes in term collection.
URL: | editor/termcollection/searchattribute |
Available Methods: | GET |
Specialities: |
|
Info: For search and searchatribute actions, will search in the collection assigned to the customers which customers are assigned to the currently logged user assigned customers.
Resource Layout
Name | Type | Info |
groupId | string | Lek_terms table groupId field. |
- Response array example
Code Block |
---|
{
"rows":{
"termAttributes":[
{
"definition":"",
"groupId":"001",
"label":"gravure printing",
"value":"11413",
"desc":"gravure printing",
"termId":"11413",
"collectionId":"122",
"languageId":"5",
"labelId":"323",
"attributeId":"73178",
"parentId":null,
"internalCount":null,
"name":"transac",
"attrType":"origination",
"attrTarget":null,
"attrId":null,
"attrLang":"en",
"attrValue":"origination",
"attrCreated":"2018-05-07 17:32:07",
"attrUpdated":"2018-05-07 17:32:07",
"attrDataType":null,
"language":"en"
}
],
"termEntryAttributes":[
{
"id":"8737",
"labelId":"331",
"collectionId":"122",
"termEntryId":"4965",
"parentId":null,
"internalCount":"1",
"language":null,
"name":"note",
"attrType":null,
"attrDataType":null,
"attrTarget":null,
"attrId":null,
"attrLang":null,
"value":"Aleksandar",
"created":"2018-05-07 17:32:07",
"updated":"2018-05-07 17:32:07",
"attributeId":"8737",
"attrValue":"Aleksandar",
"attrCreated":"2018-05-07 17:32:07",
"attrUpdated":"2018-05-07 17:32:07"
}
]
}
} |
Import terms to the term collection
URL: | editor/termcollection/import |
Available Methods: | POST |
Specialities: | Import the provided terms from the tbx file to the term collection |
POST request parameters example(json):
"data":{ "collectionId": |
1, "customerId":1000, "mergeTerms":true, "tbxUpload": , " |
deleteTermsLastTouchedOlderThan": " |
2018-05-01",
|
"deleteTermsOlderThanCurrentImport": true, "deleteProposalsLastTouchedOlderThan": 2018-05-01", "deleteProposalsOlderThanCurrentImport" : true } |
Details for the |
- If so, the first term that is found is updated by the values in the TBX file. The term-ID and termEntry-ID remain the same as they already existed in translate5.
- All other terms of this termEntry in the TBX file will be imported/merged to the same termEntry of the TermCollection, that just has been found through the matching
- This means, if 2 (or more) terms that belong to the same termEntry-ID in the TBX file can be merged with a term in the database, but in the database those terms do NOT belong to the same termEntry-ID, only the first one will be merged with the one it matches and the second one (or more) will be put into the same termEntry as the first one.
- If no term of a termEntry can be matched with an existing term in the termCollection, a new termEntry is added with the termEntry ID of the TBX in the TermCollection and all terms of the termEntry of the TBX are added to this termEntry in the TermCollection
- Summarized this means, that the checks should be done in the following order, in case the termEntry-ID does not exist in the termCollection and mergeTerms is true
- For each term of a termEntry of the TBX file check, if the term exists in the termCollection within the same language.
- If yes, merge it
- Also put all other terms of the same termEntry of the TBX (independent of their language) file into this termEntry in the termCollection
- For all other terms in the same termEntry you therefore can stop checking, if they match with something (abort the loop)
- If the term does not match, check the next
- if no term of the termEntry of the TBX file can be matched, create a new termEntry with the termEntry-ID of the TBX and add all terms from the TBX to that termEntry in the termCollection with the term-IDs of the TBX.
- If yes, merge it
- For each term of a termEntry of the TBX file check, if the term exists in the termCollection within the same language.
resource parameters: collectionIdThe id of the term collection where those terms from the tbx file are going to customerIdCustomer to that this term collection is associated mergeTermsThe merging of terms into an existing term collection is controlled by this boolean parameter. The merge process is complex and completely described here. tbxUpload tbx file/files (or a zip file containing TBX files) uploaded as multipart/form-data deleteTermsLastTouchedOlderThan (date format Y-m-d)Deletes all terms in all listed termCollections, that have a updated date older than the date configured for "deleteTermsLastTouchedOlderThan". Every term in a termCollection has a creation date, a modification date and an updated dated. The creation date and the modification date are taken from the dates as they appear in the TBX file. deleteTermsOlderThanCurrentImport (boolean)Deletes all terms in all listed termCollections, that have an "updated date" older than the start of the current import. To learn, what the "updated date" is, please read above possible values: true or false. deleteProposalsLastTouchedOlderThan (date format Y-m-d)Delete all proposals in a listed termCollections, that have a creation date older than this configs value. deleteProposalsOlderThanCurrentImport (boolean)Delete all proposals in a listed termCollections, that have a creation date older than the start of the current import. Important: with the import call, one or multiple tbx files must be provided. Importing additional files in term collection is also available via the general language resource import route: /editor/languageresourceinstance/[ID]/import. More info can be found here. |
There can be additional possibility to import terms to the term collection.
- Import tbx files via language resources panel with term collection as resource
- Using the term import plugin ( see more at Plug-In TermImport: TermImport )