One or Zero

About

One or Zero is a help desk ticket/task management system.

From the authors: “OneOrZero is a powerful enterprise task management and help desk system used by companies and groups large and small to manage information and requests in their organization.”

Our Mods

System Architecture

Based on findings in the 1.7.3.1 release.

Base Modules (root)

/ – the “root” functionality

  • index.php – the main application driver
  • myopen.php – list my open tickets
  • tcreate.php – create a ticket action

/index.php

URL “t” variable

A primary driving force that determines what the application should be doing. The $_GET[t] variable is the driver for more than one switch statement. The switch determines what to do based on what “t” has been set to.

Some of the actions include:

  • tcre – run tcreate.php
  • tse – run tsearch.php
  • tmop – run myopen.php : my open ticket list
  • tclo – run myclosed.php : my closed ticket list
  • tfeed – run feedback.php
  • tinf – run tinfo.php
  • terr – execute printError($lang_missing_info) : tell user they missed entering something on a form

/myopen.php

My Open Requests

Enlarge

My Open Requests

Default columns displayed:

  • ID
  • Task Manager
  • Group
  • Short Description
  • Created (date)
  • Status

Admin Modules

/admin – the admin login specific modules

  • control.php – the control panel (settings for the app)
    • On form post the $_POST vars get dumped into a /configuration/website_settings.php file

Common Modules

/common – shared features among various parts of the system

  • common.php – common/shared functions for the OOZ system

/common/common.php

function displayTicket()

Show the summary of a ticket in a table row format.

Lang Modules

/lang – stores the language (wording) manipulation code

    • English.lang.php – the english phrases/words used throughout the application

Supporter Modules

/supporter – what gets called for users marked as “supporter”

  • index.php – the main page for the support staff login
  • tcreate.php – manages the creation of new tickets
  • unassigned_tasks.php – list all unassigned tasks

/supporter/index.php

URL “t” variable

A primary driving force that determines what the application should be doing. The $_GET[t] variable is the driver for more than one switch statement. The switch determines what to do based on what “t” has been set to.

Some of the actions include:

  • tcre – run tcreate.php
  • tmop – run myopen.php : my open ticket list
  • tunn – run unassigned_tasks.php

/supporter/unassigned_tasks.php

Show a list of the unassigned tickets in a table format.

  1. Displays header for the table
  2. calls displayTicket() from #/common/common.php

/supporter/mygroupopen.php

Show a list of the open tickets for the logged in person’s group(s) in a table format.

  1. Displays header for the table
  2. calls displayTicket() from #/common/common.php

Data Structure

The table names start with a prefix you define. We are using a table prefix of “X” in these examples.

X_tickets

+--------------+--------------+------+-----+---------+----------------+
| Field        | Type         | Null | Key | Default | Extra          |
+--------------+--------------+------+-----+---------+----------------+
| id           | int(11)      | NO   | PRI | NULL    | auto_increment |
| create_date  | int(60)      | NO   |     | 0       |                |
| groupid      | int(60)      | YES  |     | 1       |                |
| supporter    | varchar(48)  | NO   |     | NULL    |                |
| supporter_id | int(60)      | NO   |     | 0       |                |
| priority     | varchar(48)  | NO   |     | NULL    |                |
| status       | varchar(48)  | NO   |     | NULL    |                |
| user         | varchar(255) | NO   |     | NULL    |                |
| email        | varchar(255) | NO   |     | NULL    |                |
| office       | varchar(48)  | YES  |     | NULL    |                |
| phone        | varchar(48)  | YES  |     | NULL    |                |
| category     | varchar(48)  | NO   |     | NULL    |                |
| platform     | varchar(48)  | NO   |     | NULL    |                |
| short        | varchar(255) | NO   |     | NULL    |                |
| description  | text         | YES  |     | NULL    |                |
| update_log   | text         | YES  |     | NULL    |                |
| survey       | int(1)       | NO   |     | 0       |                |
| lastupdate   | int(60)      | NO   |     | NULL    |                |
| severity     | varchar(255) | NO   |     | NULL    |                |
| project      | varchar(255) | NO   |     | NULL    |                |
+--------------+--------------+------+-----+---------+----------------+

X_tprojects

+---------+--------------+------+-----+---------+----------------+
| Field   | Type         | Null | Key | Default | Extra          |
+---------+--------------+------+-----+---------+----------------+
| id      | int(11)      | NO   | PRI | NULL    | auto_increment |
| rank    | int(6)       | NO   |     | 0       |                |
| project | varchar(255) | NO   |     | NULL    |                |
+---------+--------------+------+-----+---------+----------------+

User Interface

Menu: Top Of Page

  • The menu at the top of the page is generated via:
    • /index.php file for normal users
    • /supporter/index.php for admin users
  • The actual text that is displayed is set via the “language file”, i.e. /lang/English.lang.php

Links

Related posts:

  1. array_key_exists() versus isset()
  2. Python: Importing Packages
  3. Commit Templates
  4. On Delete Cascade
  5. Database Definition Languages
0 Comment   |   Posted in Feedback,Project Management,SDLC,Task Management,blog by lcleveland on October 08, 2008