User Tools

Site Tools


hd:requirements

This is an old revision of the document!


Requirements

The helpdesk module will be noted “HD” for ease of writing.

Nagging questions

  • Should HD Ticket Followupss be implemented as comments instead of nodes ?
    • On the one hand, in many regards, they are to HD Ticketss what comments are to usual nodes on drupal
    • On the other hand, there seems to be a trend amongst drupal developers (except the first of them :-() to move away from the current separate implementation of nodes and comments and towards a unified node implementation.

Entities defined for the module

  • a USER is a person experiencing issues and requesting help from the helpdesk
  • a Customers is a person or entity owning a HD Contracts to access the helpdesk
  • a HD Techs is a person working on the helpdesk to solve USERs' problems
  • an ATTENDANT is a person taking calls over the phone or receiving them by fax or mail, and allocating HD Ticketss to USERs
  • a HD Contracts is the set of terms under which a Customers has access to the helpdesk, and its current state vector
  • a HD Tickets is the initial entry point for an issue opened by a USER
  • a HD Ticket Followups represents additional action on a HD Tickets after it has been created.

Services available

To users

  • Create a ticket for an issue or have one created by an ATTENDANT
  • Review any and all of owned tickets
  • Submit a followup on any of owned tickets
  • Change the status of an owned ticket by adding a followup with a new status.
  • Receive a notification when the status of any owned ticket changes, or when a followup is added:
    • initial release: by RSS
    • later: by email
    • later: by SMS
    • maybe someday: by fax
  • Obtain a contact point for the Customers managing one's HD HD Contractss, typically a drupal user identifier and the attached public information

To customers

  • Access the list of USER accounts attached to self
  • Access the list of HD Contractss owned by self
  • Access the list of HD Ticketss owned by USERs attached to self
  • Suspend/Resume access to any HD Contracts by an attached USER
  • Suspend/Resume the validity of any HD Contracts owned by self, if allowed by system setup
  • Submit a ticket on behalf of an attached USER.
  • Add a followup to a ticket belonging to any attached USER.
  • Change the status of a ticket owned by any attached USER by adding a followup with a new status.

To support techs

Mostly anything HD-related. This includes notably:

UML class diagram for the helpdesk entities

The following is a UML class diagram of these entities, prior to physical modeling. The corresponding MySQL is listed on its own page UML class diagram for helpdesk

taxonomy

HD makes use of two vocabularies:

  • HD Status : a list of the status values defined by the HD site admin. HD only requirement is that the first value defined in the taxonomy represents the state a ticket is in where the issue no longer needs anything done.
  • HD Severity : a list of the severity levels defined by the HD site admin. HD makes no use of this.

e-commerce

HD tickets can link to an e-commerce transaction, allowing for faster resource allocation decisions on tickets submitted without a support contract, and for code-based generation of contract by the e-commerce module, which could be useful for the automatic setup of warranty HD access.

access control

HD access relies on drupal permissions (admin/access). Three composite levels of permissions are defined:

  • Helpdesk > User : this represents the rights of the typical USER: can create tickets, submit followups, view own tickets and followups
  • Helpdesk > Customer : this represents the rights of the typical Customers: can check their contract status (billing), suspend/reactivate their contract if this feature has been enabled, check all support tickets and followups for the users bound to them
  • Helpdesk > Tech : this represents the most extensive set of rights, typical of HD Techs: can do all a Customers can, but also create/revoke contracts, modifiy their values, create tickets, and followups, etc.

It is expected that admins of site using HD will define 3 roles and give each role the set of permissions matching these descriptions: role user gets “Helpdesk > User”, role customer get “Helpdesk > Customer” and usually “Helpdesk > User” to be able to function as a user too, and role tech gets all three permissions, for situations where there are techs besides the actual Drupal admin.

hd/requirements.1127661658.txt.gz · Last modified: 2020/11/23 17:23 (external edit)