An ExpertiseUserScope is an entity that is used to define subsets of
users in the system that the Expertise service operates on. These named,
identifiable subsets of users can be used for multiple purposes including:
During a brokered expertise search request issues by an end-user, the
user can control the subset of users among which the system is to find
a user with matching expertise and dispatch ane xpertise request to.
The user does this by selecting one or more ExpertiseUserScope objects
that have been created apriori by an administrator (a user with TACIT_MGR
privilege) and have been granted access to the user.
Please see the base class for further
details.
The ExpertiseUserScope object has a mandatory name attribute, an optional
description, an included list of entities, and an excluded list of entities.
It also inherits other attributes from entity.
The Accessors that can be specified in the include or exclude list can only
be one of the following:
OganizationUser: Explicitly specified users
Group: All user members of the group - direct and indirect - will be
included/excluded. As new members are added/removed from the group, the
ExpertiseUserScope will reflect that change.
DynamicGroup: All user members qualifying the OrganizationUserFilter
underlying the DynamicGroup will be included/excluded. As new users
qualify to be added/removed from the group, the ExpertiseUserScope will
reflect that change.
AllUsersGroup: All the users in the system are included/excluded. As
new users are created/deleted, the ExpertiseUserScope will
reflect that change.
The include and exclude lists obey the following precedence rules:
If a user is in the exclude list via any of the above-mentioned accessors,
that user will not be a part of the scope.
If a user is not found in the exclude list, the system evaluates the
include list. If the user is found in the include list via any of the
above-mentioned accessors, the user becomes a part of the scope. Else,
the user is not part of the scope.
Below are examples in JSON and XML formats. All examples are shown with all inherited members. Quoting when required is part of the examples, but you must obviously populate with your own data.