PHP Classes
elePHPant
Icontem

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    
Last Updated Ratings Unique User Downloads Download Rankings
2006-03-30 (10 years ago) RSS 2.0 feedStarStarStarStar 71%Total: 3,297 This week: 1All time: 1,020 This week: 1,047Down
Version License Categories
flowchart 1.0.0Freely DistributableDatabases, Content management
Description Author

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 <contact>
Classes: 9 packages by
Country: Australia Australia
Innovation award
Innovation award
Nominee: 3x

Details
Flowchart Engine                                 v0.1
-----------------------------------------------------
Written by Shannon Wynter (AKA: Freman)
Contact: http://fremnet.net/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  
 0%
Total:3,297
This week:1
All time:1,020
This week:1,047Down
User Ratings User Comments (1)
 All time
Utility:93%StarStarStarStarStar
Consistency:81%StarStarStarStarStar
Documentation:87%StarStarStarStarStar
Examples:81%StarStarStarStarStar
Tests:-
Videos:-
Overall:71%StarStarStarStar
Rank:236
 
it's quite good idea
7 years ago (pio11)
67%StarStarStarStar