Print this page

Service Desk Gold

Using the gold version of Service Desk extends the free version with multiple tabs and their connected functionality. When the gold version is installed the following new tabs are added to Service Desk:

  1. Attributes;
  2. Dashboard;
  3. Gold Options.


If you didn't use the silver extension already, you may find additional settings for that as well.
To use the gold extension, there are a number of requirements:
1 - Module JQueryPlot is installed;
2 - Module Service Desk is at least at version 0.6.

Post install

The gold extension is delivered with the silver extension included. This silver extension is to be installed as well if you didn't have that already. After installing the gold version, you should use the tab Options Gold. Use button 'Install silver extension'. This button will prepare a folder called silver and move all the silver related programs to that folder.
If you earlier installed silver, the programs are updated to the latest versions. Once that is done, you will notice that the Install button is no longer available on the Gold Options tab.

Attributes

The attributes tab allows you to maintain additional fields per incident. An example might be that you want to use the module for internal use and want to know to which department the incident should be linked, you can prepare a new attribute with the name of Department and use Dropdown as type. This allows you to enter, per line, the department number and/or names.
If you have multiple attributes set up, you can use the up and down arrows on the right side in the list of attributes to change the sequence in which the attributes are shown per incident.
When adding a new incident, or maintaining one, you will notice that in the bottom of that entry screen, the attributes as set up are shown. All of them!
When using the dropdown type attribute, a text area is opened. Each line will correspond to a selectable option in the incident.
With regards to the front end, only attributes that have the public flag turned on, will be selected. However you must take care that you will need to address the correct front end template. During installation/upgrade of module Service Desk a new template is added. Use this as follows to make sure that you will see the public attributes on the front end: {cms_module module=ServiceDesk action=fesubmit formtemplate=FrontEndEntryAttributes}.
If an incident has a file or image as attribute type, either a file or an image can be uploaded. Uploaded material will be stored in directory uploads\ServiceDesk\Incident_[number]. If for any reason an incident is deleted, any connected documents or images will remain in the mentioned directory.
When using either the file or the image type of attribute, make sure that you set the allowed extensions in the Gold Options tab.
The maximum allowed size of the file/image to upload is set by the configuration (see Site Admin\System Information variable CMS Config Settings - max_upload_size).

Dashboard

Screenshot taken based upon generated test data (large image new tab/page).


The dashboard hosts six charts that are based upon open and closed incidents. You will notice that there are only two gauges that resemble the number of open incidents for the medium and high priority. Since low priority incidents don't need immediate attention, the low priority gauge has been left out. Just a note: none of the charts allow drill down into detail.
All the incidents are generated using random numbering and do not reflect an existing business situation. 
Chart upper left: Open incidents per Category
A pie chart that is build based upon the categories that you have in use. This might of course be a totally different set. Only when at least one incident is open for a category, it will be shown. So a category without any open incidents is left out.
Chart upper middle: Time to close by priority
This shows the number of days it took to close the incidents. The incidents of the last year are taken, which means that if the current month is august, you will see numbers 7, 8,...5, 6, 7, 8 on the x-axis. When calculating the number of days closing the incident took, the difference between creation and ending date is taken (so not the start of the work on the incident). If there are no incidents closed for a priority in a certain month the number 0 (zero) is shown in the chart (in the shown example see month 7).
The color of the colums depend on the settings in the Options Gold tab. Remember that also the priority dot coloring in the list of incidents will be adjusted if you set the values to something different.
Chart upper right: Open/Closed last year
For the running year (same as previous chart) the number of opened and closed incidents are shown. If an incident is opened in a month and it is closed in the same month, both incidents are used in the calculation of the numbers.
Gauge lower left: Open incidents with medium priority
This gauge only uses the medium priority incidents. All open incidents with that priority are taken into this chart. The number of open incidents is shown in the label of the gauge between hooks. The minimum starting point (in this example 25) and the maximum have been set in the Options Gold tab. Default values are 0 for the minimum and 100 for the maximum. Using these min/max combination allows you to monitor closely when more effort is to be pushed in solving/closing the incidents. The ticks 41, 57 and 74 are calculated based upon the formula (max-min)/4. The color margins for green/yellow/red are calculated using formula (max-min)/3. 
Gauge lower middle: Open incidents with high priority
Same description as for previous described gauge, but now for the high priority incidents.
Chart lower right: Open incidents by month
This chart shows the number of incidents that have been opened for the last two years. If the current period would be august 2013 the years 2012 and 2013 will be shown. SInce there is no data for the period september thru december of the year 2013, zero values will be shown for those months.

Gold Options

The install option has been mentioned earlier, please see the description above on post installing the silver extension. For the gauges the minimum and maximum levels can be adjusted. Notice that the low priority is included as well. This is for future growth. Next to this you are able to set the color of a specific priority. Always use a '#' in front of the hex color number. You will notice the change in the list of incidents and in the closing time per priority chart (in the dashboard).

Extending the Dashboard

So you think there is a chart missing? Or you want to see the same data but in a different way? Yes, the author of the module Service Desk and its extension can help you out! Ask for a quote via the contact page.
However you can prepare your own as well. Some restrictions are in place.
You will have to prepare a php program that follows the naming convention: mychart.[name of function in program].php
Two parameters are passed: the number of the chart. This is needed to place your chart correctly in the dashboard. The second parameter contains the path to the plugins directory to perform special things with the charts.
Note: your charts will always be shown under the charts as delivered with the extension.
Below is an example of the open incidents per worker:

<?php
# ServiceDesk (Service desk to support incidents and requests). 
# A module for CMS - CMS Made Simple
# Copyright (c) 2011 by Duketown
#
# This function supports the back end for the module servicedesk (Gold extension)
#
#-------------------------------------------------------------------------
# CMS - CMS Made Simple is (c) 2005 by Ted Kulp (wishy@cmsmadesimple.org)
# This project's homepage is: http://www.cmsmadesimple.org
# The module's homepage is: http://dev.cmsmadesimple.org/projects/servicedesk
#
#-------------------------------------------------------------------------
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
# Or read it online: http://www.gnu.org/licenses/licenses.html#GPL
#
#-------------------------------------------------------------------------

function getOpenIncByWorker($chart_id = 0, $pathplug)
{
	// Initialize the Database
	$db = cmsms()->GetDb();
	
	$query = '';
	$dbresult = '';
	$ymcount = array();
	
	$query = 'SELECT COUNT( incident_id ) AS cnt_inc, first_name, last_name, username
		FROM '.cms_db_prefix().'module_servicedesk_incidents';
	$query .= ' LEFT JOIN '.cms_db_prefix().'users ON owner_id = user_id';
	$query .= ' WHERE status <> "CL"';
	$query .= ' GROUP BY owner_id';
	$query .= ' ORDER BY owner_id';
	$dbresult = $db->Execute($query);

	// This will form the series to show
	$serie = 'var serie = [';
	$m = 1;
	// All info retrieved, push it in an array
	while ($dbresult && $row = $dbresult->FetchRow())
	{
		if ($m > 1) $serie .= ', ';
		if ($row['first_name'] . $row['last_name'] == '') {
			$serie .= '[\''.$row['username'].' ('.$row['cnt_inc'].')\', '. 
$row['cnt_inc'].']';
		}
		else {
			$serie .= '[\''.$row['first_name'].' '.$row['last_name'].' ('.
$row['cnt_inc'].')\', '. $row['cnt_inc'].']';
		}
		$m++;
	}
	$serie .= "];\n";
	$charttitle = 'Åpne hendelser av ansatt';

	$chart = '{* Chart '.$chart_id.': Open Incidents By Employee *}
	
	<script language="javascript" type="text/javascript" src="'.
$pathplug.'jqplot.barRenderer.min.js"></script>
	<script language="javascript" type="text/javascript" src="'.
$pathplug.'jqplot.canvasAxisTickRenderer.min.js"></script>
	<script language="javascript" type="text/javascript" src="'.
$pathplug.'jqplot.canvasTextRenderer.min.js"></script>
	<script language="javascript" type="text/javascript" src="'.
$pathplug.'jqplot.categoryAxisRenderer.min.js"></script>
	<script language="javascript" type="text/javascript" src="'.
$pathplug.'jqplot.dateAxisRenderer.min.js"></script>
	<script type="text/javascript"> 
	$(document).ready(function(){
	  '.$serie.'
	  var plot3 = $.jqplot(\'chart'.$chart_id.'\', [serie], {
		title: \''.$charttitle.'\',
		series:[{ renderer:$.jqplot.BarRenderer}],
		seriesColors: [ "#ccff66" ],
		axesDefaults: {
			tickRenderer: $.jqplot.CanvasAxisTickRenderer ,
			tickOptions: {
			  angle: -30,
			  fontSize: \'10pt\'
			}
		},
		axes: {
		  xaxis: {
			renderer: $.jqplot.CategoryAxisRenderer
		  }
		}
	  });
	});
	
	</script> 
	';
	return $chart;

}
?>

Save this as mychart.getOpenIncByWorker.php in the directory modules\ServiceDesk\gold.

Remember that your own charts will not be updated during an update of the extension. However you will be responsible for the the sources your self (you take care of back ups etc.).

More information

This extension can be bought in our Shop.
For a description of the various versions available see the service desk explanation page.


Previous page: Service Desk
Next page: Birthday Listing