How to Identify System Groups with SYSTEM_GROUP_ UUIDs in Appian

In my Appian environment, I’ve noticed that some groups have UUIDs that start with SYSTEM_GROUP_ followed by the group name, instead of the usual alphanumeric UUID format.
How can I logically identify or classify these groups separately from regular groups? 

When I use scimGetGroup() on these SYSTEM_GROUP_ groups, it doesn’t return any group attributes, unlike the other groups with standard UUIDs.
Is this expected behavior? And is there a workaround to retrieve attributes for these system groups?

  Discussion posts and replies are publicly visible

Parents
  • 0
    Certified Lead Developer
    How can I logically identify or classify these groups separately from regular groups? 

    I have added logic to the code. Have a look at it.

    Is this expected behavior?

    Yes

    And is there a workaround to retrieve attributes for these system groups?

    I have added logic to the code. Have a look at it.

    a!localVariables(
      local!allGroups: a!groupsForUser(username: loggedInUser()),
      local!groupData: a!forEach(
        items: local!allGroups,
        expression: a!map(
          group: fv!item,
          uuid: getgroupuuid(fv!item),
          isSystemGroup: a!startsWith(getgroupuuid(fv!item), "SYSTEM_GROUP_")
        )
      ),
      a!map(
        allGroups: local!allGroups,
        systemGroups: index(
          local!groupData.group,
          wherecontains(true, local!groupData.isSystemGroup),
          {}
        ),
        regularGroups: index(
          local!groupData.group,
          wherecontains(false, local!groupData.isSystemGroup),
          {}
        ),
        systemGroupUUIDs: index(
          local!groupData.uuid,
          wherecontains(true, local!groupData.isSystemGroup),
          {}
        ),
        regularGroupUUIDs: index(
          local!groupData.uuid,
          wherecontains(false, local!groupData.isSystemGroup),
          {}
        ),
        groupAttribute: a!forEach(
          items: local!allGroups,
          expression: group(groupId: fv!item, property: "groupName")
        )
      )
    )

Reply
  • 0
    Certified Lead Developer
    How can I logically identify or classify these groups separately from regular groups? 

    I have added logic to the code. Have a look at it.

    Is this expected behavior?

    Yes

    And is there a workaround to retrieve attributes for these system groups?

    I have added logic to the code. Have a look at it.

    a!localVariables(
      local!allGroups: a!groupsForUser(username: loggedInUser()),
      local!groupData: a!forEach(
        items: local!allGroups,
        expression: a!map(
          group: fv!item,
          uuid: getgroupuuid(fv!item),
          isSystemGroup: a!startsWith(getgroupuuid(fv!item), "SYSTEM_GROUP_")
        )
      ),
      a!map(
        allGroups: local!allGroups,
        systemGroups: index(
          local!groupData.group,
          wherecontains(true, local!groupData.isSystemGroup),
          {}
        ),
        regularGroups: index(
          local!groupData.group,
          wherecontains(false, local!groupData.isSystemGroup),
          {}
        ),
        systemGroupUUIDs: index(
          local!groupData.uuid,
          wherecontains(true, local!groupData.isSystemGroup),
          {}
        ),
        regularGroupUUIDs: index(
          local!groupData.uuid,
          wherecontains(false, local!groupData.isSystemGroup),
          {}
        ),
        groupAttribute: a!forEach(
          items: local!allGroups,
          expression: group(groupId: fv!item, property: "groupName")
        )
      )
    )

Children
No Data