System Support Role
Support role is not yet implemented and enabled.
The System Support role allows staff to operate and support customers using the Voluntarily platform by giving them powers to view and edit key areas of the site and to operate as a proxy for the customer.
The support role is similar to the Admin role except that it removes some key creation permissions.
Who can get Support Status for the service Voluntarily.NZ?
Criteria for SysSupport status
Must be an employee of Voluntarily.NZ. or of a third party contracted to provide help desk and support services.
Must be technically capable and understand the privileges granted.
Must be approved by Platform Technical Lead or Senior management staff.
Identifying System Support people
Account profiles show Support in the roles list. https://voluntarily.atlassian.net/browse/VP-1425
When signed in as a Support person the web user interface is highlighted to ensure people are aware of their raised privileges. https://voluntarily.atlassian.net/browse/VP-1424
API call Listing support id, name and email. - requires a list people permission.
http://alpha.voluntarily.nz/api/people?q={ "role": "support" }&s="name"&p="name email"
Support Rights
If you have Support status on Voluntarily you have these abilities:
Client Interface
Footer - See menu to admin page and other entity pages.
MemberSection - See the member table of an organisation
supportPage - access to any page wrapped in the supportPageHOC - TODO
ActDetailPage - can edit the Activity
OpDetailPage - can manage the Opportunity: edit, manage interested volunteers, complete and cancel
OrgDetailPage - can edit the organisation
OrgDetailForm - Cannot edit the organisation category. category cannot be set to Admin except through db config.
OrgListPage - Cannot see Create Organisation button, cannot delete an org
PersonDetailPage - Can List people and edit people. Cannot delete.
Admin Pages
admin/invite-school - NO
admin/goals - No
Support Pages
TBD
API
Support can
list/get all entities
update all entities
carry out OrgAdmin functions for all organisations
carry out owner functions for activities and opportunities
view and modify person record
Support cannot:
delete all entities
create new people, organisations.
set organisation category
Enabling Support Role
To be a support person you must have role = [Role.SUPPORT] set in your Person record or be a member of an org with the Admin (AGENCY) Category.
Explicit Support role
When a person first signs in they are given the default ‘volunteer’ role.
The support role cannot be set through API PUT calls as the field is deleted before save.
Support role can be set by direct editing of the person record in the database. This allows devs to set their support status directly.
x/db/make-admin.js (Give a person the "admin" role) - TODO update to create support staff
However subsequent support staff should have their role set by membership of a support organisation. This makes it easier to add and remove new support staff.
Implicit Support role
People inherit their role and access permissions from the organisations they belong to. Hence an org with ‘admin’ category has members who will have the admin role. This allows us to create an org for ‘voluntarily support’ and to manage people in this role without needing database access.
Note to get support role you must be a MEMBER of and not ORG_ADMIN of the support org.
Setting the category of an organisation can only be done by an existing admin. Hence only an existing admin can create a new admin organisation. https://voluntarily.atlassian.net/browse/VP-1110