Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Info

As outlined in What are tags?, Tags can contain additional data (attributes), which can be uniquely set for each entity-tag (i.e. Tag applied to a person or a team). This is useful if you seek to have common Tag names, but “data” (i.e. attributes) that is unique to the person/team to which a tag is applied.

This pages defines how to load unique entity-tag attributes.

...

Enabling attributes for tags

Note

Tags attributes need to be enabled by a TeamForm consultant via admin devtools, using the workspace feature flags “enableEntityTagAttributes.”

Tags with Unique Attributes to an Entity can then be added via tag type settings (manage tags):

...

Importing unique attributes along with a tag import can be done using specific pre-processing instruction using the normal integration for tag import.
An example of CSV file and JSON field map is provided below.

Simple example

...

titleSample CSV and JSON Fields Map

Sample CSV file

...

...

JSON Field Map

...

languagejson

...

Required configuration for the import

Your field map requires to include the following configuration:

  • "entityType":

...

  • "

...

  • person",

...

  • “group” or “both”

  • "preprocessor": "phoenixGenericTags"

  • "skipRemoveTagsFromEntity": false

  • "removeExistingEntityTags": true

  • "forceUpdateSameTag": true

  • "importShadowTag":false

Mapping of the primary key in your CSV file

  • "headerRowIdentifier"

  • "idType"

  • "idColumnName"

Detailed mapping to match your tag attributes

  • "tagTypes" an array of tag types which individually can contain:

    • "tagValueColumnNames" an array of column names that will be concatenated into a tag value using the next identifier "separator" –if creating value from a single column, concatenation and separators are skipped

    • "separator" the text to be used when concatenating values from several value column names –ignored if creating value from a single column

    • "tagType" the name of the column containing tag type –Will be used as value if the column doesn’t exist

    • "entityTagAttributes" an array of tag attributes which individually can contain:

      • "attrValueColumnName"

      • "label"

Sample CSV file

Code Block
Person ID,Tags,FTE
33947582,Funding source XXX,0.8

Sample JSON Field Map

Code Block
languagejson
{
  "entityType": "person",
  "preprocessor": "phoenixGenericTags",
  "skipRemoveTagsFromEntity": false,
  "removeExistingEntityTags": true,
  "forceUpdateSameTag": true,
  "importShadowTag": false,
  
  "headerRowIdentifier": "Person ID",
  "idType": "internalId",
  "idColumnName": "Person ID",
  
  "tagTypes": [
    {
      "
type
tagValueColumnNames":
"person"
 
} ], "others":
[

        
{ "action": "optional",
"Tags"
     
"associatedValue": ["Agile
 
Group"
],
      
"label
"separator": "
Group name",
_"
      
"
type
tagType": "
groupType" } ],
FUNDING_SOURCE",
      "
values
entityTagAttributes": [
        
{
"action": "optional", "associatedValue": "", "defaultValue": "", "label": "Supervisory Manager",

          
"attrValueColumnName": "
Manager ID", "type": "person" }, { "id": "abc123",
FTE",
          "
action": "optional", "associatedValue": "", "defaultValue": "", "
label": "
Manager group lead
FTE"
,

        
"attrValueColumnName": "Manager Group Lead", "type": "person"
}
      
]
,
    
}
  
}
]
,

"importShadowTag": false
}

Advanced example

Expand
titleSample CSV and advanced JSON Fields Map
Sample CSV

Downloadable file

view-file

code

nameimportTagsWithAttributesFieldsMap.json

Sample JSON Field Map (in file above)

Code Block
languagejson
{
  "entityType": "group",
  "skipRemoveTagsFromEntity": true,
  "preprocessor": "phoenixGenericTags",
  "headerRowIdentifier": "Organization Ref ID",
  "idColumnName": "Organization Ref ID",
  "idType": "externalId",
  "tagTypes": [
    {
      "tagValueColumnNames": ["Employee ID"],
      "separator": "_",
      "tagTypeColumnName": "Role Name",
      "tagTypeNamesMap": {
        "Project Hierarchy Manager": "Group Owner",
        "Project Manager": "Product Owner",
        "Project Hierarchy Performance Lead": "GPL"
      },
      "attributes": {
        "entityTag": [
          {
            "action": "optional",
            "associatedValue": "",
            "defaultValue": "",
            "label": "Country",
            "attrValueColumnName": "Country",
            "type": "text"
          },
          {
            "id": "bcd123",
            "action": "optional",
            "associatedValue": "",
            "defaultValue": "",
            "label": "Group Manager",
            "attrValueColumnName": "Group Manager",
            "type": "person"
          }
        ],
        "others": [
          {
            "action": "optional",
            "associatedValue": ["Agile Group"],
            "label": "Group name",
            "type": "groupType"
          }
        ],
        "values": [
          {
            "action": "optional",
            "associatedValue": "",
            "defaultValue": "",
            "label": "Supervisory Manager",
            "attrValueColumnName": "Manager ID",
            "type": "person"
          },
          {
            "id": "abc123",
            "action": "optional",
            "associatedValue": "",
            "defaultValue": "",
            "label": "Manager group lead",
            "attrValueColumnName": "Manager Group Lead",
            "type": "person"
          }
        ]
      }
    }
  ],
  "importShadowTag": false
}

Downloadable file:

...