ConcourseSuite Support

Support
Corporate
PUBLIC PROFILE

Ticket Management

When a ticket is entered, there are several optional relationships, which include Contacts, Service Contracts, Assets, Labor Categories, Documents, Tasks, Action Plans, and Defects. The ticket structure is also reused in Project Management.

Java Classes

Base objects are located at:
org.aspcfs.modules.troubletickets.base.*;
The important base classs used in Ticket Management are Ticket and TicketList

Module actions are located at:
org.aspcfs.modules.troubletickets.actions.*;
The important action class used in Ticket Management is TroubleTickets

Workflow engine components are located at:
org.aspcfs.modules.troubletickets.components.*;

Supporting jasper reports code is located at:
org.aspcfs.modules.troubletickets.jasperreports.*;

JSPs

Help Desk JSPs are located at src/web/troubletickets/* and include several reusable details and form pages used by other modules.

Most of the jsp files related to Ticket Management start with the prefix troubletickets_'.
For example, the ticket details page has the file name troubletickets_details.jsp

Special files with the suffix _include.jsp are reused in other jsp files to improve the code maintenance time.
For example, the file troubletickets_actionplan_work_details_include.jsp is reused in the following modules

  1. Help Desk - troubletickets_actionplan_work_details.jsp
  2. Accounts - accounts_action_plan_work_details.jsp and accounts_tickets_actionplan_work_details.jsp
  3. My Homepage - action_plan_work_details.jsp

Database Tables

ticket

  1. org_id – the organization that requested this ticket
  2. contact_id – the contact that requested this ticket
  3. problem – the issue that was raised in response to creating this ticket
  4. closed – the date/time when this ticket was closed, whether solved or not
  5. pri_code – the assigned priority
  6. level_code (unused)
  7. department_code – the department to which this ticket is assigned
  8. source_code – the method in which this ticket was submitted: email, phone call, etc.
  9. cat_code – the top level category that this ticket maps to
  10. subcat_code1 – the category narrowed another level
  11. subcat_code2 – the category narrowed another level
  12. subcat_code3 – the category narrowed another level
  13. assigned_to – the user that is assigned this ticket
  14. comment (unused)
  15. solution – the solution that was used to solve the issue
  16. scode – The severity in which the issue is disruptive of service
  17. critical (unused)

ticketlog

When a ticket is updated, the data is analyzed and all changes are appended to a log, including comments.
For example, the ticket workflow might include the following steps, at each step a log record is created:

  1. The ticket issue is entered into the database
  2. The ticket is assigned to a user
  3. The user reviews the ticket and adds a comment
  4. The user closes the ticket

These fields resemble a ticket and map back to the user that made the changes.

Workflow Events

Ticket insertion and updation is linked to a specific set of background processes or workflow. The application workflow handles insertion and updation of the contact and account history. The user workflow handles custom user notifications. The currrent workflow also includes a scheduled workflow for Ticket Management to notify users of the presence of unassigned tickets in the Help Desk module.

Object Validation

The object validator for Tickets checks for the presence of the following fields.

  1. orgId
  2. contactId
  3. problem

It also checks for valid input in the case of related objects.

Object validation is performed by the following lines of code in the action class TroubleTickets.java.
// set the valid flag to false.
boolean isValid = false;

// validate the ticket object and return "false" to indicate the presence of validation errors.
isValid = this.validateObject(context, db, thisTicket);

If the value of isValid is false, the ObjectValidator has added the errors to the ActionContext and the ticket should not be inserted or updated.
The control needs to be returned back to the Add/Modify page for displaying the errors or warnings.

The Add/Modify JSP pages contain the following additional code at the begining of the file to display the generic warning in case of an error in the input fields.
<dhv:formMessage />
or
<dhv:formMessage showSpace="true"/>
or
<%= showError(request, "actionError") %>

The specific error in the field is displayed by adding the following line of code after the specific field.
<%= showAttribute(request,"orgIdError") %>
Mandatory items have the following html code at the end of the input field in the jsp.
<font color="red">*</font>

Recent Items

On inserting, modifying or deleting tickets, the recent items have to be updated in the action class as follows:
addRecentItem(context, thisTicket); // on viewing or modifying the ticket.
deleteRecentItem(context, thisTicket); // on deleting the ticket.

Sign in to add your comment.