Developer

Page tree

Client app setup data

RequestGET /editor/plugins_termportal_data
Params

locale=(en|de) Optional. default 'en'. See titles in l10n in example response below

Response
{
  "locale": "en",                                  // Current locale
  "permission": {                                  // Permissions to access
    "termportal": true,                            //  - TermPortal
    "attributes": true,                            // - Attributes datatypes management
    "itranslate": false                            //  - InstantTranslate
  },
  "userGuid": "{e6828cdf-2ee0-4a25-af0a-92e6f060e9eb}",
  "activeItem": "termportal",                      // Item active by default or last active item
  "l10n": {                                        // Localization wordings
    "termportal": "TermPortal",
    "itranslate": "InstantTranslate",
    "attributes": {
      "title": {
        "pressed": "Close attribute datatype management",
        "depressed": "Manage attribute datatypes"
      },
      "termcollections": "TermCollections",
      "default": "Default / TBX basic datatypes",
      "proprietary": "Proprietary datatypes",
      "toolbar": {
        "plainText": "Add text datatype",
        "picklist": "Add picklist datatype"
      },
      "column": {
        "title": "Name",
        "dataType": "Input type",
        "level": "Applicable on levels",
        "addable": "Addable",
        "exists": "In use",
        "simpleUIvisibility": "Visibility in SimpleUI"
      },
      "actions": {
        "edit": "Edit",
        "copy": "Copy",
        "delete": "Delete"
      },
      "properties": {
        "tab": "Static properties",
        "column": {
          "property": "Property",
          "level": "Applicable on level"
        }
      },
      "form": {
        "header": "Edit datatype",
        "slug": "Slug",
        "l10nCustom": "UI label",
        "dataType": {
          "label": "Type",
          "data": [
            {
              "value": "plainText",
              "name": "Text"
            },
            {
              "value": "picklist",
              "name": "Picklist"
            }
          ]
        },
        "picklistValues": {
          "choices": "Choices",
          "add": "Add",
          "remove": "Remove"
        },
        "level": "Levels"
      }
    },
    "history": {
      "tooltip": "Editing history",
      "updatedAt": "Date",
      "updatedBy": "By",
      "attr": {
        "header": "Attribute editing history"
      },
      "term": {
        "header": "Term editing history"
      },
      "xref": "External reference",
      "ref": "Cross-reference",
      "value": "Value"
    },
    "help": {
      "title": "Introduction",
      "notAutoShow": "Do not automatically display this window again"
    },
    "close": "Close",
    "logout": "Logout",
    "set": "Set filter",
    "clear": "Clear filter",
    "requiredMsg": "This field is required",
    "found": "Search results",
    "termPlaceholder": "Enter the term here. You can also use wildcards, e.g. 'myterm*'",
    "termSearch": "Search",
    "filters": "Filters",
    "client": "Client",
    "noCollections": "There are no TermCollections assigned to you.",
    "activeFilters": {
      "placeholder": "No filters set.",
      "clientIds": "Clients",
      "collectionIds": "TermCollection",
      "noTermDefinedFor": "No term defined for language",
      "disabledDueToRefMode": "Filters are disabled while you're in ref-mode",
      "tbxCreatedBy": "Created by",
      "tbxUpdatedBy": "Updated by",
      "tbxCreatedGt": "Created since",
      "tbxCreatedLt": "Created until",
      "tbxCreatedAt": "Created at",
      "tbxUpdatedGt": "Updated since",
      "tbxUpdatedLt": "Updated until",
      "tbxUpdatedAt": "Updated at"
    },
    "processStatuses": {
      "unprocessed": "Unprocessed",
      "provisionallyProcessed": "Provisionally processed",
      "finalized": "Finalized",
      "rejected": "Rejected"
    },
    "statuses": {
      "preferredTerm": "Preferred",
      "standardizedTerm": "Standardized",
      "admittedTerm": "Admitted",
      "deprecatedTerm": "Forbidden",
      "supersededTerm": "Forbidden"
    },
    "collections": "TermCollections",
    "collection": "TermCollection",
    "attrSelect": "Select an attribute",
    "noTermDefinedFor": "No term defined for language ('en' does NOT find 'en-US')",
    "siblings": {
      "title": "Terms belonging to the selected search hit",
      "langToShow": "Languages to display",
      "itranslate": {
        "label": "InstantTranslate into",
        "placeholder": "select language"
      },
      "edit": "Edit term",
      "delete": "Delete term"
    },
    "xref": {
      "xGraphic": {
        "title": "External images",
        "info": "Allows you to link to an external image, for example, on a website."
      },
      "externalCrossReference": {
        "title": "External references",
        "info": "Allows you to reference an external source, e.g. a website."
      },
      "value": {
        "text": "Value",
        "renderer": "Double-click to specify name",
        "placeholder": "Specify name"
      },
      "target": {
        "text": "Target",
        "renderer": "Double-click to specify URL",
        "placeholder": "Specify URL"
      }
    },
    "ref": {
      "title": "Cross-references",
      "entry": "Referenced entries",
      "language": "Referenced entries",
      "term": "Referenced terms",
      "target": "Double-click to specify TBX ID",
      "text": {
        "entry": "Term entry TBX ID"
      },
      "info": {
        "entry": "Refers to another term entry. Please insert the TBX ID of the other entry.",
        "term": "Refers to another term. Please insert the TBX ID of the other term."
      }
    },
    "terms": "Terms",
    "term": "Term",
    "language": "Language",
    "entry": "Entry",
    "images": "Images",
    "image": "Image",
    "attrs": "Attributes",
    "attrAddComment": "Add comment",
    "actions": "Actions",
    "entryAttrs": "Entry-level attributes",
    "languageAttrs": "Language-level attributes",
    "termAttrs": "Term-level attributes",
    "termportalLangs": "TermPortal language",
    "allOtherAvailableLangs": "All other languages available",
    "addedFromMT": "Added from MT",
    "propose": {
      "button": {
        "text": "Propose a new term entry",
        "text404": "Propose a new entry using search string"
      },
      "please": {
        "collection": "Please select TermCollection",
        "language": "Please select language"
      },
      "termfield": {
        "placeholder": "Propose a new term",
        "errorMsg": "Term must contain at least one character that is not a whitespace",
        "label": "When a term proposal is saved, a proposal for the source-language term is saved as well"
      },
      "notefield": {
        "placeholder": "Provide a comment",
        "errorMsg": "This field is required"
      },
      "multisource": "Please select one of the source terms below. They belong to different term entries. After making a selection, you can add your new term translation to the translate5 TermPortal."
    },
    "attrWarn": {
      "entry": "Entry-level attribute – changes will be applied for all terms of this entry",
      "language": "Language-level attribute – changes will be applied for all [flag] terms",
      "valueOverflow": "Field value if not fully visible due to field width"
    },
    "attrLabel": {
      "original": "Original label",
      "empty": "none"
    },
    "attrAlreadyAll": "All available attributes are already in use.",
    "attrNoteDisabled": "This attribute is not addable for this TermCollection",
    "attrDeleteOnStatusChange": "The values of {0} depend on the attribute {1}, whose values have just been changed.\n\n The new value of {1} does not correspond to any value of {0}.\n\n Therefore, the attribute {0} has been deleted.",
    "addTermProposal": "Propose a new term",
    "batchEdit": {
      "btn": {
        "text": "Batch edit",
        "tooltip": {
          "disabled": "Select exactly 1 TermCollection in the filter window enable batch editing",
          "enabled": "Click to open the batch editing window"
        }
      }
    },
    "transfer": {
      "btn": {
        "text": "Start translation",
        "tooltip": {
          "disabled": "Select exactly 1 client in filter window to enable transfer",
          "enabled": "Creates a translation project for selected terms"
        }
      },
      "title": "Create translation project for terms",
      "projectName": "Project name",
      "targetLang": "Target languages",
      "translated": "Retranslate translated terms?",
      "definition": "Translate definitions",
      "create": "Create project",
      "creating": "Your project '{0}' is being created",
      "created": "Your project '{0}' was successfully created"
    },
    "termDelete": "Do you really want to delete the term '{0}'?",
    "attrDelete": "Do you really want to delete the attribute '{0}'?",
    "save": "Save",
    "cancel": "Cancel",
    "delete": "Delete",
    "submit": "Submit",
    "localeStore": [
      {
        "locale": "en",
        "name": "English"
      },
      {
        "locale": "de",
        "name": "German"
      },
      {
        "locale": "fr",
        "name": "French"
      },
      {
        "locale": "it",
        "name": "Italian"
      }
    ],
    "status": "Usage status",
    "processStatus": "Process status"
  },
  "filterWindow": {                                     // Filter window comboboxes data
    "collections": [
      {
        "id": "1",
        "title": "My Term Collection 1",
        "clients": "1"
      },
      {
        "id": "2",
        "title": "My Term Collection 2",
        "clients": "1,2"
      },
      ...
    ],
    "clients": [
      {
        "id": "1",
        "title": "My Customer 1"
      },
      {
        "id": "2",
        "title": "My Customer 2"
      },
      ...
    ],
    "attributes": {
      "1": {
        "id": "1",
        "title": "Some plaintext attribute",
        "system": "Some plaintext attribute",
        "alias": "attr-1",
        "dataType": "plainText",
        "picklistValues": null,
        "level": "entry,language,term",
        "isTbxBasic": 0,
        "type": "somePlainTextAttr",
        "nodeName": "descrip",
        "l10nCustom": "{\"de\":\"\",\"en\":\"\"}",
        "addableIn": "3,5",
        "existsIn": "3",
        "simpleUI": {
          "visibleAt": {
            "3": {
              "entry": null,
              "language": null,
              "term": false
            },
            "5": {
              "entry": null,
              "language": null,
              "term": false
            },
            ...
          },
          "visible": false
        }
      },
      "2": {
        "id": "2",
        "title": "Some picklist attribute with custom title",
        "system": "Some picklist attribute",
        "alias": "attr-2",
        "dataType": "picklist",
        "picklistValues": "noun,verb,adjective,adverb,properNoun,other",
        "level": "term",
        "isTbxBasic": 1,
        "type": "somePickListAttr",
        "nodeName": "termNote",
        "l10nCustom": "{\"de\":\"\",\"en\":\"\"}",
        "addableIn": "1,2",
        "existsIn": "1,2",
        "simpleUI": {
          "visibleAt": {
            "1": {
              "entry": null,
              "language": null,
              "term": false
            },
            "2": {
              "entry": null,
              "language": null,
              "term": false
            },
            ...
          },
          "visible": false
        }
      },
      ...
    },
    "processStatuses": [
      {
        "title": "Unprocessed",
        "alias": "unprocessed"
      },
      {
        "title": "Provisionally processed",
        "alias": "provisionallyProcessed"
      },
      {
        "title": "Finalized",
        "alias": "finalized"
      },
      {
        "title": "Rejected",
        "alias": "rejected"
      }
    ],
    "multi": {                                          // [type/slug => dataTypeId] pairs for datatypes that 
      "xGraphic": "33",                                 // can have multiple instances/attributes on the same level
      "externalCrossReference": "37",
      "crossReference": "40",
      "figure": "43"
    },
    "properties": {                                     // Static hardcoded properties
      "termEntryTbxId": {
        "simpleUI": {                                   // Visibility status in SimpleUI
          "visibleAt": {                                // Per-TermCollection x per-level visibility status
            "1": {
              "entry": false,
              "language": null,                         // null value means the property is NOT applicable on that level
              "term": null
            },
            "2": {
              "entry": false,
              "language": null,
              "term": null
            },
            "3": {
              "entry": false,
              "language": null,
              "term": null
            },
            "5": {
              "entry": false,
              "language": null,
              "term": null
            },
            ...
          },
          "visible": false                            // General visibility status - it's true if visible on at least one
        }                                             // level in at least one TermCollection, and therefore the corresponding
      },                                              // filter-field should be visible in Filter window                                               
      "termTbxId": {
        "simpleUI": {
          "visibleAt": {
            "1": {
              "entry": null,
              "language": null,
              "term": false
            },
            "2": {
              "entry": null,
              "language": null,
              "term": false
            },
            "3": {
              "entry": null,
              "language": null,
              "term": false
            },
            "5": {
              "entry": null,
              "language": null,
              "term": false
            },
            ...
          },
          "visible": false
        }
      },
      "tbxCreated": {
        "simpleUI": {
          "visibleAt": {
            "1": {
              "entry": true,
              "language": true,
              "term": true
            },
            "2": {
              "entry": true,
              "language": true,
              "term": true
            },
            "3": {
              "entry": true,
              "language": true,
              "term": true
            },
            "5": {
              "entry": true,
              "language": true,
              "term": true
            },
            ...
          },
          "visible": true
        },
        "persons": [     // Filter-window's 'Created by'-combobox choices data  
          {
            "ids": "1",  // Multiple persons can have equal name, so comma-separated ids are possible
            "name": "Person 1 specified in tbx <transacgrp>-node as creator"
          },
          {
            "ids": "2",
            "name": "Person 2 specified in tbx <transacgrp>-node as creator"
          },
          ...
        ]
      },
      "tbxUpdated": {
        "simpleUI": {
          "visibleAt": {
            "1": {
              "entry": true,
              "language": true,
              "term": true
            },
            "2": {
              "entry": true,
              "language": true,
              "term": true
            },
            "3": {
              "entry": true,
              "language": true,
              "term": true
            },
            "5": {
              "entry": true,
              "language": true,
              "term": true
            },
            ...
          },
          "visible": true
        },
        "persons": [       // Filter-window's 'Updated by'-combobox choices data
          {
            "ids": "1",
            "name": "Person 1 specified in tbx <transacgrp>-node as updater"
          },
          {
            "ids": "2",
            "name": "Person 2 specified in tbx <transacgrp>-node as updater"
          },
          ...
        ]
      }
    }
  },
  "filterPanel": {
    "activeFilters": [                                // Active filters combobox data
      {
        "title": "Clients",
        "alias": "clientIds"
      },
      {
        "title": "TermCollection",
        "alias": "collectionIds"
      },
      {
        "title": "No term defined for language",
        "alias": "noTermDefinedFor"
      },
      {
        "title": "Process status",
        "alias": "processStatus"
      },
      {
        "title": "TBX-Entry-ID",
        "alias": "termEntryTbxId"
      },
      {
        "title": "TBX-Term-ID",
        "alias": "termTbxId"
      },
      {
        "title": "Created by",
        "alias": "tbxCreatedBy"
      },
      {
        "title": "Updated by",
        "alias": "tbxUpdatedBy"
      },
      {
        "title": "Created until",
        "alias": "tbxCreatedLt"
      },
      {
        "title": "Created since",
        "alias": "tbxCreatedGt"
      },
      {
        "title": "Created at",
        "alias": "tbxCreatedAt"
      },
      {
        "title": "Updated until",
        "alias": "tbxUpdatedLt"
      },
      {
        "title": "Updated since",
        "alias": "tbxUpdatedGt"
      },
      {
        "title": "Updated at",
        "alias": "tbxUpdatedAt"
      }
    ]
  },
  "lang": [                       // TermPortal languages with respect to TermPortal.showSubLanguages cfg
    {
      "id": "251",
      "value": "en-GB",
      "text": "English (UK) (en-GB)",
      "flag": "gb"
    },
    {
      "id": "252",
      "value": "en-US",
      "text": "English (US) (en-US)",
      "flag": "us"
    },
    {
      "id": "5,367,368,369,370,371,372,373,374,375,376,377,251,252",
      "value": "en",
      "text": "English (en)",
      "flag": "gb"
    },
    ...
  ],
  "langInclSubs": [           // TermPortal languages with no respect to TermPortal.showSubLanguages cfg
    {
      "id": "344",
      "value": "ar-SA",
      "text": "Arabic (Saudi Arabia) (ar-SA)",
      "flag": "sa"
    },
    {
      "id": "331,332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347",
      "value": "ar",
      "text": "Arabic (ar)",
      "flag": "sa"
    },
    ...
  ],
  "flag": {                   // [Language rfc5646 -> Flag filename] pairs
    "de": "de",
    "en": "gb",
    "es": "es",
    "en-gb": "gb",
    "en-us": "us",
    "fr": "fr",
    "ha": "",
    ...
  },
  "langAll": [                // All languages available
    {
      "_disabled": true,
      "value": "tp",
      "text": "TermPortal language"
    },
    {
      "id": "251",
      "value": "en-GB",
      "text": "English (UK) (en-GB)",
      "flag": "gb"
    },
    {
      "id": "252",
      "value": "en-US",
      "text": "English (US) (en-US)",
      "flag": "us"
    },
    {
      "id": "5,367,368,369,370,371,372,373,374,375,376,377,251,252",
      "value": "en",
      "text": "English (en)",
      "flag": "gb"
    },
    ...
    {
      "_disabled": true,
      "value": "all",
      "text": "All other languages available"
    },
    {
      "id": "496",
      "value": "zh-HK",
      "text": "Chinese (Hong Kong) (zh-HK)",
      "flag": "hk"
    },
    {
      "id": "371",
      "value": "en-IE",
      "text": "English (Ireland) (en-IE)",
      "flag": "ie"
    },
  ],
  "language": "5,367,368,369,370,371,372,373,374,375,376,377,251,252", // Id of currently selected language. If comma-separated it
                                                                       // means it’s not a certain sublanguage, but a main language
                                                                       // so is containing main language id plus all sublanguages ids
  "cfg": {                                     // Those of config options that client app rely on
    "commentAttributeMandatory": false,        // Comment attribute is required while making  a new term proposal. Not applicable to
                                               // making proposal for existing term
    "newTermAllLanguagesAvailable": true,      // Flag indicating whether or not all languages should be available for selection
                                               // while creating new term
    "liveSearchMinChars": 3,                   // Min chars for terms live search to work
    "helpWindow": {
      "termportal": {
        "notAutoShow": true,
        "loaderUrl": "/help/{0}"
      },
      "itranslate": {
        "notAutoShow": true,
        "loaderUrl": "/help/{0}"
      }
    },
    "logoutOnWindowClose": false,
    "itranslate": {
      "showSubLanguages": false              // Whether or not InstantTranslate.showSubLanguages config is turned on
    }
  },
  "right": {                                 // Those of access rights that client app rely on
    "delete": {
      "attribute": true                      // Whether DELETE-request to /editor/attribute is allowed
    },
    "deleteAny": {
      "attribute": true                      // If false, not any but only certain attributes are deletable
    },
    "propose": true,
    "review": true,
    "finalize": true,
    "anyStatus": true,
    "batchEdit": true,
    "transfer": true,
    "attrLabel": true,
    "translate5": true
  }
}

Differences and purpose of 'lang', 'langAll' and 'langInclSubs':

lang

  1. 'TermPortal languages' - the ones that are really in use by at least one term in at least one TermCollection accessible for current user
    1. Ids for major languages in this array - are comma-separated e.g. '<main-lang-id>,<sub-lang1-id>,<sub-lang2-id>,...' to make sure search for 'de' will also show results for 'de-DE', 'de-CH', etc
    2. If showSubLanguages-config is 0, then all sublanguages are excluded from the list, but not excluded from the comma-separated ids for major languages
  2. Used in:
    1. Top-right side search language-dropdown
    2. Filter-window's noTermDefinedFor-dropdown

langAll

  1. 'Term proposal languages' - the 'TermPortal languages' group plus 'All other languages available' group.
    1. Second group is not affected by showSubLanguages-config
  2. Used in language-dropdown with choices shown in two groups but only if newTermAllLanguagesAvailable-config is 1 (default), otherwise lang is used instead of langAll on both of these places:
    1. New term proposal (in left panel and in siblings panel)
    2. Instant-translation (in siblings panel)

langInclSubs

  1. Equal to 'TermPortal languages' if showSubLanguages-config is 1 (default)
  2. Used as a full source of truth, which is needed in below cases because siblings can have languages absent in 'TermPortal languages' when showSubLanguages-config is 0:
    1. siblings-panel's 'Languages to display'-dropdown
    2. siblings-panel's siblings' lang codes and flags mapping

Term search & deep linking

RequestGET /editor/plugins_termportal_data/search
Deep linking

It's possible to feed search params not only into GET request via HTTP API, but also into the address string in the browser, and this is useful in cases when you need to open TermPortal with terms search results auto-loaded based on certain given params. See the example:

https://yourT5app.com/editor/termportal?sessionToken=abc123#termportal/search/param1=value1&param2=value2

Note:

  1. sessionToken - is not a search param, and is needed only if your users might not be already authenticated in t5 when opening TermPortal
  2. All search params shown below - are supported, except limit and start
Params

query* Required. Search query. Wildcard characters '*' and '?' are supported for multi- and single-char searches, respectively. 


language Required. ID of language which searched terms belong to. See lang in Client app setup data response structure

limit Requred. Results limit per page. Integer value expected.

start Required. Results offset. Integer value expected.

clientIds Optional. Comma-separated list of integers, representing client IDs. See filterWindow.clients in Client app setup data response structure


collectionIds Optional. Comma-separated list of integers, representing collection IDs. See filterWindow.collections in Client app setup data response structure

processStatus Optional. Comma-separated list of any of 'unprocessed', 'provisionallyProcessed', 'finalized' and 'rejected'.

noTermDefinedFor Optional. ID of language, that term is not yet defined for

attr-x Optional. Attribute search, where 'x' - is the key in filterWindow.attributes (see Client app setup data response structure). If param name is mentioned among request params but no param value given, the search will return the terms having such attributes defined even despite having empty value. If param value is given, wildcard characters '*' and '?' are supported, first for multichar and second for single-char purpose. Multiple attributes search is supported, just use attr-x, attr-y etc

termEntryTbxId Optional. Partially known tbx ids are supported


termTbxId Optional. Partially known tbx ids are supported

tbxCreatedBy Optional. ID of person who was specified as creator in imported tbx data (see filterWindow.tbxCreatedBy array in Client app setup data response structure)

tbxCreatedGt Optional. Should be used to search terms created since certain date, inclusively, according to imported tbx data. Value is expected in format yyyy-mm-dd. Can be used with tbxCreatedLt if search by date range is needed.

tbxCreatedLt Optional. Should be used to search terms created until certain date, inclusively, according to imported tbx data. Value is expected in format yyyy-mm-dd. Can be used with tbxCreatedGt if search by date range is needed.

tbxCreatedAt Optional. Exact date of creation specified in imported tbx data. Date in format yyyy-mm-dd is expected. This can only be used if f tbxCreatedGt and tbxCreatedLt are NOT given

tbxUpdatedBy Optional. ID of person who was specified as updater in imported tbx data (see filterWindow.tbxUpdatedBy array in Client app setup data response structure)

tbxUpdatedGt Optional. Should be used to search terms updated since certain date, inclusively, according to imported tbx data. Value is expected in format yyyy-mm-dd. Can be used with tbxUpdatedLt if search by date range is needed.

tbxUpdatedLt Optional. Should be used to search terms updated until certain date, inclusively, according to imported tbx data. Value is expected in format yyyy-mm-dd. Can be used with tbxUpdatedGt if search by date range is needed.


tbxUpdatedAt Optional. Exact date of creation specified in imported tbx data. Date in format yyyy-mm-dd is expected. This can only be used if  tbxUpdatedGt and tbxUpdatedLt are NOT given

Response
{
    "totalCount": 5,
    "data": [
        {
            "id": "187459",
            "collectionId": "82",
            "termEntryId": "16610",
            "languageId": "5",
            "term": "federated database",
            "proposal": "",
            "processStatus": "provisionallyProcessed",
            "status": "admittedTerm",
            "definition": "language-level definition",
            "termEntryTbxId": "c6",
            "collectionName": "C:\\fakepath\\TBX-basic-sample"
        },
        {
            "id": "573874",
            "collectionId": "82",
            "termEntryId": "16611",
            "languageId": "5",
            "term": "progressive power lens1",
            "proposal": "progressive power lens",
            "processStatus": "provisionallyProcessed",
            "status": "deprecatedTerm",
            "definition": "entry-level def2",
            "termEntryTbxId": "c7",
            "collectionName": "C:\\fakepath\\TBX-basic-sample"
        },
        ...
    ]
}

Get whole info about attributes and terms of a termEntry, identified by an any term in that termEntry

RequestPOST /editor/plugins_termportal_data/terminfo
ParamstermId Required. ID of term inside a termEntry we need to get info about

Response contains:

  • termEntry-level attributes
  • language-level attributes (for all languages including language of current one, plus for language of current one separately),
  • term-level attributes (for all terms incl. current one, plus for current one separately)

under 'entry', 'languages', 'language', 'siblings.data', 'term' keys, respectively. Also, 'siblings.data' contains all terms that belong termEntry where current term belongs, including the current one.

Response
{
    "entry": {
        "client": "defaultcustomer",
        "tbx": "c6",
        "origination": "Pavel Perminov, 21.10.2021 00:00:00",
        "modification": "Pavel Perminov, 05.05.2022 14:07:02",
        "attributes": [
            {
                "id": "2020439",
                "elementName": "note",
                "value": "some entry-level comment",
                "type": null,
                "dataTypeId": "20",
                "language": null,
                "target": null,
				"readonly": false,
                "deletable": true,
                "created": "Unknown user, 20.04.2022 18:49:18",
                "updated": "Pavel Perminov, 05.05.2022 15:06:50"
            },
            ...
        ],
        "hasComment": true,
        "xrefs": {
            "xGraphic": [
                {
                    "id": "2020461",
                    "elementName": "xref",
                    "value": "logo",
                    "type": "xGraphic",
                    "dataTypeId": "71",
                    "language": null,
                    "target": "https://mydomain.com/logo.png",
                    "deletable": true,
                    "created": "Pavel Perminov, 05.05.2022 13:59:51",
                    "updated": "Pavel Perminov, 05.05.2022 15:00:18",
                    "isValidUrl": true
                },
                {
                    "id": "2020460",
                    "elementName": "xref",
                    "value": null,
                    "type": "xGraphic",
                    "dataTypeId": "71",
                    "language": null,
                    "target": null,
                    "deletable": true,
                    "created": "Pavel Perminov, 05.05.2022 13:59:51",
                    "updated": "Pavel Perminov, 05.05.2022 13:59:51"
                },
                {
                    "id": "2020459",
                    "elementName": "xref",
                    "value": null,
                    "type": "xGraphic",
                    "dataTypeId": "71",
                    "language": null,
                    "target": null,
                    "deletable": true,
                    "created": "Pavel Perminov, 05.05.2022 13:59:44",
                    "updated": "Pavel Perminov, 05.05.2022 13:59:44"
                },
                ...
            ],
            "externalCrossReference": [
                {
                    "id": "2020458",
                    "elementName": "xref",
                    "value": "info page",
                    "type": "externalCrossReference",
                    "dataTypeId": "75",
                    "language": null,
                    "target": "https://wikipedia.org",
                    "deletable": true,
                    "created": "Pavel Perminov, 05.05.2022 13:58:58",
                    "updated": "Pavel Perminov, 05.05.2022 14:59:26",
                    "isValidUrl": true
                },
                {
                    "id": "2020457",
                    "elementName": "xref",
                    "value": null,
                    "type": "externalCrossReference",
                    "dataTypeId": "75",
                    "language": null,
                    "target": null,
                    "deletable": true,
                    "created": "Pavel Perminov, 05.05.2022 13:58:53",
                    "updated": "Pavel Perminov, 05.05.2022 13:58:53"
                },
                ...
            ]
        },
        "images": [
            {
                "id": "2020462",
                "elementName": "descrip",
                "value": "Image",
                "type": "figure",
                "dataTypeId": "85",
                "language": null,
                "target": "826561d7-cda4-4b49-a1b2-1a1225b07a2c",
                "deletable": true,
                "created": "Pavel Perminov, 05.05.2022 14:00:41",
                "updated": "Pavel Perminov, 05.05.2022 14:00:41",
                "src": "/editor/plugins/termimage/TermPortal/tc_82/ac9c6217-b92d-4a5d-bef7-8320123bd750.jpg"
            },
            ...
        ],
        "refs": [
            {
                "id": "2020456",
                "elementName": "ref",
                "value": null,
                "type": "crossReference",
                "dataTypeId": "78",
                "language": null,
                "target": null,
                "deletable": true,
                "created": "Pavel Perminov, 05.05.2022 13:58:40",
                "updated": "Pavel Perminov, 05.05.2022 13:58:40"
            },
            {
                "termEntryId": "16611",
                "collectionId": "82",
                "language": "en",
                "termId": "573874",
                "languageId": "5",
                "value": "progressive power lens1",
                "processStatus": "provisionallyProcessed",
                "status": "deprecatedTerm",
                "isValidTbx": true,
                "id": "2020453",
                "elementName": "ref",
                "type": "crossReference",
                "dataTypeId": "78",
                "target": "c7",
                "deletable": true,
                "created": "Pavel Perminov, 05.05.2022 13:54:58",
                "updated": "Pavel Perminov, 05.05.2022 14:55:20"
            },
            ...
        ]
    },
    "siblings": {
        "langToShow": [],
        "data": [                   // All terms that belong to the termEntry where the current term belongs.
            {                       // Current term means the one identified by `termId` request param.
				"id": "187459",     // Current term is also in this array.
		        "tbx": "450f86e8-7a31-4aa8-9c25-ce0a5f968262",
        		"languageId": "5",
		        "language": "en",
        		"term": "federated database",
		        "proposal": "",
        		"collectionId": "82",
		        "status": "admittedTerm",
        		"processStatus": "provisionallyProcessed",
		        "termEntryId": "16610",
        		"termEntryTbxId": "c6",
		        "createdBy": "2",
        		"deletable": true,
		        "editable": true,
        		"origination": "Pavel Perminov, 21.10.2021 14:10:30",
		        "modification": "Pavel Perminov, 05.05.2022 14:06:43",
        		"attributes": [
		            {
                		"id": "669225",
        		        "elementName": "termNote",
		                "value": "provisionallyProcessed",
                		"type": "processStatus",
        		        "dataTypeId": "47",
		                "language": "en",
                		"target": "",
        		        "deletable": false,
		                "created": "Unknown user, 20.10.2021 19:59:06",
                		"updated": "Unknown user, 26.04.2022 12:30:39",
        		        "imported": {
		                    "value": "finalized",
                		    "target": ""
        		        }
		            },
        		    {
		                "id": "669226",
                		"elementName": "termNote",
        		        "value": "admitted",
		                "type": "administrativeStatus",
                		"dataTypeId": "21",
        		        "language": "en",
		                "target": "",
        		        "deletable": false,
		                "created": "Unknown user, 20.10.2021 19:59:06",
                		"updated": "Unknown user, 26.04.2022 12:30:39",
        		        "imported": {
		                    "value": "admittedTerm-admn-sts",
                		    "target": ""
        		        }
		            },
        		    {
		                "id": "2020468",
                		"elementName": "note",
        		        "value": "Some term-level comment",
		                "type": null,
                		"dataTypeId": "20",
        		        "language": "en",
		                "target": null,
                		"deletable": true,
        		        "created": "Pavel Perminov, 05.05.2022 14:06:12",
		                "updated": "Pavel Perminov, 05.05.2022 15:06:43"
		            },
        		    ...
		        ],
        		"hasComment": true,
		        "xrefs": {
		            "xGraphic": [
		                {
                		    "id": "2020467",
        		            "elementName": "xref",
		                    "value": "term external image 1",
                		    "type": "xGraphic",
        		            "dataTypeId": "71",
		                    "language": "en",
                		    "target": "https://images.google.com",
        		            "deletable": true,
		                    "created": "Pavel Perminov, 05.05.2022 14:05:21",
                		    "updated": "Pavel Perminov, 05.05.2022 15:05:41",
        		            "isValidUrl": true
		                },
                		...
        		    ],
		            "externalCrossReference": [
        		        {
		                    "id": "2020465",
                		    "elementName": "xref",
        		            "value": "term info page",
		                    "type": "externalCrossReference",
                		    "dataTypeId": "75",
        		            "language": "en",
		                    "target": "https://google.com",
				            "deletable": true,
                		    "created": "Pavel Perminov, 05.05.2022 14:04:51",
        		            "updated": "Pavel Perminov, 05.05.2022 15:05:05",
		                    "isValidUrl": true
                		},
        		        ...
		            ]
        		},
		        "refs": [
        		    {
		                "termEntryId": "16611",
                		"collectionId": "82",
        		        "language": "en",
		                "termId": "187461",
                		"languageId": "5",
        		        "value": "progressive lens",
		                "processStatus": "unprocessed",
                		"status": "deprecatedTerm",
        		        "isValidTbx": true,
		                "id": "2020463",
                		"elementName": "ref",
        		        "type": "crossReference",
		                "dataTypeId": "78",
                		"target": "61806997-dfea-47df-a129-56f60b554df3",
        		        "deletable": true,
		                "created": "Pavel Perminov, 05.05.2022 14:03:31",
                		"updated": "Pavel Perminov, 05.05.2022 15:04:43"
        		    },
		            ...
        		],
		        "itranslate": [         // Languages, into which this term is translatable via InstantTranslate
					"de",
					"fr"
				]
            },
            {
                "id": "607613",
                "tbx": "idb96a459e-e866-4041-9542-a5547969fb23",
                "languageId": "5",
                "language": "en",
                "term": "more database",
                "proposal": "",
                "collectionId": "82",
                "status": "admittedTerm",
                "processStatus": "finalized",
                "termEntryId": "16610",
                "termEntryTbxId": "c6",
                "createdBy": "17",
                "deletable": true,
                "editable": true,
                "origination": "Pavel Perminov, 21.10.2021 00:00:00",
                "modification": "Pavel Perminov, 05.05.2022 14:07:02",
                "attributes": [...],
                "hasComment": false,
                "xrefs": {
                    "xGraphic": [...],
                    "externalCrossReference": [...]
                },
                "images": [
                    {
                        "id": "2020462",
                        "elementName": "descrip",
                        "value": "Image",
                        "type": "figure",
                         "dataTypeId": "85",
                         "language": null,
                         "target": "826561d7-cda4-4b49-a1b2-1a1225b07a2c",
                         "deletable": true,
                         "created": "Pavel Perminov, 05.05.2022 14:00:41",
                         "updated": "Pavel Perminov, 05.05.2022 14:00:41",
                         "src": "/editor/plugins/termimage/TermPortal/tc_82/ac9c6217-b92d-4a5d-bef7-8320123bd750.jpg"
                     },
                     ...
                ],
                "refs": [...],
                "itranslate": [...],
            },
            {
                "id": "187460",
                "tbx": "5c87200f-e4fc-4147-9494-662253811b56",
                "languageId": "253",
                "language": "fr",
                "term": "base de données fédérée",
                "proposal": "base de données fédérée1",
                "collectionId": "82",
                "status": "admittedTerm",
                "processStatus": "unprocessed",
                "termEntryId": "16610",
                "termEntryTbxId": "c6",
                "createdBy": "2",
                "deletable": true,
                "editable": true,
                "origination": "Pavel Perminov, 21.10.2021 00:00:00",
                "modification": "Pavel Perminov, 05.05.2022 14:07:02",
                "attributes": [...],
                "hasComment": false,
                "xrefs": {
                    "xGraphic": [...],
                    "externalCrossReference": [...]
                },
                "images": [
                    {
                        "id": "2020462",
                        "elementName": "descrip",
                        "value": "Image",
                        "type": "figure",
                        "dataTypeId": "85",
                        "language": null,
                        "target": "826561d7-cda4-4b49-a1b2-1a1225b07a2c",
                        "deletable": true,
                        "created": "Pavel Perminov, 05.05.2022 14:00:41",
                        "updated": "Pavel Perminov, 05.05.2022 14:00:41",
                        "src": "/editor/plugins/termimage/TermPortal/tc_82/ac9c6217-b92d-4a5d-bef7-8320123bd750.jpg"
                    },
                    ...
                ],
                "refs": [...],
                "itranslate": [...]
            }
        ]
    },
    "language": {                           // Language of current term. 
        "language": "en",                   // Copied here from `languages` (see below) for compatibility purpose.
        "id": "5",
        "origination": "Pavel Perminov, 21.10.2021 14:10:30",
        "modification": "Pavel Perminov, 05.05.2022 14:07:02",
        "attributes": [
            {
                "language": "en",
                "termId": null,
                "id": "2020469",
                "elementName": "note",
                "value": "some language-level comment",
                "type": null,
                "dataTypeId": "20",
                "language": "en",
                "target": null,
                "readonly": false,
                "created": "Pavel Perminov, 05.05.2022 14:06:28",
                "updated": "Pavel Perminov, 05.05.2022 15:06:35"
            },
            ...
        ],
        "hasComment": true,
        "xrefs": {
            "xGraphic": [],
            "externalCrossReference": []
        },
        "images": [
            {
                "language": "en-gb",
                "termId": null,
                "id": "2020470",
                "elementName": "descrip",
                "value": "Image",
                "type": "figure",
                "dataTypeId": "85",
                "language": "en",
                "target": "770ffd14-b713-4ef8-958e-88ad9f31beb4",
                "readonly": false,
                "created": "Pavel Perminov, 05.05.2022 14:07:01",
                "updated": "Pavel Perminov, 05.05.2022 14:07:01",
                "src": "/editor/plugins/termimage/TermPortal/tc_82/80527568-48a9-483a-9b3c-d900ea613213.jpg"
            },
            ...
        ]
    },
    "term": {                                    // Current term.
        "id": "187459",                          // Copied here from `siblings.data` for compatibility purpose.
        "tbx": "450f86e8-7a31-4aa8-9c25-ce0a5f968262",
        "languageId": "5",
        "language": "en",
        "term": "federated database",
        "proposal": "",
        "collectionId": "82",
        "status": "admittedTerm",
        "processStatus": "provisionallyProcessed",
        "termEntryId": "16610",
        "termEntryTbxId": "c6",
        "createdBy": "2",
        "deletable": true,
        "editable": true,
        "origination": "Pavel Perminov, 21.10.2021 14:10:30",
        "modification": "Pavel Perminov, 05.05.2022 14:06:43",
        "attributes": [
            {
                "id": "669225",
                "elementName": "termNote",
                "value": "provisionallyProcessed",
                "type": "processStatus",
                "dataTypeId": "47",
                "language": "en",
                "target": "",
                "deletable": false,
                "created": "Unknown user, 20.10.2021 19:59:06",
                "updated": "Unknown user, 26.04.2022 12:30:39",
                "imported": {
                    "value": "finalized",
                    "target": ""
                }
            },
            {
                "id": "669226",
                "elementName": "termNote",
                "value": "admitted",
                "type": "administrativeStatus",
                "dataTypeId": "21",
                "language": "en",
                "target": "",
                "deletable": false,
                "created": "Unknown user, 20.10.2021 19:59:06",
                "updated": "Unknown user, 26.04.2022 12:30:39",
                "imported": {
                    "value": "admittedTerm-admn-sts",
                    "target": ""
                }
            },
            {
                "id": "2020468",
                "elementName": "note",
                "value": "Some term-level comment",
                "type": null,
                "dataTypeId": "20",
                "language": "en",
                "target": null,
                "deletable": true,
                "created": "Pavel Perminov, 05.05.2022 14:06:12",
                "updated": "Pavel Perminov, 05.05.2022 15:06:43"
            },
            ...
        ],
        "hasComment": true,
        "xrefs": {
            "xGraphic": [
                {
                    "id": "2020467",
                    "elementName": "xref",
                    "value": "term external image 1",
                    "type": "xGraphic",
                    "dataTypeId": "71",
                    "language": "en",
                    "target": "https://images.google.com",
                    "deletable": true,
                    "created": "Pavel Perminov, 05.05.2022 14:05:21",
                    "updated": "Pavel Perminov, 05.05.2022 15:05:41",
                    "isValidUrl": true
                },
                ...
            ],
            "externalCrossReference": [
                {
                    "id": "2020465",
                    "elementName": "xref",
                    "value": "term info page",
                    "type": "externalCrossReference",
                    "dataTypeId": "75",
                    "language": "en",
                    "target": "https://google.com",
                    "deletable": true,
                    "created": "Pavel Perminov, 05.05.2022 14:04:51",
                    "updated": "Pavel Perminov, 05.05.2022 15:05:05",
                    "isValidUrl": true
                },
                ...
            ]
        },
        "refs": [
            {
                "termEntryId": "16611",
                "collectionId": "82",
                "language": "en",
                "termId": "187461",
                "languageId": "5",
                "value": "progressive lens",
                "processStatus": "unprocessed",
                "status": "deprecatedTerm",
                "isValidTbx": true,
                "id": "2020463",
                "elementName": "ref",
                "type": "crossReference",
                "dataTypeId": "78",
                "target": "61806997-dfea-47df-a129-56f60b554df3",
                "deletable": true,
                "created": "Pavel Perminov, 05.05.2022 14:03:31",
                "updated": "Pavel Perminov, 05.05.2022 15:04:43"
            },
            ...
        ],
 		"itranslate": [
			"de",
			"fr"
		]
     },
    "languages": {   // Languages, for which at least 1 term exists in the current termEntry
        "en": {
	        "language": "en",
    	    "id": "5",
        	"origination": "Pavel Perminov, 21.10.2021 14:10:30",
	        "modification": "Pavel Perminov, 05.05.2022 14:07:02",
    	    "attributes": [
        	    {
            	    "language": "en",
                	"termId": null,
	                "id": "2020469",
    	            "elementName": "note",
        	        "value": "some language-level comment",
            	    "type": null,
                	"dataTypeId": "20",
	                "language": "en",
    	            "target": null,
        	        "readonly": false,
            	    "created": "Pavel Perminov, 05.05.2022 14:06:28",
                	"updated": "Pavel Perminov, 05.05.2022 15:06:35"
	            },
    	        ...
        	],
	        "hasComment": true,
    	    "xrefs": {
        	    "xGraphic": [],
            	"externalCrossReference": []
	        },
    	    "images": [
        	    {
            	    "language": "en-gb",
	                "termId": null,
    	            "id": "2020470",
        	        "elementName": "descrip",
            	    "value": "Image",
                	"type": "figure",
	                "dataTypeId": "85",
    	            "language": "en",
        	        "target": "770ffd14-b713-4ef8-958e-88ad9f31beb4",
            	    "readonly": false,
                	"created": "Pavel Perminov, 05.05.2022 14:07:01",
	                "updated": "Pavel Perminov, 05.05.2022 14:07:01",
    	            "src": "/editor/plugins/termimage/TermPortal/tc_82/80527568-48a9-483a-9b3c-d900ea613213.jpg"
        	    },
            	...
	        ]
        },
        "fr": {
            "language": "fr",
            "id": "253",
            "origination": "Pavel Perminov, 21.10.2021 00:00:00",
            "modification": "Pavel Perminov, 05.05.2022 14:07:02",
            "attributes": [
                {
                    "language": "fr",
                    "termId": null,
                    "id": "203609",
                    "elementName": "descrip",
                    "value": "some description",
                    "type": "definition",
                    "dataTypeId": "6",
                    "target": "",
                    "readonly": false,
                    "created": "Project Manager, 28.09.2023 13:15:26",
                    "updated": "Project Manager, 28.09.2023 13:15:26"
                }
            ],
            "hasComment": false,
            "xrefs": {
                "xGraphic": [],
                "externalCrossReference": []
            },
            "images": []
        },
        ...
    }
}


Get attributes for a specific term

RequestPOST  /editor/plugins_termportal_data/siblinginfo
ParamstermId Required. ID of term we need to get info about
Response

Same as for 'terminfo', described above, except two things:

  1. Does NOT contain 'siblings'-key
  2. Does NOT contain termEntry-level attributes except 'refs', which are required due to that reference targets on termEntry-level are pointing to termEntries, which, in thir turn, anyway need to be somehow shown in TermPortal client app GUI, and the solution that was implemented to solve that problem assumes that terms are shown there, but they can be different depending on the language of term given by 'termId' request-param

Transfer terms to main translate5 app as project of type 'termtranslation'

RequestPOST /editor/plugins_termportal_data/transfer
ParamsclientId Required. Id of a customer, that newly created termtranslation-project will belong to

projectName Required. Project name

sourceLang Required. ID of source language. See lang in Client app setup data response

targetLang Required. Comma-separated list of target languages IDs. See langAll in Client app setup data response

terms=(all|none) Required. Terms selection mode. Used in conjunction with except param, e.g. the idea of possible selections are:

  1. "all except 1,2,3". To use this mode you need to run Term search-request at least once, for search params to be catched in session, because this mode assumes that terms to be involved are recognized indirectly - e.g by search rather than by explicit IDs list. So except-param is used for deselection, e.g to exclude some of search results (by IDs) from being transfered into termtranslation-project. If nothing should be excluded, except-param should be kept empty
  2. "none except 1,2,3". Ordinary mode - terms to be transfered for translation are selected directly by their IDs, provided by except-param

except Required if terms=none. Empty string or comma-separated list of term IDs

translated=(0|1) Required. Whether to transfer terms for translation even if they already have translation for given target languages

definition=(0|1) Required. Whether to transfer terms definition-attrs for translation as well

Response is containing json-object with key names from step1 to step5, and responses from the corresponding steps of project creation workflow

Response
{
    "step1": {
        "success": true,
        "rows": {
            "id": "586",
            "entityVersion": "3",
            "modified": "2022-05-06 09:09:03",
            "taskGuid": "{712ae3b6-7057-4a20-8de8-d4e7147db674}",
            "taskNr": "",
            "foreignId": "",
            "taskName": "test project",
            "foreignName": "",
            "sourceLang": "5",
            "targetLang": "0",
            "relaisLang": "0",
            "lockedInternalSessionUniqId": null,
            "locked": null,
            "lockingUser": null,
            "state": "project",
            "workflow": "default",
            "workflowStep": "1",
            "workflowStepName": "",
            "pmGuid": "{686cb35b-8c6b-4ce9-9de7-e6af721ff9f5}",
            "pmName": "Mustermann, Max (OID-35)",
            "wordCount": "0",
            "userCount": "0",
            "orderdate": "2022-05-06 00:00:00",
            "enddate": null,
            "referenceFiles": "0",
            "terminologie": "0",
            "enableSourceEditing": "0",
            "edit100PercentMatch": "0",
            "lockLocked": "1",
            "qmSubsegmentFlags": null,
            "emptyTargets": "0",
            "importAppVersion": "development",
            "customerId": "1",
            "usageMode": "cooperative",
            "segmentCount": "0",
            "segmentFinishCount": "0",
            "taskType": "termtranslation",
            "projectId": "586",
            "diffExportUsable": "0",
            "description": "",
            "created": "2022-05-06 09:08:54",
            "projectTasks": [
                {
                    "id": "587",
                    "entityVersion": "4",
                    "modified": "2022-05-06 09:08:56",
                    "taskGuid": "{b4f17c98-9350-4d71-8f07-28ddbe9bd209}",
                    "taskNr": "",
                    "foreignId": "",
                    "taskName": "test project - en / bg-BG",
                    "foreignName": "",
                    "sourceLang": "5",
                    "targetLang": "352",
                    "relaisLang": "0",
                    "lockedInternalSessionUniqId": "*translate5InternalLock*import",
                    "locked": "2022-05-06 08:08:53",
                    "lockingUser": "{00000000-0000-0000-0000-000000000000}",
                    "state": "import",
                    "workflow": "default",
                    "workflowStep": "1",
                    "workflowStepName": "no workflow",
                    "pmGuid": "{686cb35b-8c6b-4ce9-9de7-e6af721ff9f5}",
                    "pmName": "Mustermann, Max (OID-35)",
                    "wordCount": "0",
                    "userCount": "0",
                    "orderdate": "2022-05-06 00:00:00",
                    "enddate": null,
                    "referenceFiles": "0",
                    "terminologie": "0",
                    "enableSourceEditing": "0",
                    "edit100PercentMatch": "0",
                    "lockLocked": "1",
                    "qmSubsegmentFlags": null,
                    "emptyTargets": "0",
                    "importAppVersion": "development",
                    "customerId": "1",
                    "usageMode": "cooperative",
                    "segmentCount": "0",
                    "segmentFinishCount": "0",
                    "taskType": "termtranslationTask",
                    "projectId": "586",
                    "diffExportUsable": "0",
                    "description": "",
                    "created": "2022-05-06 09:08:54"
                },
                {
                    "id": "588",
                    "entityVersion": "6",
                    "modified": "2022-05-06 09:09:00",
                    "taskGuid": "{7a37f2af-ab76-44f8-ac45-182cc5ede849}",
                    "taskNr": "",
                    "foreignId": "",
                    "taskName": "test project - en / zh-TW",
                    "foreignName": "",
                    "sourceLang": "5",
                    "targetLang": "271",
                    "relaisLang": "0",
                    "lockedInternalSessionUniqId": "*translate5InternalLock*import",
                    "locked": "2022-05-06 08:08:53",
                    "lockingUser": "{00000000-0000-0000-0000-000000000000}",
                    "state": "import",
                    "workflow": "default",
                    "workflowStep": "1",
                    "workflowStepName": "no workflow",
                    "pmGuid": "{686cb35b-8c6b-4ce9-9de7-e6af721ff9f5}",
                    "pmName": "Mustermann, Max (OID-35)",
                    "wordCount": "0",
                    "userCount": "0",
                    "orderdate": "2022-05-06 00:00:00",
                    "enddate": null,
                    "referenceFiles": "0",
                    "terminologie": "0",
                    "enableSourceEditing": "0",
                    "edit100PercentMatch": "0",
                    "lockLocked": "1",
                    "qmSubsegmentFlags": null,
                    "emptyTargets": "0",
                    "importAppVersion": "development",
                    "customerId": "1",
                    "usageMode": "cooperative",
                    "segmentCount": "0",
                    "segmentFinishCount": "0",
                    "taskType": "termtranslationTask",
                    "projectId": "586",
                    "diffExportUsable": "0",
                    "description": "",
                    "created": "2022-05-06 09:08:54"
                }
            ]
        }
    },
    "step2": {
        "rows": {
            "id": "586",
            "entityVersion": "3",
            "modified": "2022-05-06 09:09:03",
            "taskGuid": "{712ae3b6-7057-4a20-8de8-d4e7147db674}",
            "taskNr": "",
            "foreignId": "",
            "taskName": "test project",
            "foreignName": "",
            "sourceLang": "5",
            "targetLang": "0",
            "relaisLang": "0",
            "lockedInternalSessionUniqId": null,
            "locked": null,
            "lockingUser": null,
            "state": "project",
            "workflow": "default",
            "workflowStep": "1",
            "workflowStepName": "",
            "pmGuid": "{686cb35b-8c6b-4ce9-9de7-e6af721ff9f5}",
            "pmName": "Mustermann, Max (OID-35)",
            "wordCount": "0",
            "userCount": "0",
            "orderdate": "2022-05-06 00:00:00",
            "enddate": null,
            "referenceFiles": "0",
            "terminologie": "0",
            "enableSourceEditing": "0",
            "edit100PercentMatch": "0",
            "lockLocked": "1",
            "emptyTargets": "0",
            "importAppVersion": "development",
            "customerId": "1",
            "usageMode": "cooperative",
            "segmentCount": "0",
            "segmentFinishCount": "0",
            "taskType": "termtranslation",
            "projectId": "586",
            "diffExportUsable": "0",
            "description": "",
            "created": "2022-05-06 09:08:54",
            "lockingUsername": null,
            "segmentFields": [],
            "userPrefs": [
                {
                    "id": null,
                    "taskGuid": null,
                    "workflow": null,
                    "workflowStep": null,
                    "anonymousCols": false,
                    "visibility": "show",
                    "userGuid": null,
                    "fields": "",
                    "notEditContent": false,
                    "taskUserAssocId": null
                }
            ],
            "notEditContent": false,
            "defaultSegmentLayout": true,
            "userTracking": [],
            "taskassocs": [],
            "pixelMapping": [],
            "lastErrors": [],
            "workflowProgressSummary": [
                {
                    "workflowStep": "no workflow",
                    "status": "edit",
                    "progress": 0,
                    "segmentWorkCount": {
                        "edited": 0,
                        "confirmed": 0,
                        "sum": 0
                    }
                },
                {
                    "workflowStep": "translation",
                    "status": "open",
                    "progress": 0,
                    "segmentWorkCount": {
                        "edited": 0,
                        "confirmed": 0,
                        "sum": 0
                    }
                },
                {
                    "workflowStep": "reviewing",
                    "status": "open",
                    "progress": 0,
                    "segmentWorkCount": {
                        "edited": 0,
                        "confirmed": 0,
                        "sum": 0
                    }
                },
                {
                    "workflowStep": "translatorCheck",
                    "status": "open",
                    "progress": 0,
                    "segmentWorkCount": {
                        "edited": 0,
                        "confirmed": 0,
                        "sum": 0
                    }
                },
                {
                    "workflowStep": "workflowEnded",
                    "status": "open",
                    "progress": 0,
                    "segmentWorkCount": {
                        "edited": 0,
                        "confirmed": 0,
                        "sum": 0
                    }
                },
                {
                    "workflowStep": "pmCheck",
                    "status": "open",
                    "progress": 0,
                    "segmentWorkCount": {
                        "edited": 0,
                        "confirmed": 0,
                        "sum": 0
                    }
                },
                {
                    "workflowStep": "visiting",
                    "status": "open",
                    "progress": 0,
                    "segmentWorkCount": {
                        "edited": 0,
                        "confirmed": 0,
                        "sum": 0
                    }
                }
            ]
        }
    },
    "step3": {
        "587": {
            "82": {
                "rows": {
                    "id": "298",
                    "languageResourceId": "82",
                    "taskGuid": "{b4f17c98-9350-4d71-8f07-28ddbe9bd209}",
                    "segmentsUpdateable": "0",
                    "autoCreatedOnImport": "0"
                }
            }
        },
        "588": {
            "82": {
                "rows": {
                    "id": "299",
                    "languageResourceId": "82",
                    "taskGuid": "{7a37f2af-ab76-44f8-ac45-182cc5ede849}",
                    "segmentsUpdateable": "0",
                    "autoCreatedOnImport": "0"
                }
            }
        }
    },
    "step4": {
        "rows": {
            "id": "586",
            "entityVersion": "3",
            "modified": "2022-05-06 09:09:03",
            "taskGuid": "{712ae3b6-7057-4a20-8de8-d4e7147db674}",
            "taskNr": "",
            "foreignId": "",
            "taskName": "test project",
            "foreignName": "",
            "sourceLang": "5",
            "targetLang": "0",
            "relaisLang": "0",
            "lockedInternalSessionUniqId": null,
            "locked": null,
            "lockingUser": null,
            "state": "project",
            "workflow": "default",
            "workflowStep": "1",
            "workflowStepName": "",
            "pmGuid": "{686cb35b-8c6b-4ce9-9de7-e6af721ff9f5}",
            "pmName": "Mustermann, Max (OID-35)",
            "wordCount": "0",
            "userCount": "0",
            "orderdate": "2022-05-06 00:00:00",
            "enddate": null,
            "referenceFiles": "0",
            "terminologie": "0",
            "enableSourceEditing": "0",
            "edit100PercentMatch": "0",
            "lockLocked": "1",
            "emptyTargets": "0",
            "importAppVersion": "development",
            "customerId": "1",
            "usageMode": "cooperative",
            "segmentCount": "0",
            "segmentFinishCount": "0",
            "taskType": "termtranslation",
            "projectId": "586",
            "diffExportUsable": "0",
            "description": "",
            "created": "2022-05-06 09:08:54",
            "lockingUsername": null,
            "segmentFields": [],
            "userPrefs": [
                {
                    "id": null,
                    "taskGuid": null,
                    "workflow": null,
                    "workflowStep": null,
                    "anonymousCols": false,
                    "visibility": "show",
                    "userGuid": null,
                    "fields": "",
                    "notEditContent": false,
                    "taskUserAssocId": null
                }
            ],
            "notEditContent": false,
            "defaultSegmentLayout": true,
            "userTracking": [],
            "taskassocs": [],
            "pixelMapping": [],
            "lastErrors": [],
            "workflowProgressSummary": [
                {
                    "workflowStep": "no workflow",
                    "status": "edit",
                    "progress": 0,
                    "segmentWorkCount": {
                        "edited": 0,
                        "confirmed": 0,
                        "sum": 0
                    }
                },
                {
                    "workflowStep": "translation",
                    "status": "open",
                    "progress": 0,
                    "segmentWorkCount": {
                        "edited": 0,
                        "confirmed": 0,
                        "sum": 0
                    }
                },
                {
                    "workflowStep": "reviewing",
                    "status": "open",
                    "progress": 0,
                    "segmentWorkCount": {
                        "edited": 0,
                        "confirmed": 0,
                        "sum": 0
                    }
                },
                {
                    "workflowStep": "translatorCheck",
                    "status": "open",
                    "progress": 0,
                    "segmentWorkCount": {
                        "edited": 0,
                        "confirmed": 0,
                        "sum": 0
                    }
                },
                {
                    "workflowStep": "workflowEnded",
                    "status": "open",
                    "progress": 0,
                    "segmentWorkCount": {
                        "edited": 0,
                        "confirmed": 0,
                        "sum": 0
                    }
                },
                {
                    "workflowStep": "pmCheck",
                    "status": "open",
                    "progress": 0,
                    "segmentWorkCount": {
                        "edited": 0,
                        "confirmed": 0,
                        "sum": 0
                    }
                },
                {
                    "workflowStep": "visiting",
                    "status": "open",
                    "progress": 0,
                    "segmentWorkCount": {
                        "edited": 0,
                        "confirmed": 0,
                        "sum": 0
                    }
                }
            ]
        }
    },
    "step5": {
        "rows": {
            "id": "586",
            "entityVersion": "3",
            "modified": "2022-05-06 09:09:03",
            "taskGuid": "{712ae3b6-7057-4a20-8de8-d4e7147db674}",
            "taskNr": "",
            "foreignId": "",
            "taskName": "test project",
            "foreignName": "",
            "sourceLang": "5",
            "targetLang": "0",
            "relaisLang": "0",
            "lockedInternalSessionUniqId": null,
            "locked": null,
            "lockingUser": null,
            "state": "project",
            "workflow": "default",
            "workflowStep": "1",
            "workflowStepName": "",
            "pmGuid": "{686cb35b-8c6b-4ce9-9de7-e6af721ff9f5}",
            "pmName": "Mustermann, Max (OID-35)",
            "wordCount": "0",
            "userCount": "0",
            "orderdate": "2022-05-06 00:00:00",
            "enddate": null,
            "referenceFiles": "0",
            "terminologie": "0",
            "enableSourceEditing": "0",
            "edit100PercentMatch": "0",
            "lockLocked": "1",
            "emptyTargets": "0",
            "importAppVersion": "development",
            "customerId": "1",
            "usageMode": "cooperative",
            "segmentCount": "0",
            "segmentFinishCount": "0",
            "taskType": "termtranslation",
            "projectId": "586",
            "diffExportUsable": "0",
            "description": "",
            "created": "2022-05-06 09:08:54",
            "lockingUsername": null,
            "segmentFields": [],
            "userPrefs": [
                {
                    "id": null,
                    "taskGuid": null,
                    "workflow": null,
                    "workflowStep": null,
                    "anonymousCols": false,
                    "visibility": "show",
                    "userGuid": null,
                    "fields": "",
                    "notEditContent": false,
                    "taskUserAssocId": null
                }
            ],
            "notEditContent": false,
            "defaultSegmentLayout": true,
            "userTracking": [],
            "taskassocs": [],
            "pixelMapping": [],
            "lastErrors": [],
            "workflowProgressSummary": [
                {
                    "workflowStep": "no workflow",
                    "status": "edit",
                    "progress": 0,
                    "segmentWorkCount": {
                        "edited": 0,
                        "confirmed": 0,
                        "sum": 0
                    }
                },
                {
                    "workflowStep": "translation",
                    "status": "open",
                    "progress": 0,
                    "segmentWorkCount": {
                        "edited": 0,
                        "confirmed": 0,
                        "sum": 0
                    }
                },
                {
                    "workflowStep": "reviewing",
                    "status": "open",
                    "progress": 0,
                    "segmentWorkCount": {
                        "edited": 0,
                        "confirmed": 0,
                        "sum": 0
                    }
                },
                {
                    "workflowStep": "translatorCheck",
                    "status": "open",
                    "progress": 0,
                    "segmentWorkCount": {
                        "edited": 0,
                        "confirmed": 0,
                        "sum": 0
                    }
                },
                {
                    "workflowStep": "workflowEnded",
                    "status": "open",
                    "progress": 0,
                    "segmentWorkCount": {
                        "edited": 0,
                        "confirmed": 0,
                        "sum": 0
                    }
                },
                {
                    "workflowStep": "pmCheck",
                    "status": "open",
                    "progress": 0,
                    "segmentWorkCount": {
                        "edited": 0,
                        "confirmed": 0,
                        "sum": 0
                    }
                },
                {
                    "workflowStep": "visiting",
                    "status": "open",
                    "progress": 0,
                    "segmentWorkCount": {
                        "edited": 0,
                        "confirmed": 0,
                        "sum": 0
                    }
                }
            ]
        }
    }
}

  • No labels