PHP Classes

Flow Chart: Generate help desk questions work flow

Recommend this page to a friend!
  Info   View files View files (7)   DownloadInstall with Composer Download .zip   Reputation   Support forum (2)   Blog    
Ratings Unique User Downloads Download Rankings
StarStarStarStar 65%Total: 3,351 All time: 1,030 This week: 488Up
Version License Categories
flowchart 1.0.0Freely DistributableDatabases, Content management


This class can be used to generate questions for an help desk support service work flow.

The class uses a MySQL database pre-loaded with questions to ask users requesting support in an help desk service. The database also contains the possible answers that are expected.

Depending on the answers provided by the users, the class determines the next step, which can be asking the user another question.

The class uses Smarty templates to generate the pages of each step. The template file name is also stored in the questions database.

This class can be used in other kinds of applications besides help desk services . It could also be used for e-learning applications, surveys, tests, etc..

Innovation Award
PHP Programming Innovation award nominee
April 2006
Number 6
Help desk is an important activity for businesses that need to provide support to the clients that buy their products or services.

Usually the help desk support people need to follow a predefined series of steps that depend on what kind of request the clients are asking for.

This class provides a solution for defining the steps that help desk support attendant needs to follow.

It consists on a serious of screens that can be presented to the attendant using a Web browser connected to a support site.

The screens present the questions that the attendant needs to ask to the client asking for support, and what to do next depending on the client answers.

Manuel Lemos
Picture of Shannon Wynter
Name: Shannon Wynter is available for providing paid consulting. Contact Shannon Wynter .
Classes: 9 packages by
Country: Australia Australia
Age: 42
All time rank: 1232 in Australia Australia
Week rank: 250 Down7 in Australia Australia Down
Innovation award
Innovation award
Nominee: 3x


Flowchart Engine v0.1 ----------------------------------------------------- Written by Shannon Wynter (AKA: Freman) Contact: ----------------------------------------------------- I'm sorry I'm not overly good at documentation folks but I'll outline the class and it's function for you. Description: ------------------- A basic and simple engine for following a flowchart. It handles Processes, and Descision making. Features: ------------------- Can follow multi-step questions Can work with 1 to n responses Supports 'goto' questions Can end in multipul ways Requirements: ------------------- Built for PHP4 and MySQL, requires Smarty Limitations: ------------------- I started implementing support for back button and refresh but it never got finished so, there's no back/refresh support. Other notes: ------------------- Was written for an in-house helpdesk appliation then adapted for open source distribution - if I get the time I'll re-write it from scratch. History: ------------------- Where I work we had a flow chart that we followed for helpdesk calls to get the users back online. I was tasked with digitizing this flowchart so they could outsource the helpdesk to a bunch of trained monkeys. Files: ------------------- readme.txt - This file FlowChart.class.php - Flowchart engine example.php - Limited example of usage sample.sql - The data for example.php Data structire: ------------------- The data structure is relativly simple... FlowChartQuestions: Level, Type, Step, Question, Template, Endpoint. The Level field just grows like a tree, based on the Options in the FlowChartOptions table (see below) The Type field represents the type of question it is. There are 3 supported types 'Goto', 'Next', and 'Step'. These types can be changed and adjusted by extending the FlowChart class By default Goto's are 5 or 6, Next's are 0 or 3 and Step's are 2. Type's flexable mostly for your reference. EG: In the sample data I've provided Next0 is used to step through the normal data, Next3 is used as the last entry in a 'Step' sequence EG: In the sample data I've provided Goto5 is used in normal flow of data to jump to another point in the flow. Goto6 is used as the last entry in a sequence of 'Step's There is no reason to use 3 or 6 accept for your own reference. The Step field is used to index the steps required to complete a task. Type must be 'Step' to start with and so long as type stays a 'Step' the steps will progress through the index. Each step must be +1 the step before it. The Question field is mostly for your reference, but in the examplezs provided I use display it in the template. The Template field tells the script which template to load and display for the question. The EndPoint field is used to signify that this is the end of the flowchart. When endpoint is flagged 'Type' is returned to the script for refrence. I use type 1 to tell the calling script that the issue was resolved and type 4 to tell it that the issue needs to be looked into further. FlowChartOptions: Level, OptionNumber, OptionCaption, FlagLog The Level field is used to associate the options with a question from FlowChartQuestions. The OptionNumber field should be unique for each level and the number used here will be appended to the current level to form the next level - I know I could have used 'parent' and 'children' but this is easier to follow and quicker to implement. The OptionCaption field the the label of the button that will be displayed. The FlagLog field is completely unused by the FlowChartOptions but it is used in our system for other reasons - so I figured you might use it.

  Files folder image Files  
File Role Description
Accessible without login Plain text file cansurfgoogle.tpl Data Referenced template from sample.sql
Accessible without login Plain text file example.php Example A basic example
Plain text file FlowChart.class.php Class The FlowChart class
Accessible without login Plain text file footer.tpl Data Referenced template from cansurfgoogle.tpl
Accessible without login Plain text file header.tpl Data Referenced template from cansurfgoogle.tpl
Accessible without login Plain text file readme.txt Doc. Basic Documentation
Accessible without login Plain text file sample.sql Data A sample dataset

 Version Control Unique User Downloads Download Rankings  
This week:0
All time:1,030
This week:488Up
User Ratings User Comments (1)
 All time
it's quite good idea
15 years ago (pio11)