The most important part of any system is the user base, and it is important to accomodate as many users as possible. This system splits the user base into six specific access types, each with its own abilities and access rights. Each user, as described above is associated with a certain set of sites, and to each of those sites, the user is associated with a different access type. The list is as follows:
Client - A client is your end user, the person your system is supporting.
Site Contact - A site contact is a privileged client who is allowed more of an overview of the system's state. This would be analagous to a department head - someone with a vested interest in the issues within those sites. They also have access to reset the passwords of all the clients below them in the sites they are associated with.
Support Agent - The support agent with the responsibility for resolving submitted issues. The can manage issues and reset passwords for clients and site contacts below them.
Administrator - The support agent with the responsibility for assigning other users to appropriate sites. This user administration is restricted to the sites they have 'Administrator' access to.
Domain Administrator - The administrator with the responsibility for setting up the system. They have the ability to fully configure a domain's levels, priorities, statuses and categories. They can also carry out user administration for the whole domain.
Root - The root user, used to configure the very high level settings of the system such as the domains in the system. The root user can configure everything in the entire system across all domains and all sites, but has no access to the actual issues within the domains.
User administration is cascading, and so all users can administer the users below them. For example, site contacts can administer the clients below them in their sites; support agents can configure all site contacts and clients below them for their sites; and so on. This delegation of user administration makes the day to day running of the system a little easier, ensuring not to swamp the support agents with trivial password change requests that can be carried out by site contacts.
The following table shows the abilities of each access type.
Table 1-1. Privileges
|Issue Privilege||Client||Site Contact||Support Agent||Administrator||Domain Administrator||Root|
|Submit an issue||Yes - but cannot specify priority or assignee||Yes - but cannot specify assignee||Yes||Yes||Yes||No|
|View an issue||Your own issues||Your sites' issues||Your sites' issues||Your sites' issues||Your sites' issues||No|
|Revoke an issue submitted by you||Yes||Yes||No||No||No||No|
|Edit an issue||No||No||Yes||Yes||Yes||No|
|Remark on an issue||Yes||Yes||Yes||Yes||Yes||No|
|Find an issue||From your issues||From your sites' issues||From your sites' issues||From your sites' issues||From your sites' issues||No|
|Be assigned to an issue||No||No||Yes||Yes||Yes||No|
|Change personal preferences||Yes||Yes||Yes||Yes||Yes||No|
|Change personal details||Yes||Yes||Yes||Yes||Yes||Yes|
|Casdcading user admin||No||Yes||Yes||Yes||Yes||Yes|
|Problem Category admin||No||No||No||No||Yes||Yes|
|Public Notice admin||No||No||No||No||Yes||Yes|