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.

Info

Note: this is a special case of Tags With Attributes use. For more about importing Tags with Attributes, see: Bulk import Tags with attributes (common attributes)

...

Note: Entity tags need to be configured by a TeamForm consultant via admin devtools, workspace feature flags “enableEntityTagAttributes”

...

.

Table of Contents
stylenone

About unique attributes for tags

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

...

Tag config view (Setting → Manage Tags)

...

An example edit view when editing a tag applied to a person or team (select Person/ Team, Edit Tag)

...

Sample field Map Example for uploads:

...

titleSample Fields Map

...

...

Configuring tags attributes

Tags attributes can be configured from Settings > Manage tags.

...

Users can then associate values to the attributes when editing tags applied to a group or person. Navigate to a group or person page then select Edit tag.

...

Interaction Options for Unique Attributes

image-20240228-035611.pngImage Added

  • Optional - The attribute is not required, its value can be edited from the directory

  • Mandatory - The attribute must be provided when tagging a group or person, can be edited from the directory

  • Readonly - The attribute value cannot be edited from the directory

Importing tags and their unique attributes

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.

JSON Field Map

The following example tags a

Required configuration for the import

Your field map requires to include the following configuration:

  • "entityType": "person", “group” or “both”

  • "preprocessor": "phoenixGenericTags"

  • "skipRemoveTagsFromEntity": false

  • "removeExistingEntityTags": false

  • "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": false,
  "forceUpdateSameTag": true,
  "importShadowTag": false,
  
  "headerRowIdentifier": "Person ID",
  "idType": "internalId",
  "idColumnName": "Person ID",
  
  "tagTypes": [
    {
      "tagValueColumnNames": [
        "Tags"
      ],
      "separator": "_"
      "tagType": "FUNDING_SOURCE",
      "entityTagAttributes": [
        {
          "attrValueColumnName": "FTE",
          "label": "FTE"
        }
      ],
    }
  ]
}

Advanced example

Expand
titleSample advanced JSON Fields Map

Downloadable file

View file
nameimportTagsWithAttributesFieldsMap.json

Sample JSON Field Map (in file above)

Code Block
languagejson
{
  "entityType": "group",
  "skipRemoveTagsFromEntity": true,
  "preprocessor": "phoenixGenericTags",
  "headerRowIdentifier": "Organization Ref ID",
  "idTypeidColumnName": "externalIdOrganization Ref ID",
  "idColumnNameidType": "Organization Ref IDexternalId",
  "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:

View file
nameimportTagsWithAttributesFieldsMap.json

Interaction Options for Unique Attributes:

...

  • Optional - is not required, can be edited

  • Editable - not currently in use

  • Mandatory - must be provided when creating, can be edited

...