People Functions - Plug-in

Contains a collection of user and group related Functions and Smart Services as detailed below.

Please note that this plugin contains functions that were previously included in the Group Functions plugin and the User and Group Management Application plug-in.

IMPORTANT: Prior to deploying v1.9 or the latest version of the People Functions plugin, please un-deploy the Group Plugins function and the User And Group Management Application plugin if they are present on your environment.

Functions:

  • aregroupsaddedbyrule
    • Checks to see if the given groups were added to the group by a rule
  • areusersaddedbyrule
    • Checks to see if the given users were added to the group by a rule
  • doesGroupExist
    • Checks whether a group exists or not based on the group id
  • getadmingroupspaging
    • Retrieves the groups that are administrator groups for the given groupId. The sort order is by group name, ascending
  • getadminusersdirectpaging
    • Gets a list of distinct users that are direct admins of the specified group, i.e. user admins of subgroups are not included. The sort order is by first name, ascending.
  • getadminuserspaging
    • Retrieves the users that are administrator users for the given groupId. The sort order is by first name, ascending.
  • getAllGroups
    • Gets a list of all the existing groups' names in the environment
  • getAllUsers
    • Returns a list of all users in a given Appian installation
  • getdirectadmingroupids
    • Gets the group IDs of all the administrator groups added directly to a given group (excludes those who are administrators via membership in an administrator group).
  • getgroupnames
    • Returns the names of a list of groups. (This is useful for generating a list of group names when you have a list of groups to display on a task form.)
  • getgrouptypename
    • Returns the localized group type name for use with other functions.
  • getgroupsformemberuser
    • Returns a list of all groups that a given user is a member of.
  • getgroupsforadminuser
    • Returns a list of all groups that a given user is an administrator of
    • Note: If the user is a system administrator, then only the system groups will be returned by this function. Use IsUserSystemAdministrator() to check the user type.
  • getgroupsoftypeforuser
    • Returns a list of groups of a given type that the given user is a member of. Enter the group type name as text. (This is useful to find, for instance, what vendor group the logged in user is in.)
  • getgroupsoftypefromlist
    • When passed a list of groups, this function will return the groups that match a given group type. Null will be returned if no groups of that type are found, or no group type matches the text of groupType. Enter the group type name as text.
  • getgrouptypename
    • Returns the localised group type name for use with other functions.
  • getgroupUUID
    • Returns the UUID for a group
  • getmembergroupsoftype
    • Returns only the member groups of a given group that match a given group type. (Similar to getmembergroups, but only returns the groups that are the specified group type).
  • getModifiedUsersByTimestamp
    • Given a timestamp, and a list of usernames, return the usernames where the user's profile has changed since the timestamp. This is useful for building processes Appian profile changes with a RDBMS.
  • getAllUsers
    • Returns a list of all users in a given Appian installation
  • getUsersLastPasswordChange
    • Returns the last time a user's password changed
  • getUserUUID
    • Returns the UUID for a user
  • isuseractive
    • Returns true if a given username represents an active user account.
  • isusermemberofallgroups
    • Returns true if a user is a member of all of the groups in a list.
  • isusermemberofgroups
    • Checks whether the user is a member of any of the specified groups. Returns true if the user is a member of at least one of the groups.
  • isusersystemadministrator
    • Returns true if a user account type is a system administrator. False indicates a basic user.
  • retrieveusersecurityrolemap
    • Returns a CDT Role Map of security settings for a user. This does not account for the default system-wide setting. This is meant to be used in conjunction with the user security smart service. Since the service always overrides the security setting, this function can be used to get the existing per-user settings.
  • validateEmailAddress
    • Validates if an email address is valid or not through regex/domain verification. This implementation is not guaranteed to catch all possible errors in an email address.
  • validateNameForUser
    • Validates if a portion of a user's name (first, middle or last) meets the criteria required for user account updates

Smart Service(s):

  • Add People As Group Admins
    • Add users or groups as administrators of a group
  • Set User Preferences
    • Allows for a programmatic update of user preferences (language, timezone, calendar). New settings are initialized with a new session.
  • Unlock User
    • Unlock the specified user account
  • Update User Profile - Advanced
    • Update the custom fields for a user account

 

Deprecated (v1.9 and v.1.10)

  • getgroupbyname: Use the out of the box function a!groupByName
  • getgroupsoftype: Use the out of the box function a!groupsByType
  • getmembergroups: Use the out of the box function a!groupMembers
  • getmembergroupsdirectpaging: Use the out of the box function a!groupMembers
  • getGroupMemberUsersPaging: Use the out of the box function a!groupMembers
  • getmembergroupspaging: Use the out of the box function a!groupMembers
  • getmembergroupsdirectpaging: Use the out of the box function a!groupMembers
  • getmemberusersdirectpaging: Use the out of the box function a!groupMembers
  • getmemberuserspaging: Use the out of the box function a!groupMembers
  • getDirectMemberGroups: Use the out of the box function a!groupMembers
  • getDirectGroupMemberUsersPaging: Use the out of the box function a!groupMembers
  • These were originally created by me. Glad to see they're still in use and continue to be updated!

  • Hello Eduardo, what privileges do you need to have to run to execute the function getgroupsformemberuser? I am using the function on a report interface and as a basic user I am getting an error because the user doesn't have enough privileges.

  • Release Notes for v1.9 - Merged functions from the Group Functions plug-in and the User And Group Management Application plug-in.

    IMPORTANT: Prior to deploying v1.9 or latest of the People Functions plug-in, please undeploy the Group Plugins and the User And Group Management Application plugin if they are present on your environment.

  • Hi, downloaded plugin version shows psshared.peoplefunctions-1.8. Is this correct?

    Link below shows plugins version as psshared.peoplefunctions-1.9.jar

    forum.appian.com/.../summary

  • - The download version has been corrected on the AppMarket.  It should be v1.9 now.  

  • Looks like this plugin is still referencing deprecated API.

    People Functions (psshared.peoplefunctions) references deprecated Appian APIs

    [deprecated] com.appiancorp.suiteapi.common.ServiceLocator.getUserProfileService(com.appiancorp.services.ServiceContext)

  • Hi, having followed the guide above where to un-deploy all existing group plugins and user & group management plugins prior to deploying peoplefunction v1.9, we still encountered issue.

    even though the v1.9 deployed successfully, it later on dis-able itself due to existing registered function called groupprofilerecordtypesource . But this function is not listed as one of the function in this peoplefunction v1.9.

    Can you please confirm if groupprofilerecordtypesource  is included in this 1.9 version?

    below is error message from the server

    (ServerService Thread Pool -- 78) 2018-10-03 09:52nager.DefaultPluginManager - There was an error loading the descriptor 'Groupprofilerecordtypesource' of plugin 'psshared.peoplefunctions'. Disabling.

    (ServerService Thread Pool -- 78) 2018-10-03 09:52LoggingPluginEventListener - Failed to enable Plug-in 'People Functions' (psshared.peoplefunctions) version 1.9: 'The following function(s) are already registered in the system: groupprofilerecordtypesource (APNX-1-4104-000)'

  • Release Notes for v1.9.1 (09 Nov 18)

    * Update version of email validation library to improve matching

  • Hi, we tried to upgrade from version 1.8 to 1.9.1 and it's not working.

    2018-11-22 12:22:24,375 [Appian Plugin Hot Deploy] INFO  com.appiancorp.plugins.AppianPluginManager - Updating plugin 'psshared.peoplefunctions' to 'psshared.peoplefunctions'

    2018-11-22 12:22:24,528 [Appian Plugin Hot Deploy] INFO  com.appiancorp.plugins.LoggingPluginEventListener - Successfully un-installed Plug-in 'People Functions' (psshared.peoplefunctions) version 1.8.

    2018-11-22 12:22:24,531 [Appian Plugin Hot Deploy] INFO  com.appiancorp.plugins.loaders.UnloadingDirectoryPluginLoader - Removed plugin psshared.peoplefunctions

    2018-11-22 12:22:26,250 [Appian Plugin Hot Deploy] ERROR com.atlassian.plugin.manager.DefaultPluginManager - There was an error loading the descriptor 'DoesGroupExist' of plugin 'psshared.peoplefunctions'. Disabling.

           at com.appiancorp.plugins.HotDeployerRunnable.run(HotDeployerRunnable.java:29)

    2018-11-22 12:22:26,290 [Appian Plugin Hot Deploy] ERROR com.appiancorp.plugins.LoggingPluginEventListener - Failed to enable Plug-in 'People Functions' (psshared.peoplefunctions) version 1.9.1: 'The following function(s) are already registered in the system: doesgroupexist (APNX-1-4104-000)'

    2018-11-22 12:27:03,906 [Appian Plugin Hot Deploy] INFO  com.appiancorp.plugins.osgi.AppianOsgiPlugin - Successfully un-installed Plug-in 'People Functions' (psshared.peoplefunctions) version 1.9.1.