You are on page 1of 94

Web Help Desk

Administrators Guide

MacsDesign Studio LLC

Table of Contents
Table of Contents Chapter 1: Database
Select a Database 1 Database Setup 1
MySQL 1 SQL Server 2005/2008 2 Oracle 4 PostgreSQL 4 OpenBase 4 Backup Strategies 4

Chapter 4: Managing Clients


Manual Web Entry 24
Client Info 24 Assigned Assets 24 Ticket History 24

Data Import 24 LDAP Synchronization 25


Mapping Attributes 25 Synchronizing LDAP Connections 26

Client Initiated Entry 26

Chapter 2: Installation
Mac OS X 5
Pre-Install Requirements 5 Installation 5

Chapter 5: Tickets
Web-Based Ticketing 28
Client Info 28 Asset Info 28 Ticket Details 29 Other Ticket Options 30

Windows Server 5
Pre-Install Requirements 5 Installation 5

E-Mail Ticketing 32
Reporting by E-Mail 32 Updating by E-Mail 32

Linux 6
Pre-Install Requirements 6 Installation 6

Task Management 34
Creating Tasks 34 Task Elements 34 Triggering Tasks 34

Solaris 6
Pre-Install Requirements 6 Installation 6

Search Tickets 34
Refining Search Results 35 Saved Queries 35 Ticket Bulk Actions 35 Quick Tickets 36

Apache Integration 7 Existing Tomcat Integration 7 Microsoft IIS Integration 7

Chapter 3: Getting Started


Setup 8
General 8 Locations 11 Tickets 14 Clients 16 Techs 17 Assets 19 Change Management 21 Surveys 21 Parts & Billing 21 Data Import 22 Query Building 22

Ticket Assignment Logic 37

Chapter 6: Asset Management


Adding Assets 38
Manual Web Entry 38 Import Assets 39 Asset Discovery Integration 40

Search Assets 40
Refining Search Results 40 Saved Queries 40

Purchase Orders 41
Define Vendors 41 Create a New Purchase Order 41 Add Line Items 41

Table of Contents

Purchase Order Import 42

RSS Feed 57

Asset Reservations 42
Making Asset Reservable 42 Reserve An Asset As A Tech 42 Reserve An Asset As A Client 43 Asset Check Out and Check In 44

Chapter 10: Parts & Billing


Billing Preferences 58
Inventory Alerts 58 Invoicing Options 58 Rates & Terms 59

Chapter 7: Asset Discovery


Asset Discovery Components 45
Supported Components: 45

Managing Parts 59
Parts List 59 Importing Parts 60 Adding Inventory 60 Importing Inventory 60

Asset Discovery Mechanics 45 Discovery Tool Configuration 45


Apple Remote Desktop 3.2 45 Apple Remote Desktop 3.3 46 Casper 46 LANrev 46 Web Help Desk Configuration 47 Attribute Mapping 49 WHD Hyperlink to Discovery Tool 50

Using Parts 60 Invoicing 61 Service Time Blocks 61

Chapter 11: Reports


Sample Reports 63 Creating Reports 63
Ticket Report 63 Billing Report 66

Chapter 8: Change Management


Approver Roles 51
Location Approver Roles 51 Department Approver Roles 51 Change Advisory Board Roles 51 Assign Approver Roles 52

Creating Report Groups 67


Group Options 67 Included Reports 67

Creating Report Schedules 67


Schedule Details 67 Tech Recipients 68 Included Reports 68 History 68

Approval Processes 52
Add Approval Steps 52 Define Request Types Supported 52

Approval Status Types 53


Add Approval Status Types 53 Assign Approval Status Types 53

Creating Survey Reports 68

Using Approvals 53
Ticket Creation 53 Approver Action 54 Requester Action 55

Chapter 12: Surveys and Messages


Managing Surveys 69
Survey Manager 69 Sending a Survey 69

Viewing Survey Results 70


Ticket Detail View 70 Survey Reports 70

Chapter 9: FAQs
FAQ Search 56 New FAQ 56 Import FAQs 56 Public FAQ Access 57
Web Access 57

Messages 71
Creating Messages 71 Viewing Tech Messages 71 Viewing Client Messages 72 License Key Expiration Message 72

Table of Contents

Chapter 13: Client Interface


Help Request 73 History 74 Approvals 74 FAQs 75 Client Admins 75
Client Admin Roles 76

Logout 77

Chapter 14: Deployment Considerations


Memory Sizing and JVM Options 78
Supporting less than 20 Techs 78 Supporting more than 20 Techs 78

WebObjects on Mac OS X Server 78 Clearing JVM Heap Memory 81


Mac OS X 81 Windows 81 Linux/Solaris 82

Configuring WHD for HTTPS 82


Setting HTTPS_PORT and URL_HTTPS_PORT in whd.conf 82 Certificate configuration overview 83 Generating a new certificate 84 Importing an existing certificate 87 Enabling HTTP-to-HTTPS redirection 88 Troubleshooting 89

Chapter 1: Database
Select a Database
Before installing the Web Help Desk, decide on which database the application will use. JDBC drivers for all supported databases are installed by default. Supported Databases: FrontBase (included on Mac OS X and Windows) MySQL 5.1 SQL Server 2005 or later Oracle 8 or later PostgreSQL 8 or later OpenBase On Mac OS X or Windows a FrontBase database is included in the installation. FrontBase is a good medium duty database. Great care and consideration should be taken to select a database that meets both current and future needs, as migrating between databases is not supported, and not recommended unless access to an experienced DBA is available. If using the FrontBase database, skip ahead to Chapter 2. Next go back to the small Home tab and connect to the database server using the Server Administration pane.

Database Setup
MySQL
Connect to the MySQL 5.1 database server using the SQL Development pane of the MySQL Workbench application. Select Configuration > Options File > General and set the port (3306) and the default-storage-engine (InnoDB) and apply changes.

Use the Add Schema option from the Actions list to open the schema creation panel. Name the schema whd and choose utf8 - utf8_general_ci as the collation type, then click the Apply button.

CHAPTER 1

Database 2

Next go to Configuration > Options File > Misc and set the init_connect option to: SET NAMES utf8 and apply changes.

Click OK then select your entry from the list and click Select ALL to check all privileges for the user, then Save Changes.

IMPORTANT Go to the Startup/Shutdown option and press the Stop Server button, then press Start Server. The MySQL server needs to be restarted to use the changes applied to the configuration file.

After restarting MySQL, go to Security > Users and Privileges then click on the Add Account button. Create a new whd user with the password of your choice. If the Web Help Desk is going to run on the same machine as your database, limit the connectivity to localhost then apply.

The database is ready for the Web Help Desk to connect.

SQL Server 2005/2008


Use the SQL Server Configuration Manager tool to ensure that the server is listening over TCP/IP.

Click on the Schema Privileges tab and select the whd user from the left column. Click Add Entry... and specify the host and whd schema for the privilege.

Depending on the SQL Server version, connections over TCP/IP may need to be enabled. Right click on the TCP/IP

CHAPTER 1

Database 3

Protocol Name in the right panel and select Properties. In the Protocol tab, make sure that TCP/IP is set to Enabled.

TIP If using SQL Server 2005, use the SQL Server 2005 Surface Area Configuration tool to ensure that the server is listening over TCP/IP.

In the IP Addresses tab, make sure that the IP address the Web Help Desk will connect to is both Active and Enabled and that the TCP Dynamic Ports option is empty. The default port is 1433 and should only be changed if its in use by another SQL Server on the same machine and IP address.

Expand the Security folder under the database server in the Object Explorer pane, then right-click on the Logins folder and select New Login....

Create a new whd login using SQL Server Authentication set the password to anything you like. Make sure that Enforce password policy, Enforce password expiration, and User must change password at next login are all unchecked. Connect to the Microsoft SQL Server Management Studio application. Make sure SQL Server Authentication is enabled by right-clicking on the database server in the Object Explorer pane and selecting Properties. Select the Security Page, and check off SQL Server and Windows Authentication mode.

CHAPTER 1

Database 4

Oracle
Create a new table space and user account having select, insert, update, delete, create, drop, index, and alter privileges. The user account should be named whd and the password can be set to one of your choice. The SID value for the table space is required to make a connection from the Web Help Desk.

PostgreSQL
As the postgres admin user, create a new whd user and a new database called whd. Grant all permissions to the whd database for the whd user.

OpenBase
Right-click on the Databases folder in the Object Explorer pane and choose New Database... . Name the new database whd and assign the whd user as the Owner. Create a new database called whd and enable automatic start on reboot. For the default Admin user, set the password to one of your choosing. Refer to the OpenBase documentation if you more explicit instructions.

Backup Strategies
Having a regular backup schedule is very important to protect your data in the event of a catastrophic hardware failure. The Web Help Desk can automatically make scheduled backups on the embedded FrontBase database. Embedded FrontBase backups are located at <WebHelpDesk>/ FrontBase4/Backups/whd.fb by default, or choose another backup location. If not using FrontBase, the application can trigger the execution of your own backup script daily. The backup should always be moved to a separate hard disk or tape.
TIP The embedded FrontBase database can *only* be backed up to a local drive on the server the backup command does not support writing files to a networked drive. Be sure to regularly copy the backups to a 2nd hard disk or tape.

The database is now ready for connection with the Web Help Desk.

Chapter 2: Installation
Mac OS X
Pre-Install Requirements
Mac OS X 10.5 or later with Java 6 installed. For OS X 10.5, the machine must use a 64 bit Intel processor. If not using the embedded FrontBase, your database of choice should be setup as described in Chapter 1. Mac OS X 10.5 users should refer to the following FAQ to make sure that Java 6 is configured for use by the Web Help Desk
FAQ http://support.webhelpdesk.com/cgi-bin/WebObjects/Support.woa/wa/FaqActions/view?faqId=107 TIP In a new installation, the application will automatically use the embedded FrontBase database. If you wish to use a different database, click cancel at the initialization screen and supply the connection information for your database. Restart the Web Help Desk to use the new database connection. After initializing the database, the application starts up in demo mode. To enter your license name and key, go to Setup > General > License.

Windows Server
Pre-Install Requirements
If not using the embedded FrontBase, your database of choice should be setup as described in Chapter 1.

Installation
Mount the WebHelpDesk-<version>.dmg disk image in the Finder and double click on the WebHelpDesk.pkg installer. The application will be installed into:
/Library/WebHelpDesk

Installation
Launch the WebHelpDesk-<version>.exe application and follow the on screen instructions. By default, the application will be installed into:
C:\Program Files\WebHelpDesk

Utilities to start and stop the Web Help Desk and the FrontBaseManager application are installed into:
/Applications/WebHelpDesk

The Web Help Desk is configured to start automatically on reboot. However, if you do need to stop or restart the application for any reason, go to Start > All Programs > Web Help Desk and use the stop/start options.
IMPORTANT If running Windows 2008 Server, make sure to use the Run as Administrator option when installing Web Help Desk, and when choosing Start Web Help Desk from the Windows Start menu.

The application is configured to start automatically after installation and on reboot. However, if you do need to stop or restart the application for any reason, you can use the start and stop options in /Applications/WebHelpDesk. By default, the Web Help Desk serves web pages on port 8081. If you would like to configure the Web Help Desk to work with Apache, or run on port 80 directly, follow the instructions described in the Apache Integration section. Connect to the Web Help Desk by going to the URL:
http://localhost:8081/helpdesk

By default, the Web Help Desk serves web pages on port 8081. The application can be configured to run on port 80, but IIS must be stopped. Refer to the Microsoft IIS Integration section at the end of this chapter for more information. Connect to the Web Help Desk by going to the URL:
http://localhost:8081/helpdesk

The application will attempt to connect to the FrontBase embedded database by default. You will be prompted to update the database to the latest version. Login to the application, using the default account:
E-Mail Address: admin Password: admin

The application will attempt to connect to the FrontBase embedded database by default. You will be prompted to update the database to the latest version. To login to the application, use the default account:
E-Mail Address: admin Password: admin TIP In a new installation, the application will automatically use the embedded FrontBase database. If you wish to use a different database, click cancel at the initial-

CHAPTER 2

Installation 6

ization screen and supply the connection information for your database. Restart the Web Help Desk to use the new database connection. After initializing the database, the application starts up in demo mode. To enter your license name and key, go to Setup > General > License.

TIP In a new installation, the application starts up in demo mode. To enter your license name and key, go to Setup > General > License.

Solaris
Pre-Install Requirements
Database setup as described in Chapter 1.

Linux
Pre-Install Requirements
RPM Package manager The application has only been tested on RedHat Linux, but should work on other distributions. Database setup as described in Chapter 1.

Installation
NOTE: You will need the open-source utilities sudo and star (a tar replacement). star is needed because the tar utility included with Solaris (/usr/bin/tar) will not extract the long filenames in the webhelpdesk-<version>.tgz package correctly, nor will the open-source GNU tar. (gtar version 1.13, currently the most popular build for Solaris, seems to have a bug that truncates the last character of paths having 103 characters.) You can use the following to install star (replace sol9 with sol8 if using Solaris 8): Download the pre-compiled star package (star-1.5a40sol9-sparc-local.gz) from: http://ftp.sunfreeware.com/ftp/pub/freeware. Uncompress the package (for Intel servers, replace sparc with intel):
gunzip star-1.5a40-sol9-sparc-local.gz

Installation
Decompress and install and install the RPM:
gunzip webhelpdesk-10.x.x-1.noarch.rpm.gz sudo rpm -ivh webhelpdesk-10.x.x-1.noarch.rpm

The RPM installs and starts the Web Help Desk at:
/usr/local/webhelpdesk

The application is configured to restart automatically upon reboot. However, if you do need to manually stop and start the application, using a shell:
cd /usr/local/webhelpdesk sudo ./whd stop sudo ./whd start

Install the package:


pkgadd -d star-1.5a40-sol9-sparc-local

By default, the Web Help Desk serves web pages on port 8081. If you would like to configure the Web Help Desk to work with Apache, or run on port 80 directly, follow the instructions described in the Apache Integration section. If no Apache integration is required, connect to the Web Help Desk by going to the URL:
http://localhost:8081/helpdesk

The Web Help Desk startup script depends on finding the bash shell at /bin/bash. Unfortunately, before Solaris 9, bash was not included in the default installation. If you do not have bash installed, you can download it as a package from http://sunfreeware.com. After installing the package, check that there is a link to the bash executable from /bin/bash. If not, you can create it with the command ln -s <path_to_bash_ executable> /bin/bash. To install the Web Help Desk once the above prerequisites are met: Extract the webhelpdesk folder into /usr/local/. Be sure to use star not tar!
sudo star xfz webhelpdesk-<version>.tgz -C /usr/local/

Provide your settings to at the database configuration screen. You will be prompted to update the database to the latest version. To login to the application, use the default account:
E-Mail Address: admin Password: admin

Execute the following to make the Web Help Desk start up automatically after a reboot:

CHAPTER 2

Installation 7

sudo /usr/local/webhelpdesk/bin/install_autostart

tion file (httpd.conf), then restart Apache:


ProxyPass /helpdesk http://localhost:8081/helpdesk ProxyPassReverse /helpdesk http://localhost:8081/helpdesk

Start the Web Help Desk:


/usr/local/webhelpdesk/whd start

Existing Tomcat Integration


To simplify installation, the Web Help Desk comes bundled with its own copy of the Apache Tomcat application server. However, if your deployment server already has Tomcat installed and you wish to use it in place of the included copy, move the following directory to your existing Tomcat/webapps directory:
webhelpdesk/bin/webapps/helpdesk

By default, the Web Help Desk serves web pages on port 8081. If you would like to configure the Web Help Desk to work with Apache, or run on port 80 directly, follow the instructions described in the Apache Integration section. If no Apache integration is required, connect to the Web Help Desk by going to the URL:
http://localhost:8081

Provide your settings to at the database configuration screen. You will be prompted to update the database to the latest version. To login to the application, use the default account:
E-Mail Address: admin Password: admin TIP In a new installation, the application starts up in demo mode. To enter your license name and key, go to Setup > General > License.

If you are running Tomcat and Apache, you will need to add the ProxyPass entry described in the previous section.

Microsoft IIS Integration


By default, the Web Help Desk runs on port 8081. If you dont need IIS, and would prefer to run the application on port 80, do the following: Stop IIS Stop the Web Help Desk Set the DEFAULT_PORT variable in C:\Program Files\webhelpdesk\conf\whd.conf to 80 Restart the Web Help Desk If there are multiple IP addresses on the machine, you can run the Web Help Desk on port 80 along with IIS on port 80 provided you bind IIS and Web Help Desk to separate IPs. To specify the IP address for Web Help Desk, edit the C:\ Program Files\WebHelpDesk\conf\whd.conf file and set the IP_ADDRESS option to the IP you want to bind. To bind IIS to a specific IP, refer to the following FAQ:
FAQ http://support.webhelpdesk.com/cgi-bin/WebObjects/Support.woa/wa/FaqActions/view?faqId=63

Apache Integration
By default, the Web Help Desk runs on port 8081. If you dont need Apache, and would prefer to run the application on port 80, do the following: Stop Apache Set the DEFAULT_PORT variable in webhelpdesk/ conf/whd.conf to 80 Restart the Web Help Desk If need to have Apache running on port 80, you can allow it to proxy requests to the Web Help Desk on port 8081. This will make it appear as if the application is running on port 80. In the webhelpdesk/conf/whd.conf file: Leave the DEFAULT_PORT=8081 Set the URL_DEFAULT_PORT=80 Enable the mod_proxy module in your Apache install. Documentation for mod_proxy is available here:
http://httpd.apache.org/docs/2.0/mod/mod_proxy.html

Add the following lines at the end of your Apache configura-

Chapter 3: Getting Started


Setup
Log in as an Administrator using admin for both e-mail and password then click on the Setup tool bar icon.

Authentication Define an optional login message and edit the forgot password message to your liking. Enable automatic login and define the session timeout values for both Techs and Clients. Control if hyperlinks in e-mail messages should Require Authentication on External Hyperlinks to access attachment files.
TIP Pop-up help is available throughout Web Help Desk. Mouse over any preference label or i icon for a detailed description of the setting.

General
License If youve purchased a Web Help Desk Key, click the padlock icon to paste your key into the License Key field.

Time & Place


Business Zones

A Web Help Desk Key provides upgrade support for a 12 month period. Support always expires at the end of a month. If you do not purchase a key, the application will automatically convert to a single seat Lite license after 30 days. If you need to renew support, please contact billing@webhelpdesk.com. General Options Specify the server DNS name and optionally force the use of https if SSL is configured. Provide a Help Desk Name to appear in the browsers title bar, specify the maximum fetch size from the database and control the maximum attachment size.

The application creates a default business zone that should match the time zone specified by the servers operating system. You can create additional business zones for other time zones your Techs or Locations may use. All Techs use the default zone unless overridden in their profile. Clients inherit their business zone from their assigned Location, using the default if the Location has no override. Business zones define the date, time and number formats as well as the work days and hours used in calculating ticket open times.

CHAPTER 3

Getting Started 9

Calendars

and routed.

Enable/disable calendar links, determine which ticket types are included, specify the calendar date range and customize the format for event listings. To receive and update tickets via e-mail, provide: E-Mail address for submitting tickets Server Type: IMAP, POP3 or Exchange 2007+ Incoming Mail server address Account user name and password Outgoing Mail Account Request Type for new tickets sent to the account

E-Mail
The Web Help Desk can send and receive e-mail notifications using multiple outgoing and incoming e-mail accounts. Each outgoing account can be linked to one or more incoming accounts. Outgoing Mail Accounts To send e-mail, provide the following settings: SMTP server address Username/Password if authenticating Friendly name for helpdesk e-mail address Helpdesk e-mail address (the from address for mail)

Exchange 2007+ users can refer to the following for more information about configuring Exchange Web Services for compatibility:
FAQ http://support.webhelpdesk.com/cgi-bin/WebObjects/Support.woa/wa/FaqActions/view?faqId=86

The account is checked for new mail every minute and should be a dedicated account for use by the Web Help Desk.

WARNING DO NOT use your personal mail account as the receiving e-mail box. Once the application connects, all mail in the account inbox will be processed and DELETED. TIP Use the Tech Group popup menu to filter the request types that will be available in the Request Type popup menu, but selecting a tech group is not required.

can be linked to one or more Incoming Mail Accounts. A single outgoing account can be used for all incoming accounts, or create multiple accounts as needed.
Outgoing Mail Accounts

E-Mail Options The E-mail options panel is split into two sections: Incoming Mail and Outgoing Mail. include a setting to specify if the a new client account is created when a message is received from an unrecognized e-mail address. Accepted Domains is a white list of e-mail domains that allow new account creation. Block specific addresses using the Ignored Senders field, and use
Incoming Mail Options

Incoming Mail Accounts The Web Help Desk supports multiple incoming e-mail protocols. Mail accounts can be IMAP, POP or Exchange Web Service (Exchange 2007+), and there is no limit on the number of accounts created. Each incoming mail account is linked to a specific Request Type allowing incoming messages to be properly categorized

CHAPTER 3

Getting Started 10

regex filters to block e-mail containing specific text in the subject or body of the message. Text within messages can also be stripped out using a filter, as can attachments with a specific name or extension.

E-Mail Templates templates control what text is contained in messages sent from the application. There are several built-in templates that cannot be deleted, but they can be customized.
Outgoing Mail

TIP E-mail domains defined in a Company or Location are automatically included in the Accepted Domains list.

include an SMTP timeout setting, and a setting to send mail in either plain text or HTML format. You can also specify if HTML e-mail should be used for clients, and show or hide action links which allow clients to update or cancel a ticket via e-mail. Additional options include the ability to set the ordering of information in the mail message (Client info, Ticket info, Notes, Recipients), and specify how many notes should be included in the mail message. Options are also available for attachment embedding, carbon copy handling and message footer
Outgoing Mail Options

Templates can be added for specific Status Type and Request Type combinations. Template text supports several tags to dynamically insert text relevant to the ticket or client. If the application supports multiple languages, language variants for each template can be added.

templates determine the text inserted into reply e-mail messages when using action links in a Web Help Desk generated e-mail. All of these templates are built-in and cannot be deleted, but they can be customized and support additional languages.
Incoming Mail

TIP Use the Simple client e-mail style format if a more conversational, less data intensive presentation to end users is desired.

Logo Upload a customized logo used in the web application and client e-mail. Logo should be 259 x 61 pixels in size.

CHAPTER 3

Getting Started 11

Database Specify the database vendor, machine name or IP address and connection account. Specify a backup schedule for your database and set a custom backup path for the FrontBase database if desired. See Chapter 1: Database on page 1 for additional information.

Location & Rooms The application defines a single Sample Location at installation. To add an additional location, click on the New button at the bottom of the list, or select the name of an existing location to edit. This will open a panel named Location Info where the bulk of the location information will be entered.

Location Info
TIP FrontBase backup files must use a local physical drive. Backups cannot be made directly to a network drive.

Logs Specify the logging level of the application (default is Error). Enable sending the log to a remote server for monitoring with the Chainsaw log tool. Logs are stored in <WebHelpDesk>/ log/helpdesk.log. System Information Displays system environment information: application version, Java version and memory used.

Provide a name and optional address for the location and specify a Business Zone (time zone). Each location can be assigned one or more Client Admins a Client account that can view all tickets for the location, as well as create tickets for themselves or other clients at the location (if enabled). Client Admins may be given editing permission on all tickets for the location and can also be sent a copy of all e-mail updates sent to clients at the location (see Client Admins on page 75). If billing is enabled, the location can be designated for parts storage, and a default billing rate can be specified. To facilitate service level agreements (SLAs), a default priority for the location can be defined. Tech note work time can be displayed to clients at the location.

Locations
The Locations module is used to define physical support locations and to organize the locations into Location Groups. Options to enable Departments, Rooms and Companies are also available. Options Companies, Rooms and Departments are enabled in this section by using the checkboxes available. If Companies are enabled, Manager Precedence determines which Manager is used for ticket escalations when the tickets Location is assigned to both a Company and a Location Group and the tickets Tech Group is using Location Manager precedence.

CHAPTER 3

Getting Started 12

Rooms Editor

If Setup > Locations > Options > Use Rooms is enabled, rooms can be linked to the Location by clicking on the Rooms Editor tab. Add rooms by clicking on the New button at the bottom of the list. Remove rooms by clicking the trash can icon on the rooms row.

Group Name

Name the location group and assign a Group Manager. The group manager can be any a tech or an administrator, and will receive Manager level escalations if the tickets Tech Group specifies Location Group Manager escalation preference.

Service Time Blocks

Service time or points can be assigned to a Location. The feature must first be enabled at Setup > Parts & Billing > Invoicing Options > Invoicing > Enable Location Service Time Blocks

Assigned Locations

and in the Location Info of the location. Assign a block of time or points to a location and an optional expiration date for that block. As techs book time to the location in ticket notes, the balance of available time is displayed. For further information on using Time Blocks, see Chapter. 10: Parts and Billing.

Define the locations for the group. Each location can only be assigned to one group. As locations are assigned, they disappear from the list of available locations. To remove a location from the group, click the small trash can icon on the locations row.

Assigned Techs Use this tab to assign the technicians to the group. A technician can be in any number of location groups. To remove a tech from the group, click on the small trash can icon in the techs row. Location Groups This sub-module is used to define groups of Locations and link them to the Techs that will handle their tickets. Location Groups can also be used to control Tech accessibility to Tickets, Clients, Assets and FAQs. The application defines a single Sample Location Group at installation, to which the Sample Location was added. Location Groups are not required if tickets do not need to be routed to Techs based on location or location based accessibility isnt required, the sample Location Group can be deleted.

TIP To have jobs routed to a different Tech for every location create a separate Location Group for every location. Only group locations together if Techs in the group should handle jobs from all of the assigned locations.

Location Custom Fields Define custom fields for Locations and specify view/editing

CHAPTER 3

Getting Started 13

permissions for Techs at Setup > Locations > Location Custom Fields. Mouse over labels for examples and formatting of fields.

Company Locations and Techs

Locations and Techs are assigned to a Company in exactly the same manner as a Location Group. A Location can only be assigned to one Company at a time. A Techs assigned Permission allows accessibility constraints by Location Group or Company never both.
TIP While it is possible to use both Companies and Location Groups in the same configuration, typically only one option makes most sense for a given deployment.

Departments This module is only available if Setup > Locations > Location Options > Use Departments is selected. In conjunction with Department Groups, Departments add an additional filtering layer for assigning Tickets and controlling Tech accessibility to Tickets, Clients, Assets and FAQs. Departments are not Company or Location specific, so the same Department name could be linked to entities across different Locations.
Department Info

TIP Client permissions cannot be set for location custom fields because they are never visible to clients.

Companies This optional entity is designed to group together physical Locations that all belong to the same Company. Using a Company to group Locations allows tickets from the assigned Locations to be routed to Techs assigned to the Company. Similar to a Location Group, a Company can also be used to control Tech accessibility to Tickets, Clients, Assets and FAQs. Using the Company entity also facilitates reporting. Companies are enabled at Setup > Locations > Options > Use Companies.
Company Info

Define the department name and optionally assign one or more Client Admins. Specify editing permissions and email settings for the Client Admins (see Client Admins on page 75).

Name the company, provide address information and e-mail domain. Once one or more Locations are assigned, specify the Default Location this location is automatically assigned to Clients who create an account via e-mail using one of the company domain names.
TIP Locations assigned to the Company automatically inherit the Company level domain names.

Department Groups Use this sub-module to define groups of Departments and link them to the Techs that will handle their tickets. Department Groups can also be used to control Tech accessibility to Tickets, Clients, Assets and FAQs. Use the Assigned Departments tab to add appropriate departments to the group and the Assigned Techs tab to assign techs to the department group.

CHAPTER 3

Getting Started 14

Department Custom Fields Define custom fields for Departments and specify view/editing permissions for techs at Setup > Locations & Departments > Department Custom Fields. Mouse over labels for examples and formatting of fields.

TIP Client permissions cannot be set for department custom fields because they are never visible to clients.

Tickets
The Tickets module is used to define ticket options, Request Types and other important ticket functions. Ticket Options Ticket options are categorized into three categories; General Options, Client Options and Tech Options. Some options include: Default setting for e-mail recipients for tickets with no Tech Group Enable clients to set priority on initial help request Lock the ticket to the clients assigned location so that service locations remain private Field style for rooms (text or popup menu) Requiring the use of an assigned asset E-Mail auto-reply settings Tech note sorting Simultaneous ticket edit warning options Mouse over the field labels to see the online help pop-ups for more information.
TIP In the Request Type list view, you can expand a Parent/Child grouping by clicking on the triangle icon next to the Parent type name. Parents with no children will not have a triangle.

Request Types Define what request categories the help desk will support. By default, the application has one Sample Problem defined. Click on the New button to define another request type. A request type can be defined at the top level, or as a child beneath any other level.

CHAPTER 3

Getting Started 15

In the preceding screenshot, the Reset Password request type is defined as child of the IT Support parent. Assign the request type to a Tech Group (optional at this point can be assigned when Tech Groups are created). Define the Default Priority that tickets of this type will be assigned. Hide Subject and Request Detail for tickets using the Request Type Specify if there is a Request Detail Required in the ticket when the request type is selected Provide any Detailed Instructions you want to appear for clients to follow when submitting the request. Detailed Instructions will only appear on ticket creation. Create internal request types that are not visible to clients by unchecking the Visible to Client option. By checking Use Models, a ticket with this request type must have a hardware model or asset selected by the Client. Specify which Locations and, if enabled, Companies and Departments the request type is visible from (default is All). Custom Fields can be linked to the request type. The default option is to display None additional options include Specific and All. Specify if attachments can be uploaded by clients for the request type. Define if the request type should be used as a category for FAQs. The Lead Technician will receive any top level escalations for tickets of this type. Assign the survey to be linked to tickets using this request type.
IMPORTANT If the Request Type isnt assigned to any Tech Group, the Lead Technician will be assigned to tickets of this type automatically. For more information on how tickets are assigned, see Ticket Assignment Logic on page 37.

the status is automatically changed to Closed. Additional resolving status types can be created, and any of the other types can be set to auto-close if the client fails to respond for a given period of time.

The status type detail editor includes options for color coding, using the status in calendars, load balancing during ticket auto-assignment (see Ticket Assignment Logic on page 37), enabling client reminders, counting ticket open time, enabling alerts, and to determine if the type is shown by default in the Tickets > My Tickets and Group Tickets view. The Status can also trigger the display of specific Ticket Custom Fields.

Status Types Options

Use the Options tab to specify if clients can re-open closed tickets and to map various Approval related status types. An option to change the ticket status when a Client updates is also available.

Status Types Status types fall into two main groups: Special and Other. By default, the Web Help Desk defines the special types as Open, Closed and Cancelled. These types cannot be deleted, but they can be re-named. The application creates two other types by default: Pending and Resolved. The Resolved state is pre-configured as a status that prompts the client for resolution. If the client confirms the resolution of the ticket,

CHAPTER 3

Getting Started 16

are covered in more detail in Chapter 8 (see Approval Status Types on page 53). By default, all approval status types use Open.
Approval status types

Text Number Currency Date Date/Time Time Period Multiple Choice (checkboxes) Single Choice (radio buttons) Popup Menu If the custom field must have more options than will fit in the Options text field, they can be uploaded in a text file. The options should be either semicolon or new line delimited. Each option must be less than 150 characters in length.

Priority Types & Alerts At Setup > Tickets > Priority Types & Alerts, the application defines four priority types by default: Urgent, High, Medium and Low. Additional priority types can be created and the names and display order for each priority can be changed.

IMPORTANT Alerts are weighted from bottom to top in that Level 3 takes precedence over Level 2 or Level 1 and the Not Completed condition is considered more important than the Not Updated which is more important than Not Assigned.

Once a custom field is saved, the option to link the field to specific Request Types is enabled. Use the edit link to open a popup editor for request type selection.

Each priority type has its own set of Alert Conditions that are used in conjunction with a tickets status to determine what the current alert status is. When a condition in each alert level is reached, you have the option of triggering e-mail events, sending a message to the assigned tech, the techs supervisor or the group manager for the tickets request type. The alert repeat interval can also specified for each priority type.
TIP If the status type for the ticket has alerts disabled, no alert level changes will be observed regardless of the alert settings.

Each priority has a Due Time value that is used by a ticket to automatically calculate the due date and time. The due date and time can be overridden within each ticket if desired. Ticket Custom Fields Create custom fields for your tickets and define viewing/editing permissions for clients and techs. Custom fields can be defined as one of the following types:

Tasks Tasks can be created and managed at Setup > Tickets > Tasks. Tasks are used to create scheduled events and are made up of Elements. Each element generates a ticket and can be set to trigger on creation of the element, or when the elements ticket status equals a set value (see Several tabs are available for
viewing and managing tickets under the Tickets tool bar icon. on page

CHAPTER 3

Getting Started 17

31).

Client Custom Fields Create custom fields for your clients and define viewing/ editing permissions for clients and techs. Custom fields are always visible to administrators. LDAP Connections Configure one or more LDAP directories as a source for client data (see LDAP and Active Directory on page 24).

Techs Clients
The Clients module is used to define permissions and roles for clients and to set up LDAP synchronization to outside directories for client import and authentication. Client Options At Setup > Clients > Client Options, specify the client login attribute (e-mail or user name), define which client fields are editable and required, and list which domains the client email must match to create a new account. The default module displayed to the client after login can be specified, as well as options for approval and resolution confirmation and display name templates. The Setup > Techs module is used to create new Tech or Admin accounts and to link techs with specific Request Types by creating Tech Groups. Its also used for creating and assigning Permissions. My Account Allows the tech who is logged in to access and edit their own account details. E-Mail notification settings and SMS messaging can be set up and controlled here. Techs The application installs a single Joe Admin Administrator account which can be edited but not deleted. Click the New button at Setup > Techs > Techs to create a new Tech or Admin account, or click on an existing name to edit the account.

Account Info

Customize the settings for each Tech important settings include: Contact information Account type An option to disable the Enhanced UI features in the ticket list views. Ticket note settings Client Admin Roles Client Admin Roles are used to define which Request Types are available to Client Admins assigned to the role. (see Client Admin Roles on page 76). E-Mail options Linking to a specific business zone to control time zone and date/currency formatting. Scheduling, including weekly work schedule with Start and End work times. Option to put the Tech on vacation or disable the account from login.

CHAPTER 3

Getting Started 18

Tech Group Info

Provide a group name and specify a Group Manager. This can be either a technician or administrator account. The group manager receives escalations above the highest Tech Group Level. Optionally, manager level escalation can be sent to the tickets Location Group Manager by selecting the precedence checkbox. Any Request Types assigned to the group that are linked to an Incoming Mail account are listed in the E-Mail Accounts table.

Enabling Tech SMS

SMS is set up for each individual Tech at Setup > Techs > [edit Tech]. Checking the SMS E-Mail Enabled exposes an SMS E-Mail Address field put the appropriate SMS e-mail address for the Techs cell phone number here. The SMS E-Mail option includes a Minimum Priority for SMS E-Mail setting. The ticket must be at the priority specified in that option (or higher) in order to trigger an SMS e-mail message. Note that priority is defined from low to high by the display order of your priority types. The SMS E-Mail option also includes a Minimum Alert Level for SMS E-Mail setting. The ticket must be at the alert level specified in that option (or higher) in order to trigger an SMS when the alert message is e-mailed.
TIP For more info see Priority Types & Alerts on page 16.

TIP For info on setting up an e-mail account to link to a Request Type, see

Incoming Mail Accounts on page 9. Tech Group Levels

To function, a Tech Group must have at least one level defined. All tickets start at Level 1, which includes the following auto-assignment options: None assign the ticket to the group level queue A Level Tech use load balancing combined with Location and Department Group membership to assign a specific Tech. Group Manager ignore any assigned techs at the level and assign the ticket directly to the group manager. The ticket remains at Level 1, so it isnt escalated. Lead Tech ignore any level techs and assign directly to the Request Type Lead Tech. The ticket remains at Level 1, so it isnt escalated. If the group handles Request Types that cut across all Locations or Departments, it may be helpful to use the Ignore Location and Department option. This will allow Techs in the level to be assigned or have access to the tickets even if their Location or Department group membership would typically filter the tickets out. Additional options at the level include e-mail notification

Tech Groups The main purpose of creating Tech Groups is to match a group of related Request Types with one or more Techs who are qualified to handle the requests in the group. Tech Groups must have at least one Level. Tickets always enter a group at Level 1, and can be auto-assigned to a Tech, the Group Manager, or the Request Type Lead Tech. Ticket assignment can also be set to none so that group members can self-assign tickets from the group queue.

CHAPTER 3

Getting Started 19

settings and, most importantly, which Techs are assigned to the Level.

Asset Permissions Other Permissions

TIP For more information on auto-assignment, see Ticket Assignment Logic

on page 37.

Request Types Supported

Specify the request types for the group. A request type can only be assigned to one Tech Group. As request types are assigned, they disappear from the list of available types.

Once permissions are defined, use the Assigned Tech tab to link techs to the permission. Use the built-in help for more information about each permission. Remember that a Tech can only be linked to one permission at a time.

Tech Permissions Control what features your techs can access by creating one or more named permissions. The application installs a Default permission set that you are free to edit, but not delete. You can also create as many additional named permission sets as required. Each tech can only be linked to one permission at a time. Administrators are not linked to a permission set and always have full access to the application.

Assets
The Web Help Desk can be used as a complete asset management solution, however to include the most basic asset information in tickets, at minimum Asset Types, Manufacturers, and Models must be defined (see Chapter 6: Asset Management on page 38 ). Asset Options At Setup > Assets > Options, specify if asset numbers should auto-increment, set view/editing permissions for technicians and enable expiration e-mail messages to be sent to a specified Tech. Enable asset discovery integration to 3rd party tools like Apple Remote Desktop, Absolute Manage (formerly LANrev), JAMF Softwares Casper and Microsoft SCCM (see Chapter 7: Asset Discovery on page 45 ).

Permissions are divided into five main sections: Location Permissions Ticket Permissions Client Permissions

CHAPTER 3

Getting Started 20

Lease Types

Leases are only used in purchase orders (POs) for orders defined as Lease (vs. Purchase). The lease periods defined in this tab are available in the PO, and the period is used by any assets linked to the PO to calculate their lease expiration date. Asset Custom Fields Define custom fields and specify view/editing permissions for techs. Custom fields can be linked to specific Asset Types in the asset type editor.

Asset Types The application defines a single Sample Type asset type by default. Use Asset Types to categorize your assets common types include: Desktop, Laptop, Printer, Software, etc. Each type can also be linked to one or more of your defined custom fields.

Manufacturers & Models Define supported models at Setup > Assets > Manufacturers & Models. Before adding specific models, create the Manufacturers to link the models to. The application defines a single Sample Manufacturer by default.

Asset Status Types

Define the various states that an asset can be categorized with. Common types include: Deployed, Storage, Donated, etc. Any status type can be additionally flagged as Retired which means that assets using this status wont be available for use in new tickets.

Manufacturer Info

Provide a manufacturer full name and short name the short name is used in all popup menus for any models linked to the manufacturer. Any additional information beyond the full and short names is optional.

Warranty Types

Specify the warranty options available for your models. Warranties can be named whatever you like, and the expiration can be defined in days, weeks, months or years.

CHAPTER 3

Getting Started 21

Model Editor

Approver Roles

Add models for the manufacturer under this tab. Provide the required model name asset type and optional warranty period. If additional asset and warranty types are needed, go to Setup > Assets > Types and edit the appropriate type tab. Attachment files for the model can be uploaded the attachments will show up in any asset records using the model.

Define supported Approver Roles at Setup > Processes > Approver Roles (see Chapter 8: Processes on page 51).
Location Approvers

allows for the linking of Approver Roles to Locations (see Chapter 8: Processes on page 51).
Setup > Processes > Location Approver Roles

Department Approvers

Setup > Processes > Department Approvers allows for the linking of Approver Roles to Departments (see Chapter 8: Processes on page 51).
Approval Processes
TIP Manufacturers and models are added automatically when using the Asset Importer or an Asset Discovery Connection. If importing assets via file or discovery connection, its more efficient to let the importer create the manufacturers and models. However, it may still be necessary to go back to each entry and fill out details using the web interface.

Once CABs, Approver Roles and Location/Department Approvers are configured, define the approval processes at Setup > Processes
> Approval Processes (see Approval Processes on page 52).

Surveys
Define surveys to be sent to Clients at Setup > Surveys. A survey can be linked to a specific ticket, or mailed out to one or more Clients without a ticket association. Survey Options Use this sub-module to specify the default survey and set reminder parameters (see Chapter 12: Surveys and Messages on page 69). Surveys Use this sub-module to define and edit individual surveys (see Chapter 12: Surveys and Messages on page 69).

Vendors The Vendor entities are used in Purchase Orders and are defined at Setup > Assets > Vendors. At minimum a vendor name must be provided. Discovery Connections Define Asset Discovery connections used to import assets from 3rd party tools like Apple Remote Desktop, Absolute Manage, Casper and Microsoft SMS/SCCM, or link to a customized table/view from your own database (see Chapter 7: Asset Discovery on page 45). PO Custom Fields Define custom fields and specify view/editing permissions for techs. No client permissions are available for these fields because clients never view POs.

Parts & Billing


Options for Billing are available only if Parts and Billing is enabled in Setup > Parts & Billing > Options. Additional options for default Ticket PDF type, Billing Entity (Location or Department), Service Time Blocks (see Service Time Blocks on page 61) and work time calculation (minutes vs points) are available if Parts & Billing is enabled. Part Custom Fields Create any custom fields to be used in part definitions. Inventory Alerts Indicates the frequency with which e-mail alerts are sent when inventory levels fall below a parts threshold. Add the e-mail addresses (comma or semicolon delimited) for the default alert recipients. The default recipients can be overrid-

Processes
This module is used to define Change Advisory Boards, Approver Roles and Approval Processes. Approvers can also be linked to specific Locations and Departments
Change Advisory Boards

Define Change Advisory Boards (CABs) at Setup > Processes > Change Advisory Boards. A CAB is a group of approvers with a minimum number of required yes votes to generate an approval (see Chapter 8: Processes on page 51.)

CHAPTER 3

Getting Started 22

den at the Location level. Invoicing Options


Invoicing

are required.

Specify address info for the business entity used to generate invoices. If the Client on the Ticket to be invoiced has both a Location linked in the WHD and a personal address in the Client profile, determine which address should be used for the invoice.
Logo

Click on the Logo tab to upload a logo for invoices. The image file must be a gif or png file.
TIP The logo will be automatically scaled to a width of 3 inches in the PDF file. A medium to high resolution file is suggested.

TIP Typically ASCII is the preferred file encoding, however Unicode (UTF-16) can be used if import data includes extended character set data.

Rates & Terms Define values that are used in calculating ticket cost at Setup > Parts & Billing > Rates & Terms. Tabs to define billing rates, billing terms and tax rates are available. Taxes can be applied to either labor, parts or both (see Chapter 10: Parts & Billing on page 58).

Data Import
To speed the creation of entities used by the application, data can be imported from a text file template at Setup > Data Import. Importers for eight entities are available: Locations Clients Assets POs Tickets FAQs Parts Inventory. Data importers provide a template download button and accept tab or comma delimited files. Excel formatted (.xls only) files are also accepted. Each importer specifies which fields

23

Chapter 4: Managing Clients


Manual Web Entry
Individual clients are added by going to the Clients icon in the tool bar and clicking on the New Client button at the top of the search results list, or the New button on the lower right of the list.
TIP Passwords for web entry clients are created automatically using the value set at Setup > Clients > Client Options > Password Reset Value, or the value can be set manually.

Assigned Assets
View client assets under the Assigned Assets tab. Click the hyperlinked asset number to edit the asset details, or use the asset discovery buttons (see Chapter 7: Asset Discovery on page 45).

Client Info
Clients must have a last name, e-mail address and user name to be saved successfully. A client can be assigned to a primary location, room and department (if enabled). If companies are enabled, the assigned company can be used link the client to one or more locations belonging to the company (via Other Rooms if enabled, or by location if not using rooms). If not using companies, the client can only be linked to additional locations by using the Other Rooms option, necessitating that rooms be enabled. New account confirmation is e-mailed to the client if enabled at Setup > Clients > Client Options > E-Mail Client When Account is Created.

Ticket History
A complete history for the client is available under the Ticket History tab. Entries can be sorted by column header and details are viewed by clicking on the hyperlinked ticket number.

Data Import
Clients can be imported directly into the application using the template available at Setup > Data Import > Import Clients. Click on the Download Template button and open the client_import_template.txt file in Excel. When adding client rows to the spreadsheet, it is very import to leave the column header and all columns in order and intact. If data is not available for a particular column, it is fine to leave the cells empty for the column, provided the value is not required. If headers, columns or column order is changed, the import will generate an error message. When e-mail is the client login attribute, the two required columns are: Last Name E-Mail Address The importer adds a new client for each unique synchroniza-

CHAPTER 4

Managing Clients 24

tion key value it encounters and synchronizes data based on the key as well. The synchronization key is e-mail address by default, but user name or a custom field value can be used instead. If Location, Room or Department information is contained in the data file, the importer creates new Locations, Rooms and Departments for any uniquely named values when the Add New Entities option is selected.
TIP Room names dont have to be unique as long as the duplicate room name is associated with a different Location.

Once the template is prepared, save the file as tab or comma delimited or Excel (.xls only), then use the Choose File button to select the file. Click the Import button to upload the template and import the clients. When the upload is complete, go to the Clients module in the tool bar to check your upload results.

TIP For most directories anonymous access is all the Web Help Desk requires to import your client data. Active Directory, however, requires authentication to read the directory. The connection account should look like admin@yourdomain.com, where the domain name matches the dc values in your Base DN. You must also provide a password for the account.

LDAP synchronization does not import any passwords into the database, so the directory must store password information to use it with the Web Help Desk. To authenticate clients, the application performs an LDAP bind with the directory passing the user supplied password as part of the bind.

LDAP and Active Directory


The Web Help Desk can be configured to use one or more LDAP directories as a source for client data and authentication. Clients can be synced on demand, or at scheduled intervals. If pre-syncing clients isnt required, new clients can be synced on the fly when the client first authenticates with the Web Help Desk. Creating an LDAP Connection LDAP connections are configured at Setup > Clients > LDAP Connections. In the Connection Basics, provide an optional connection name and the required host and Base DN parameters for the LDAP connection. If the LDAP directory is a Microsoft Active Directory, be sure to select the Microsoft Active Directory checkbox. Select SSL for secure connections and several authentication options are available (Simple authentication should work on all directories). If scheduled or on demand syncing is required, check the Bulk Synchronization checkbox and set an optional schedule.

TIP There is an option to ignore all client passwords, which is helpful if your directory doesnt store passwords and client privacy isnt an issue. See the following FAQ for details. FAQ http://support.webhelpdesk.com/cgi-bin/WebObjects/Support.woa/wa/FaqActions/view?faqId=74

Mapping Attributes
Besides importing basic client information, LDAP synchronization can also be used to map values stored in the directory to Web Help Desk entities like Location and Department or to custom fields. To map these attributes, select an LDAP connection, then click on the Attribute Mappings tab. Use the default schema (user for Active Directory, inetOrgPerson for others), or a custom schema. If a custom schema is selected, a popup menu will appear containing schemas provided by the LDAP directory. If a custom schema is selected, name, e-mail, and phone attributes can be mapped manually otherwise these attributes are automatically mapped to the givenName, sn, mail, and telephoneNumber attributes of the default schema.

CHAPTER 4

Managing Clients 25

Clients log into the Web Help Desk using either e-mail address or a user name as defined in Setup > Clients > Client Options > Client Login Attribute. The location, room, and department attributes have checkboxes indicating whether new corresponding entries should be added to the Web Help Desk database if they dont already exist. In order for the LDAP location, room, and department data to map to existing Web Help Desk entities, the values of the LDAP attributes must exactly match the names of the mapped Web Help Desk entity. For example, if mapping the LDAP l attribute to the Web Help Desk Location entity, be sure that locations with the exact same names as the l entries in LDAP already exist. Note that once new location, room, and department entries have been added, they will not be modified by subsequent LDAP synchronizations. Optionally, specify that clients are assigned a Fixed Value for Location and Department. The Location and Department used must already be created in order to map the fixed value.

TIP If the LDAP directory does not define separate first and last name attributes, but combines them into one, choose a Custom schema and the Full Name option in the Name Attribute. The last word in the name value is used for the clients last name and the rest of the value is used for the first name.

Synchronizing LDAP Connections


Once an LDAP connection has been defined, it must be synchronized with the Web Help Desk database. Although password authentication is initially performed directly against the directory using an LDAP bind, all other client data is referenced from cached copies contained within the Web Help Desk database. A manual synchronization can be performed by clicking on the Sync Now icon in the list of LDAP connections. If more than one LDAP connection has been defined, an additional synchronization icon is provided in order to sync all connections. Use the Auto-Sync Schedule setting of each LDAP connection to define when automatic synchronizations should take place.

Some LDAP implementations do not allow the discovery of Schemas and Attributes. In that case, the Detect Schemas & Attributes button will not be shaded, and the popup menus will be replaced with text fields where mappings can be entered manually.

TIP Combine LDAP sync with client import to populate values that are not available in the LDAP directory. For example, if the LDAP directory only stores client name and e-mail, it can still be used to generate client accounts for authentication. To populate values like Location, Room and Department, use an import template and sync to the clients e-mail address or user name.

Client Initiated Entry


If enabled at Setup > Clients > Client Options > Client Can Create Account, new visitors to the help desk will be permitted to create an account. To restrict new clients to specific domains, enable the Only

CHAPTER 4

Managing Clients 26

if clients e-mail matches an Accepted Domain option

under

Clients can Create Account. Accepted Domains are specified

at Setup > E-Mail > Options > Accepted Domains or in the detail editor for each Location or Company (if enabled).

Optionally, new clients can also be created when e-mail is sent to the Web Help Desk from an unrecognized address by enabling Setup > E-Mail > Options > Create Accounts for Unrecognized Senders. If domain matching is specified, Clients will be permitted to create an account only if the domain portion of their e-mail address matches an accepted domain (including Location/Company domains).

Clients create an account from the Web Help Desk Login screen by using the New Account button.

Items with asterisks are required to save the record.

27

Chapter 5: Tickets
Web-Based Ticketing
New tickets are created using the Tickets module in the tool bar. Click on the New Ticket button at the top-left of the list or the New button on the bottom-right of the list.

Client Info
New web-based tickets open to the Client Info tab. Tickets do not require a client, unless specified at Setup > Tickets > Ticket Options > Client Required. Use the Client Lookup search panel to find clients by name, user name, e-mail, phone, location or department (if enabled). To assign the client, click on the hyperlinked name. If only one match is found for the search criteria, the client is automatically assigned to the ticket without having to select it from the list.

Asset Info
Click on the Asset Info tab to optionally link an asset to the ticket, or supply a model if a defined asset is not available. If assets are disabled at Setup > Assets > Options > Use Assets the Asset Info tab will not be visible. Any assets assigned to the tickets client are displayed in the middle of the panel. Other assets can be assigned using the Asset Lookup search filters. To assign an asset, click on the hyperlinked asset number. Edited an asset by clicking the pencil button to the far right of the Ticket Assets row. To remove an assigned asset from the ticket, click the trash can icon at the right side of the asset row. The blue info icon displays additional asset information in a mouseover popup. Multiple assets can be assigned to the ticket.

Once a client is selected, contact information is displayed in full on the upper left section of the Client Info panel. Click the Unassign Client button to remove the client assignment. To edit the assigned client in a popup window, click the Edit button next to the client name. In addition to client info, a ticket history for the assigned client is displayed on the right side of the panel. If an issue has already been reported in a previous ticket, clicking on the ticket number or problem report replaces the new ticket with the selected one. The history can be filtered by status.

TIP A ticket is not required to have an assigned asset or model. If the help request doesnt need this information, the Asset Info tab can be skipped entirely.

CHAPTER 5

Tickets 28

Ticket Details
Saving a New Ticket The Ticket Details panel is where the tickets request type, subject and request detail are entered. The tickets Location and Room can be specified here as well if the assigned client or asset had location information, that will already be reflected in this panel. A request type and description are required before the ticket can be successfully submitted. A tech note with time and billing info can be created, and the ticket status can be set to something other than Open. By default, the Level 1 assignment rules for the tickets Tech Group will be used the ticket creator can use the Myself option to override the assignment. E-Mail recipients are specified at the bottom of the panel.

Tech Group settings). If the manager is already assigned to the ticket, it will be escalated to the Lead Technician for the tickets request type. If auto-assignment is disabled for Level 1, the ticket is not assigned to a specific tech, but will belong to the tech group levels pool of tickets. For more information on ticket workflow, see Ticket Assignment Logic on page 37.

TIP Load balancing assigns the ticket to the Tech with the fewest number of tickets in a Status that has Use for Load Balance set.

Status & Schedule All new tickets are assigned with the Open status type, and the tickets priority is set according to the value specified in Setup > Tickets > Ticket Options. The priority may also be set based on the tickets request type or location. If both location and request type have a default priority setting, the location priority takes precedence. The due date is calculated based on priority, but can be manually overridden. If the priority is changed, the due date is re-calculated on the fly. The ticket can also be scheduled for work at a specific date and time range. Required approvals are displayed, and can be expanded to see the individual approval steps by clicking Approvals button in the panel (see Chapter 8: Processes on page 51 for more information on approvals).

TIP If the ticket status is set to Closed the ticket is automatically assigned to the current tech regardless of any auto-assign rules in effect for the Tech Group.

Assigned Tech and Escalation If the tickets request type belongs to a Tech Group, and autoassignment is enabled for Level 1 of the group, the application assigns a technician to the ticket using load balancing. The ticket can be escalated to the next level by clicking on the escalation widget which displays the current tech group and level. If the ticket is already escalated to the highest level number, further escalation assigns it to the Tech Group Manager (or Location Group Manager if specified in the
TIP Due date uses Business Zone settings, priority type and ticket status type to calculate the date. Tickets with an assigned Location use the Locations assigned Business Zone (otherwise, the Default) work days. Tickets assigned a Status Type with Count Time disabled will automatically push the due date forward until the status changes to one that counts time.

Ticket Notes Technicians add information to a ticket using a tech note. A

CHAPTER 5

Tickets 29

ticket can have any number of notes, and notes can be added by any technician. Notes can contain basic HTML tags or BBCode tags for formatting. Notes are date and time stamped when saved and the tech who entered the information is automatically associated with the note. The amount of time spent on the work can be added to the note using the Work Time fields. By default, notes are visible to clients and are colored blue. Notes can be hidden from clients, and appear gray in color. A note defined by the tech as a Solution is colored green. Clients can also add notes, which appear yellow. If Setup > Parts & Billing > Options > Parts & Billing Enabled is checked, a billing rate for the work can be specified. If the tickets location has a billing rate defined, new tech notes will use it by default. A tech note can also be used to create a new FAQ the request detail is used as the question and the tech note is used as the answer. New FAQs created from tech notes are set to Unapproved status by default and use the tickets request type as the FAQ category. An individual tech note can be e-mailed to the tickets Client by using the E-Mail Client button on the bottom left of the note editor panel. This is a good way to handle ongoing communications with a Client when re-sending the entire ticket detail with each update is unnecessary.

the FAQ number. Ticket E-Mail Recipients E-mail to the client, assigned technician, level techs, group manager or other addresses via the Cc: and Bcc: fields can be sent when the ticket is saved. Select the recipient checkboxes and add Cc: or Bcc: addresses if necessary, then click the Save & E-Mail button. No mail is sent when clicking the Save button unless the ticket has been re-assigned in that case, the newly assigned Tech will receive an e-mail. Clicking the padlock button toggles the ticket privacy setting when tickets are private they are not viewable by a non-tech user.

Other Ticket Options


Problem Tickets Problem tickets are designed so that multiple instances of an issue can have their tickets linked and dealt with as one for efficiency purposes. A problem ticket is considered a parent and each linked incident is considered a child. A ticket is designated as a Problem Ticket by clicking on the Problem option in the Ticket Type widget of the Details section in the Ticket Details panel. Once a ticket has been designated as a problem, other tickets related to the problem ticket can be linked. When the problem is resolved, closing the problem ticket will automatically close all linked child tickets.

TIP Clicking the Save button at the bottom of the ticket will save any open tech note as well as any changes made to other ticket fields. A tech note can be saved independently from the rest of the ticket fields by clicking the notes Save button.

Using FAQs in Notes A link to an existing FAQ can be embedded into a tech note using the Insert FAQ Link button when editing the note. Clicking this button opens a FAQ search popup window. Once the FAQ to link is found, click the Link button on the right side of the FAQ row. This copies a link tag into the current tech note. If the FAQ number is already known, it can be entered manually using the format: <faq id=x> where x is

To search for problem tickets, click on the Problems tab on the right side of the ticket detail. Clicking on Link will make the current ticket a child of the selected problem ticket, while the View hyperlink replaces the detail view with the selected ticket. A linked child ticket is automatically changed to an Incident type in the Ticket Type widget.

CHAPTER 5

Tickets 30

Ticket Related Tech Permissions Administrators are free to re-assign technicians, change ticket status and delete tickets. Technicians can have various levels of access depending on the permission set they are linked to. Permissions are defined at Setup > Techs > Tech Permissions. Limit to Assigned Tech Groups: create, view and edit tickets belonging only to Tech Groups to which the tech is assigned. New Ticket Assignment Override: override the normal Ticket assignment logic and self-assign the Ticket instead. A ticket with a linked parent problem ticket adds a row in the Linked Problem tab to display the parent ticket number. The link can be broken by clicking on the trash can icon. Clicking on the ticket number opens the parent problem ticket. The parent ticket also has a Linked Incidents tab that can be used to switch to any linked child ticket. Others Ticket Status Edit: allows the tech to change the status of tickets not assigned to themselves. Open Date, Close Date, Note Date and Due Date Editing: specify which of these dates the tech can edit. Request Detail Edit: allows the tech to update the text of the reported issue. Client Note Edit: allow the tech to edit a client created note. Allow Re-Assignment: enables the tech to re-assign the ticket to any other tech. Disabling this option allows the tech to only re-assign jobs to themselves. Change Priority: allows the tech to change the priority of tickets assigned to themselves or, if Edit Others Tickets is enabled, the priority of any ticket. Close Tickets: enables the tech to set tickets to the Closed status type. Delete Tickets: exposes the ticket Delete button to the tech. Import Tickets: allows the tech to access the Tickets > Import Tickets module. Task Edit: allows the tech to create and edit tasks created at Setup > Tickets > Tasks. Additionally, access to tickets (as well as Assets and Clients) is controlled by the two Location Permissions: Limit by Location Group: allows the tech access only to those tickets, clients and assets that are in assigned Location Groups. Note that tickets, clients and assets that have no location assigned are also accessible. Limit by Department Group: allows the tech access to only those tickets, clients and assets that are in assigned Department Groups. Note that tickets, clients and assets that have no department assigned are also accessible. This option is only visible if Departments are enabled.

TIP Tickets that are not linked to a problem ticket can also be designated as an incident.

Print View To display the ticket information in a printer-friendly view, use the printer icon button at the top of the ticket. Clicking the button opens the ticket in a window suitable for printing.

CHAPTER 5

Tickets 31

Ticket Views
Several tabs are available for viewing and managing tickets under the Tickets tool bar icon.

Advanced Search The My Tickets and Group Tickets views are pre-filtered tickets lists that depend on several factors. One important factor is the Status Types chosen for filtering. By default, the Open status type is included in the filter, and this option can be enabled or disabled for additional status types at Setup > Tickets > Status Types. Status types can also be color coded for additional visual feedback. This view allows the building of multi-level queries that can be run once or saved and re-used. Selections in the top ALL conditions section of the search panel are ANDed together, while the lower ANY conditions section is used to add additional OR filters. Filter levels are added by clicking the + button on an existing row, and filters are removed by clicking the rows - button. Once a set of filters is defined, it can be saved as a named query (see Query Building for more information).

My Tickets
This view displays all tickets assigned to the authenticated Tech. Tickets are filtered by the status types with the Include in My/Group Tickets Filter option enabled. Recent Tickets This view displays tickets that were edited by the authenticated Tech within the Recency period defined in the ticket list header.

Group Tickets
This view displays tickets filtered by Tech Group Level and status types with the Include in My/Group Tickets Filter option enabled. If the authenticated Tech is assigned as the Manager of a Tech Group, then tickets from all levels of the group are visible.

Search Tickets
Basic Search This view provides pre-defined fields for searching, including ticket number, dates, status, tech, location, priority, request type, notes and history. All search options are ANDed together; searching on Request | History | Notes can use AND or OR within the field.

Search results are sorted by clicking on a column header. The sort order of a column is reversed by clicking on the header again. Sorting is performed using the last 3 column headers selected. Download the search results in PDF format by clicking on the Tickets PDF button, or download the results as a tab separated text file suitable for viewing in a spreadsheet by clicking on the Download TSV button. The buttons will act on a subset of the search results checked off in the left column.

CHAPTER 5

Tickets 32

To edit a ticket, click on the hyperlinked ticket number or request detail text in the search results list. After saving any changes to the ticket, clicking the back arrow button on the save confirmation dialog returns you to your previous search results list. You can also return to the search results by using the back arrow button on the top left of the ticket detail or by clicking the Cancel button at the bottom of the ticket.

Saved Queries
Search criteria that you plan to re-use can be saved as a named query using the Advanced Search tab. To save a query, define your search criteria, then provide a name in the Save Query as: field. By default, a query can only be seen by technician who creates it. Selecting the Shared checkbox allows all techs to use the query. Shared queries have an * after their name.

TIP Shift-clicking on the save button in a ticket will both save and return you to the ticket list view. Alt-clicking will save the ticket and create a new one.

Refining Search Results


The search results list can display a large amount of ticket data. To control what information is displayed use the Column Set widget to control column visibility. The widget is located at the upper right corner of the search results list. Click the + button to add a new set, or the pencil button to edit the selected set.

To run a query, select the query name from the Query popup menu at the top of the search results display. The query will be run automatically upon selection. To re-run the same query, use the play triangle. To remove the selected query from the list, click on the - button. To subscribe to an iCalendar made up of tickets captured by the query, click on the calendar button.

Column sets are saved individually for each Tech by name. Each column set can specify a different PDF download option (Invoice or Ticket format) and full text option.

TIP In Advanced Search mode, you can use the Technician, Status and Priority select list options to search for multiple criteria in your search or query.

Ticket Bulk Actions


Bulk actions allow you to run a saved set of ticket changes against one or more tickets in a search results list. To create an action, click the + button.

CHAPTER 5

Tickets 33

triangle you will receive an alert that summarizes what changes will be made to the selected tickets with a chance to cancel the action. A bulk action template looks similar to the Ticket Details tab of a normal ticket. The template allows you to assign a client, create a tech note, change status, etc. any set of values you can change in a normal ticket can be specified in the bulk action template. Once changes have been made, you have the option of running the action against any tickets youve selected from the search results list without saving the template, or you can save the template by name to be run at any time in the future. Bulk actions can be private or shared, and can be edited and re-named.

TIP To select all the tickets in the search results list, click on the small checkbox in the column header for the selection column.

To edit an existing bulk action, select the action from the popup menu, then click the pencil button.

Quick Tickets
To save time creating tickets for common issues, the Quick Ticket popup menu is available for new tickets. Quick Tickets are defined using a template very similar to a bulk action, with a few added options appropriate for new tickets like the ability to specify a subject and request detail. On a new ticket, Quick Tickets are created and run using the widget at the lower left of the new ticket detail panel.

Typically the technician would lookup a client to assign to the ticket, then run the Quick Ticket action. To add a new quick ticket action, click the + button. Edit the selected option by clicking the pencil icon, or run the selection by clicking the play triangle.

Query Building
To run a saved action, select the left column checkbox for one or more tickets from the search results list, then choose the appropriate action from the popup menu. Click the Play You can create and manage editable search queries in the Advanced Search tab of the Tickets, Clients or Assets modules of Web Help Desk. The Advanced Search tab in these mod-

CHAPTER 5

Tickets 34

ules allows for you to create as many search parameters from the ticket, client or asset data as needed. Once the desired combination of parameters has been achieved, the query can be saved and accessed at any time in the future to meet your needs. Building a Query In order to build a query, first use the drop down menus in the Advanced Search tab to select the desired combination of search parameters. You can select additional parameters by clicking upon the + sign on the far right side of the panel and remove any parameters by clicking upon the - sign. Additionally, you can pattern your parameters using an AND functionality by placing parameters under the Tickets matching ALL of these conditions: heading as well as an OR functionality by placing parameters under the ....and ANY of these conditions: heading.

header. The query is run simply by selecting the query name.

E-Mail Ticketing
Reporting by E-Mail
Tickets can be created by sending an e-mail message to the dedicated help desk e-mail address. A ticket is created for each new message sent to the address provided the senders e-mail address exists in your Client list. If the sender is not a registered user of the application, the sender can be added to your client list along with a new ticket, or an error e-mail can be sent in reply. Preferences for handling e-mail tickets are located at Setup > E-Mail > Incoming Mail Accounts. The application creates a default incoming mail account at installation. If you add additional incoming accounts, the default label can be moved to any of the accounts. A mail account can be toggled between online and off by using the Enable E-Mail Tickets checkbox. The default account is setup to use the E-Mail Report request type, so any new e-mail sent to the account will generate a ticket tagged with the E-Mail Report request type and follow the assignment rules defined for the E-Mail Reports tech group. You are free to change the request type to any other you prefer.

Once all parameters are set to the desired effect, simply name the query in the Save Query as text box and click Shared if the query is to be visible to all Techs. The shared queries are marked in the popup menu with an asterisk (*) and only administrators may edit or delete them. Editing a Query In order to build a query, first use the Edit Query drop down menu at the upper right hand corner of the Advanced Search tab. By selecting the saved query, the editor will open up with the saved queries parameters and name to allow for editing any setting of the query.

Running a Query In order to run a saved query, use the Query drop down menu at the upper right hand corner of the search results

The e-mail account may be either IMAP , POP3 or Exchange (available via Exchange Web Service on Exchange 2007 or later), and can connect via SSL if required. The receiving preferences can be configured to ignore requests coming from a list of accounts several are created by default at installation. E-mail may also limited to particular domains. Both the subject and body of the message can be filtered by regular expression to reject unwanted messages (out of office replies,

CHAPTER 5

Tickets 35

for example). When Create New Tickets From Replies is enabled, the application will parse the subject of the e-mail to determine if the message is in response to an existing ticket, and if so, append the message body as a note. Please pay special attention to the popup help related to this setting.

Updating by E-Mail
Clients receive an e-mail confirmation on e-mail tickets based on the preference set at Setup > Tickets > Options > Auto-Reply to Client. Action links can be enabled in the e-mail reply which allow the client to add notes or cancel the ticket. Action links are enabled at Setup > General > E-Mail > Sending E-Mail > Include Action Links and appear as buttons in an HTML e-mail or as hyperlinks in plain text e-mail messages. It is important that an e-mail reply has its subject line left intact, as the Web Help Desk uses the subject to determine if the e-mail triggers a new ticket or an update to an existing ticket. Only the client that created the ticket or a client that has been carbon copied (Cc:) on the ticket can update it via e-mail.

the status of the ticket to Pending, dont send the client an e-mail confirmation, reassign the ticket to another tech (Sally), set the work time for the note to 30 minutes and the billing rate to Standard. To use the reassign option in the subject, you must supply the full e-mail address of the tech. The specified billing rate must match an existing rate name. If the tech is an administrator, a Delete Ticket button is also available in the e-mail message.

Task Management
Creating Tasks
Techs can also update tickets by e-mail. In addition to adding notes, techs can change the status of the ticket by clicking on one of the status links at the bottom of the message. This will create a reply e-mail with a pre-formatted subject line the application uses to carry out the action. For example:
Ticket:1532 Action:TechUpdate Hidden:NO Status:Pending EmailClient:NO Reassign:sally@mycompany.com MinutesWorked:30 BillingRate:Standard

A Task is a container for one or more ticket templates called Elements. A task can be scheduled to repeat at daily, weekly or monthly intervals. A task may also have a Client associated with it the Client would be assigned to all tickets created by the task. To create a new task, go to Setup > Tickets > Tasks. Click the New button at the bottom of the Task list.

This subject tells the application to add the body of the message to ticket 1532 as a tech note visible to the client, change

CHAPTER 5

Tickets 36

Triggering Tasks
Tasks run automatically on their scheduled date or they can be triggered manually using the green Play button next to the task name. Running a scheduled task manually will set the last run date to the current date, and set the next run date based on the schedule interval.

At a minimum, the Task must have a name in order to be saved. If tickets created by the task should have a client assigned, use the search feature to find and select the assigned client. Selecting the scheduled option exposes a Start Date field and an interval selector. The task can be private or shared with all other techs by using the Shared checkbox.

Task Elements
To add an Element to the Task, click the New button at the bottom of the Element list. To save the Element, you must provide a request type, subject and detail for the ticket to be created. Optionally, location, room, department, technician, priority and asset number can be added. If the Task needs to create multiple tickets when triggered, continue adding additional Elements as needed. The tickets generated from task elements can be created all at once, or after the ticket for the previous element reaches some status type. Use the Generate Next Element option to specify when the next elements ticket should be created.

CHAPTER 5

Asset Management 37

Ticket Assignment Logic


New Ticket

Is the Ticket's Request Type in a Tech Group?

No

Assign to Lead Tech for the Request Type*


Setup > Tickets > Request Types > [Request Type] > Lead Technician

Web Help Desk Ticket Assignment Logic

Yes

Setup > Techs > Tech Groups > [Group] > Request Types Supported

Level 1 Auto-Assign Tickets Yes Lead Tech Auto assign to?

No

Place in pool of tickets for Tech Group Level 1

Setup > Techs > Tech Groups > [Group] > Level 1 > Assigned Techs Specify e-mail recipients for new tickets at Setup > Techs > Tech Groups > [Group] > Tech Group Levels > Level 1 > E-Mail Recipients of Client Updates

Setup > Techs > Tech Groups > [Group] > Tech Group Levels > Level 1 > Auto Assign Tickets to

Assign to Lead Tech for the Request Type*

Group Manager Assign to Manager of the Tech Group*


Setup > Techs > Tech Groups > [Group] > Tech Group Info > Group Manager May use Location Group Manager instead if specied at Setup > Techs > Tech Groups > [Group] > Tech Group Info

Setup > Tickets > Request Types > [Request Type] > Lead Technician

Level Tech Get techs in Tech Group Level 1

Setup > Techs > Tech Groups > [Group] > Assigned Techs

Filter out any techs not currently scheduled or on vacation


Setup > Techs > Techs > [Technician] > On Vacation Setup > Techs > Techs > [Technician] > Specify Work Schedule

Is the ticket's Location in a Location Group? Yes

No
Setup > Locations & Departments > Location Groups > [Group] > Assigned Locations

Filter out any techs not in the Location Group


Setup > Locations & Departments > Location Groups > [Group] > Assigned Techs To enable Departments, check Setup > Locations & Departments > Options > Use Departments

Is the ticket's Department in a Department Group?

No

Yes

Setup > Locations & Departments > Department Groups > [Group] > Assigned Departments

Filter out any techs not in the Department Group


Setup > Locations & Departments > Department Groups > [Group] > Assigned Techs

Are any techs remaining?

No

Any Tech Group Levels above the current level?

Yes

Move Ticket to Next Tech Group Level

No Yes Assign to Manager of the Tech Group*


Specify which status types are used in calculating ticket load balance at Setup > Tickets > Status Types > [Status Type] > Use for Load Balance

Assign to tech who has fewest load balance tickets

* If this Tech marked as "On Vacation" the ticket is assigned to the "Backup Tech" in the Tech's prole

38

Chapter 6: Asset Management


Adding Assets
Asset management is an optional extension to the Web Help Desk available in the Pro version. The asset management features can help keep track of what you own, where it is located and who is using it. In addition, the application can store purchase order information and link it to assets in your inventory. This combination makes it easy to know where you purchased your assets from and when warranties expire. Using the integrated asset management tools enhances the help request ticketing functionality of the application, but it is not required. There are three methods for adding asset information: Manual Web Entry Data Import Asset Discovery Integration (chapter 7) Asset Basics Asset basics are the what, where, and who of the asset. When you go to Assets > Search Assets > New (or edit an existing asset), the application will auto-enter an asset number that increments your highest number by one. You are free to change this number to match the actual value on the asset you wish to add. Besides the asset number, the only other required information is the model. An asset can have one or more clients assigned. The Synchronization Disabled check box can be used to disable the asset from being effected by Asset Discovery Synchronization.

Manual Web Entry


New assets are added by going to Assets > Search Assets and clicking on the New Asset button at the top of the search results list, or on the New button on the bottom right of the list.

Asset Options Asset Options are controlled at Setup > Assets > Asset Options. In this module, you can select Auto Increment Asset No., if you would like the application to auto-enter an asset number that increments your highest number by one. You are free to change this number to match the actual value on the asset you wish to add.

Parent/Child Relationships Once an asset has been inserted into the database, the option to create a Parent/Child relationship is available. Parent/Child relationships are a powerful way to group assets together. For example, you may issue several assets to an employee that you wish to group: computer, monitor, printer and scanner. You could treat the computer as the parent while the other assets act as children. After adding all four assets to the system, return to the parent computer, and add the other assets as children to it. Click Edit in the Child Assets tab and lookup assets by number, type, serial number location and room. Click the link hyperlink in the search results list to link the asset. Repeat the process for the other assets you wish to add as children. Children automatically inherit the Location, Room, and Deployed values from the parent. If the parent has only one assigned Client, the child will inherit that

CHAPTER 6

Asset Management 39

as well. To remove a child asset from the list, click on the trash can icon next to the child asset. Important concepts: A child asset can have multiple parents. You cannot make an asset that has children (a parent) into a child asset. Children will automatically update their location information if the parent changes provided there is only one client assigned to the asset.

Asset History Lists the change history of the asset including: creation date, location/room change, client add/remove, status change, sync date. The history includes the date and the tech that made the change.

Asset Details Additional asset information can be added by clicking on the Asset Details tab on the asset editor, then on the edit mode button to display fields. There are several pre-defined fields to store information, including serial number and version as well as any custom fields defined in Setup > Assets > Custom Fields. There is also the option to relate the asset with a specific purchase order, or to enter the purchase date manually. The warranty expiration date is calculated based on the PO date (if a valid PO number is entered), or the manually entered purchase date, and the warranty type specified for the asset.

Ticket History Provides a list of all tickets created for the asset and provides a link to a ticket detail view for editing.

Models For further information on using adding and editing Models, see Chapter. 3: Getting Started.

Import Assets
Importing is an efficient way to populate your assets. The import is facilitated by a template you download from the Web Help Desk. To download the template, go to Setup > Data

CHAPTER 6

Asset Management 40

Import > Import Assets. Click on the Download Template button and open the asset_import_template.txt file in Excel. When adding asset rows to the spreadsheet, it is very import to leave all columns in order and intact. If you do not wish to import data for a particular column, it is fine to leave the cells empty for the column. If you delete columns, or change the column order, your import will be stopped with an error message. There are four required columns for any asset import: Asset Number (alphanumeric) Asset Type Manufacturer Model

Basic searching provides a simplified sub-set of the search criteria available in the advanced search mode. Search results are sorted by clicking on a column header. Download the search results in PDF format by clicking on the Download PDF button, or download the results as a tab separated text file suitable for viewing in a spreadsheet by clicking on the Download TSV button. To edit an asset, click on the hyperlinked asset number. After saving any changes to the asset, clicking the OK button on the save confirmation dialog returns you to your previous search results list. You can also return to the search results by using the Cancel button at the bottom of the asset detail.

Refining Search Results


The search results list can display a large amount of asset data. To control what information is displayed, use the Column Set widget on the upper right of the search results list to enable/disable specific columns. Click the + icon to add a new column set, or edit the selected column set by clicking on the pencil icon.

The importer adds a new asset for each unique asset number it encounters and synchronizes data for any existing asset matching a number in the import file. The importer adds new asset types, manufacturers, models, locations, rooms and departments for any uniquely named values when the Add New Entities option is selected. Otherwise, the importer links the asset to the existing entities that match the names provided in the file. Once your template is prepared, save the file as tab or comma delimited text, then use the Choose File button to navigate to your file. Click the Import button to upload the template and import the assets. When the upload is complete, go to the Search Assets screen to verify your import.

TIP Most text search fields can use the * wildcard to find results when you dont know the exact matching value.

Saved Queries
Search criteria that you plan to re-use can be saved as a named query using the Advanced Search tab. To save a query, define your search criteria, then provide a name in the Save Query as: field. By default, a query can only be seen by the technician who creates it. Administrators have the option of defining shared queries, and only an administrator can delete a shared query.

Asset Discovery Integration


For further information on using the Asset Discovery feature of the WHD, see Chapter. 7: Asset Discovery.

To run a query, select the query name from the Query popup menu at the top of the search results display. The query will be run automatically upon selection. To re-run the same query, use the round search button. To remove the selected query from the list, click on the round delete button.

Search Assets
Searching can be done in either Basic or Advanced mode.

CHAPTER 6

Asset Management 41

Notes Only the PO Number and Vendor are required to save the purchase order.
TIP In Advanced Search mode, you can use the Status and Priority select list options to search for multiple criteria in your search or query.

Purchase Orders
Using the purchase orders feature of the Web Help Desk can simplify the tracking of where and when you purchased or leased your assets. The feature is not meant to replace your companys current accounting system. It is designed to make linking a specific PO number (and its associated vendor and date information) to your assets a simple matter.

Define Vendors
Before adding a new PO, one or more vendors must be entered into the database. Vendors are managed by going to Setup > Assets > Vendors. To add a new vendor, click on the New button at the bottom of the list. To edit an existing vendor, click on the hyperlinked vendor name.

Create a New Purchase Order


Once vendors are in the database, a new purchase order can be created. Click on Assets > Purchase Orders and click on the New button at the bottom of the search display list. Fields in a purchase order include: PO Number (must be unique in the database) Request Date the date the purchase order was entered Invoice Date the date the vendor shipped the product (used to help calculate warranty / lease expiration date) Vendor Originator Name lookup, by last name, the client who made the PO request. Deliver To lookup, by last name, the client the purchased items should be delivered to Attachments - link any supporting documentation

The Order Type field has a toggle button that switches between Purchase and Lease. Toggling to lease exposes an additional option the lease length popup. After supplying purchase order information, click Save to enter it in the database.

Add Line Items


Once a purchase order is saved, the line item editor becomes visible. Line items must define a model, and may contain part number and price information. Line items can also be associated with a specific asset by providing a valid asset number. If you attempt to link a line item to an asset number that doesnt exist, or is already linked to another PO, you will receive an error message. Create line items by clicking on the New Line Item button on the editor. To edit existing line items, click on the hyperlinked model name. Remove line items by clicking on the trash can icon. Duplicate a line item by clicking on the + button. The line item editor also allows you to specify the Tax and Shipping amounts for the PO.

CHAPTER 6

Asset Management 42

Asset Reservations
Using the asset reservation feature of the Web Help Desk can simplify the tracking of short term placed assets. The asset reservation system can be accessed from the Assets icon in the tech and client interfaces.

Making Asset Reservable


Before reserving an asset, the asset must first be set to Reservable in its Asset Basics editor. Assets may be managed by going to Assets > Search Assets and searching for and selecting the asset that is to be made reservable and checking the Reservable checkbox--or check that option when creating a new asset. Once this option has been set, the asset is now available for reservation in both the tech and client interfaces.

TIP An asset can also be associated to a PO from within the asset detail view. You must have a free line item defined in the PO in order to link the asset. If you were to add a new iMac G5 asset, you could associate it with the PO in the example above, because the iMac G5 line item is free (not linked) to any asset number.

Reserve An Asset As A Tech


To set up an asset reservation as a tech, go to Assets > Reservations and look to the bottom panel of the the page for the New Reservation button. The New Reservation editor has three components to it.

Purchase Order Import


Purchase orders can be imported at Setup > Data Import > Import POs. At a minimum, the import template must provide the PO Number and Vendor for the import to succeed. Line items may be added to the PO import by providing a line item number, asset type, manufacturer and model. If the model/type doesnt already exist in the database, it will be added. Line items can also be linked to specific asset numbers. If the asset number doesnt exist, a new asset is created with the number.

In the Reservation Details tab, a reservation number is selected for you that is automatically incremented from the last reservation. Use the Client Lookup to select the client who will be checking the asset out, and set the Scheduled Out and Scheduled In information. In the Reserved As-

CHAPTER 6

Asset Management 43

sets tab, all of the reserved assets are shown that have been chosen for this reservation for the selected client. In the Asset Lookup tab, use the search parameters to find the asset to be reserved and select it by clicking on the linked search results. Once a client is selected, as well as at least one asset and the scheduled information has been filled out, a Check Out button will appear in the Reservation Details tab, that when clicked at the time of checkout will allow the setting of the Checked-Out date.

Once the desired asset to reserve has been located, simply check the Reserve checkbox and then click the Reserve Checked button to reserve the assets that have been selected. Upon clicking on Reserve Checked a calendar popup window will appear and allow for the selection of a reservation date or range of dates.

This action will reveal a Check In button to allow for the return of the reserved asset to inventory.

Select the appropriate date range and click Save. A reservation confirmation screen will now be displayed in the main application window. Previously reserved assets can also be checked out and checked in from the Assets > Reservations search results page.

Reserve An Asset As A Client


To set up an asset reservation as a client, click on the Assets icon at the top of the client interface. This will bring up a Search Assets panel that will allow a search for an asset by a number of parameters. Check the Reservable Only box to assist in finding assets that can be reserved and checked out.

This window will now be displayed whenever the client visits the Assets icon window. All existing reservations will be displayed here with the name of the reserving client as well as the reserved dates. If the client desires to search for a new asset to reserve, simply click on the Search button above the current list of reserved assets. Any of the listed reserved assets can be clicked on in order to edit the date range of the reservation. The client can cancel any reservation by clicking

CHAPTER 6

Asset Management 44

on the trash can icon to the far right of the list.

Asset Check Out and Check In


Assets may only be checked out and checked in as a tech, go to Assets > Reservations and perform a search to find the assets that are required to be checked out or checked in. Searching by a date range such as todays date will bring up a list of assets that are scheduled in or out on that day.

The assets may be checked out from this list by clicking on either the Check Out or the Check In buttons on each list item. Individual reservations may be edited by clicking on the blue asset reservation number link. Assets may also be checked in or out via Check Out or Check In buttons within the individual assets editor.

45

Chapter 7: Asset Discovery


Asset Discovery Components
Web Help Desk supports several methods of automated asset discovery. For the supported components listed below, WHD can be configured to sync with the native tools and populate the assets in the WHD. Serial Number MAC Address If no matching asset record can be found in the WHD database, a new asset record is created and stamped with the new assets synchronization identifier. After matching all assets that have been discovered by the synchronization tool and creating any new ones, any existing attributes associated with the connection that were no longer discovered are handled as specified by the When Assets Are Removed option at Setup > Assets > Discovery Connections > Connection Basics.

Supported Components:
Apple Remote Desktop version 3 or later Casper Suite 6 (or just the Recon Suite 6, which is the asset discovery component of the Recon suite) LANrev 4.6.4 or later Microsoft SMS/SCCM Database Table or View In order for native tool links to work with ARD, download and run the WHD/Remote Desktop Bridge on the local machine from http://downloads.webhelpdesk.com/ WHDRemoteDesktopBridge.dmg.

Discovery Tool Configuration


Apple Remote Desktop 3.2
In order to use Apple Remote Desktop 3.2, the PostgreSQL database needs to be enabled and configured to allow network connections. WHD has provided a setup script to make the configurations for you. In addition to setting up the Remote Desktop database, within the Remote Desktop tool you will need to scan all the assets that must be included in WHD and then run a System Overview report (The System Overview Report option in ARD is what exports the asset data to the ARD PostgreSQL database). In order for the native tool links to work with ARD, the WHD/Remote Desktop Bridge must be downloaded and run on the WHD application server (a download link is provided under Supported Components above).
TIP For more information, Apple has a knowledge document for setting up the database at: http://developer.apple.com/appleapplications/ardsql.html. The Apple document explains in more detail what the WHD script does, and gives instructions on how to manually access the database from the terminal.

Asset Discovery Mechanics


For each discovered asset encountered during a sync, WHD does the following: First WHD compares the discovered asset against all assets currently associated with the Asset Discovery Connection. Typically, the asset discovery tool provides a unique identifier for each asset, and this is recorded internally by WHD for each synchronized asset and used to determine whether a discovered asset matches an asset that was previously synchronized. For example, Casper assigns each asset a JSS ID. This is recorded by WHD as the assets synchronization identifier. During subsequent synchronizations, WHD will find each discovered assets corresponding WHD record by matching the JSS IDs provided by the discovery database against the synchronization identifiers stored in the WHD database. If no WHD asset can be found having a synchronization identifier that matches that of the discovered asset, then a search is conducted for any un-deleted asset in the database (regardless of whether it is associated with an Asset Discovery Connection) that matches any of the following values of the discovered asset, in this order of priority: Asset Number

1.

Install Apple Remote Desktop on the machine that will serve as the database server upon which asset data will be stored. Start Apple Remote Desktop and be sure it is scanning computers successfully.

CHAPTER 7

Asset Discovery 46

5.

Use the Attribute Mapping tab of the asset discovery connection to map any custom asset fields to ARD attributes (See Attribute Mapping later in this document). Save the discovery connection and synchronize it. You should now see the synchronized assets when you search for them in Assets > Search Assets.

6.

Apple Remote Desktop 3.3


TIP Because the ARD database files are put in place when ARD is first launched, Remote Desktop must have been started at least once before continuing on to configure the database for TCP/IP access.

2.

Follow the steps outlined in the Apple Developer Connection article referenced above to enable the ARD PostgreSQL database with TCP/IP support. You will be prompted to enter your Mac OS X password. The script will configure the ARD database to enable TCP/IP access and will then display your database connection information. Take note of these connection settings. You will need to enter them into Web Help Desk.

As of version 3.3, Apple Remote Desktop uses a local SQLite database to store report data. This means that ARD must be installed on the same machine as your Web Help Desk in order to sync the data. The ARD discovery settings in the WHD give you the option of either version 3.2 or 3.3. When using ARD 3.3, there is no additional configuration required on the SQLite database to make the connection. Like ARD 3.2, you must first run a System Overview report before syncing with a 3.3 connection.

Casper
To enable Casper as the Asset Discovery tool, there is no additional configuration outside of the Web Help Desk Connection Basics and Attribute Mapping settings discussed later in this document. There is no need to set up the database or the native tool links.

FAQ http://support.webhelpdesk.com/cgi-bin/WebObjects/Support.woa/wa/FaqActions/view?faqId=73

3.

After setting up the ARD database, run a System Overview report of all the computers that you want included in the Web Help Desk asset sync. Open Remote Desktop, select the computers to be included, and then choose Report > System Overview and run the report.

LANrev
Web Help Desk features an integration with LANrev 4.6.4. There are 2 components to this integration. The import of LANrev inventory data into Web Help Desk via the LANrev MySQL ODBC export. The ability to view inventory details about a client in the LANrev admin console and initiate a remote control session through LANrev via a web link in Web Help Desk.

TIP ARD does not remove computers from the database when they are no longer included in a System Overview report. Since Web Help Desk will synchronize with all computers found in the ARD database, you must remove any old computers from the ARD database manually if you want them to be removed from Web Help Desk.

For the integration to work you must: Configure LANrevs MySQL ODBC export. Configure the LANrev admin console to respond to HTML requests from Web Help Desk. Configure Web Help Desk to import client inventory data from the LANrev MySQL database and enable the LANrev inventory and remote control links. Configuring LANrevs MySQL ODBC Export To configure LANrevs MySQL ODBC export please consult

4.

In Web Help Desk, go to Setup > Assets > Discovery Connections and create a new Asset Discovery Connection (See Connection Basics later in this document). Select Apple Remote Desktop as the discovery type and enter the database connection parameters provided by the database setup script (Step 2 above).

CHAPTER 7

Asset Discovery 47

the following LANrev support forum tip at: http://www.lanrev.com/forum/viewtopic.php?t=223 Configuring the LANrev Admin Console Close the LANrev admin console and add the following setting to the LANrev admin console preferences in one of the following locations. Mac OS X ~/Library/Preferences/com.poleposition-sw.lanrev_ admin.plist file

Go into each Techs account and turn the links on/off for each of them (See WHD Hyperlink to Discovery Tool later in this document) With this enabled, wherever assets are referenced in Web Help Desk, icons will appear allowing you to open the asset in the LANrev admin console, or to control it via LANrev. Note that the LANrev admin console must already be open for these icons to work.

Windows Edit HKEY_CURRENT_USER\Software\Pole Position Software\LANrev Admin registry key Set HTTPServerEnabled - Boolean/DWORD - Yes/1

These changes can be made with either Property List Editor or Regedit. They can also be made at the Terminal or Command window with the following. Mac OS X defaults write com.poleposition-sw.lanrev_admin HTTPServerEnabled -bool true Windows REG ADD HKCU\Software\Pole Position Software\ LANrev Admin /v HTTPServerEnabled /t REG_ DWORD /d 1 /f Configuring Web Help Desk 1. In the Web Help Desk Admin interface select Setup > Assets > Discovery Connections, and create a new Asset Discovery connection that points to the LANrev MySQL database (See Connection Basics later in this document). The connection will read the LANrev asset data into Web Help Desks asset tables. It can be set up to re-sync automatically at a specified interval. You can also trigger a manual sync. 2. Use the Attribute Mapping tab of the asset discovery connection to map any custom asset fields to LANrev attributes (See Attribute Mapping later in this document). In addition to syncing up with the LANrev database, you need to go into Setup > Assets > Asset Options and enable links to the LANrev admin console.

Web Help Desk Configuration


Connection Basics Database connection information is provided via the Setup Assets > Discovery Connections > Connection Basics tab. In this panel, create a new Asset Discovery connection that points to the asset discovery tools database. You will be prompted to enter the database name, username, and password. The connection will read the asset discovery tools data into Web Help Desks asset tables. Click on New and create a new Connection Name. Specify the Discovery Tool (ARD, Casper, LANrev, Microsoft SCCM or Table View) and specify an Auto-Sync Schedule.

3.

CHAPTER 7

Asset Discovery 48

is desired, you will have to manually clear the ARD database and then re-run an ARD System Overview Report.

ARD Settings When using the ARD asset discovery tool, the following Basic Connection settings will need to be set: Remote Desktop PostgreSQL Database Host Port Database Name Username - For that database Password - For that database

Clear Unmapped Attribute Values

For Asset Discovery, WHD allows only custom fields to be mapped. If the checkbox Clear Unmapped Attribute Values is checked, then any custom fields that have not been mapped will be cleared when the assets are synchronized. This setting is useful if you already have some data in the custom fields of existing assets and want to clear it all out in order to make the assets strictly reflect the data provided by the asset discovery tool.
Ignore Blank Discovered Values

Casper Settings When using the Casper asset discovery tool, the following Basic Connection settings will need to be set: Casper MySQL Database Host Port Database Name Username - For that database Password - For that database Client Relationships

This option indicates whether blank values provided by the discovery tool should wipe out corresponding fields in WHD asset records. For instance, if there is a manually entered operating system value for a particular asset via the WHD web interface, but the discovery tool does not have OS information for the particular asset, then checking this setting would prevent the asset synchronization from wiping out the value that was provided manually. The difference between this setting and Clear Unmapped Attributes is that it applies to ALL attributes, and clears the fields not based on whether they are mapped or not but on whether the corresponding values provided by the discovery tool are empty. (It only applies to mapped and built-in fields.)
When Assets Are Removed

When applied, this setting will remove an asset that was previously found by the discovery tool yet in the current sync, is no longer found by it.
TIP When syncing with Apple Remote Desktop, ARD never deletes records from its database. This means if a computer is removed from the network after it has already been scanned with an ARD System Overview Report, it will not be removed from the ARD database when the next System Overview Report is run. As a consequence, if a fresh view of the synchronized assets that excludes any that have been taken offline

LANrev Settings

CHAPTER 7

Asset Discovery 49

When using the LANrev asset discovery tool, the following Basic Connection settings will need to be set: LANrev MySQL Database Host Port Database Name Username - For that database Password - For that database Include Virtual Machines Client Relationships

Database Type (dropdown menu) Database Host Port Database Name Username - For that database Password - For that database Schema Database Table or View Sync Column

Microsoft SMS/SCCM Settings When using the Microsoft SCCM asset discovery tool, the following Basic Connection settings will need to be set: SCCM SQL Server Database Host Port Database Name Username - For that database Password - For that database

Attribute Mapping
The Attribute Mapping tab allows for the mapping of asset custom fields to the discovery tools attributes. The asset attributes available to be mapped to depends on the particular discovery tool. These values are taken directly from the values provided by the discovery tools database. The specific set of options in the popup menu is hard coded in the WHD ARD plugin, based on the values Apple provides in the database. The set of attributes written to the database is fixed (i.e., they are coded into the Remote Desktop application itself). They get written into the database at the time the System Overview report is run. There is no way to customize the attributes that appear in this popup.

Database Table or View Settings When using the Database Table or View asset discovery tool, the following Basic Connection settings will need to be set:

CHAPTER 7

Asset Discovery 50

section.

With this enabled, wherever assets are referenced in Web Help Desk, icons will appear allowing you to open the asset in the asset discovery tools admin console, or to control it via the tool.

WHD Hyperlink to Discovery Tool


In addition to synchronizing data, WHD provides the option of displaying hyperlinks for opening asset information in the discovery products native tools. These options are enabled in Setup > Assets > Asset Options.

Enable the link option for individual technicians at Setup > Techs > Techs > [Individual Tech] > Account Info or at Setup > Techs > My Account in the Asset Preferences

51

Chapter 8: Processes
The use of approvals is an optional extension to the Web Help Desk available in the Pro version. The ability to manage requests by approval, where appropriate, can help maintain managerial control over important company processes. Using the integrated approvals management tools enhances the functionality of the application, but it is not required. In order to utilize the Change Management function of the Web Help Desk and set up approval processes, three things must be defined and assigned: Approver Roles Approver Processes Approval Status Types

Department Approver Roles


To add a position that will be responsible for approvals for one or more departments, click on Setup > Change Management > Approver Roles > Department Approver Roles. Then Click on the New button to bring up a panel that will allow for a new department approver to be added inside the Approver Role Name cell.

Approver Roles
Before approval processes can be set up, Approver Roles must first be created under Setup > Change Management. New approver roles are added by going to Setup > Change Management. In the resulting module, there are three types of Approver Roles that can be added: Location Approver Roles allows for the assignment of Approver Roles by location. Department Approver Roles allows for the assignment of Approver Roles by department. Change Advisory Boards allows for the creation of a change advisory board (or CAB) with the ability to set how many of the board are required for approval, and is accomplished at Setup > Change Management > Change Advisory Boards. Select the type of approver role that is appropriate, click on the tab of that type, and then click on the New button on the bottom right of the panel.

Change Advisory Board Roles


To add a Change Advisory Board (CAB), click on Setup > Change Management > Change Advisory Boards. Then Click on the New button to bring up a panel that will allow you to name the CAB. CAB membership is assigned in the CAB Members section. Use the Client Lookup search function to select and add members by clicking on client names from the queried list to add them to the CAB. Upon completion of the CAB membership, select the minimum number of approvals from the CAB required in the Minimum Approvers popup menu.

Location Approver Roles


To add a position that will be responsible for approvals for one or more locations, click on Setup > Change Management > Approver Roles > Location Approver Roles. Then Click on the New button to bring up a panel that will allow for a new location approver to be added inside the Approver Role Name cell.

CHAPTER 8

Database 52

Assign Approver Roles


Before approval processes can be set up, Approver Roles must be assigned to clients under the Approver Roles tab for each Location and Department. Assign Location Approver Roles Go to Setup > > Change Management > Location Approvers and then select an existing location and click Add Role. Select a previously created Approver Role and use the Client Lookup function in the Approver Name field to select the proper client to link to the role. Click Save to record the approver role.

e-mail recipients for any approval/denial that is made. Click Save to create your new process.

Add Approval Steps


Select the Approval Steps tab and click the New button. Use the Step No. popup menu to select the step number of this approval step. An approval process may have an unlimited number of steps. In the Step Name field give the process a descriptive name. In the Approver Type field, use the radio buttons to select which type of approver will handle the step. Selecting CAB, Location or Department approver types results in a popup menu for the selection of the specific approver role or CAB to link to the step. Selecting Client as the approver type requires the lookup of a specific Client to assign to the step.

Assign Department Approver Roles Go to Setup > Change Management > Department Approvers and then select an existing department and click Add Role. Select a previously created Approver Role and use the Client Lookup function in the Approver Name field to select the proper client to link to the role. Click Save to record the approver role.

TIP While an approval process may have an unlimited number of steps, ALL steps must be approved for the overall process to be approved. A single unapproved step halts the process and leaves the process unapproved.

Define Request Types Supported

Approval Processes
Now that Approval Roles have been added and assigned, the next step is to create an approval process. First go to Setup > Change Management > Approval Processes and click on an existing Approver Process or click the New button. These actions will open an Approval Basics window. In this window, enter a new Process Name and Description in the appropriate fields. Use the popup menus to select the desired E-Mail Reminder Interval for approvers. Select the

An approval process is triggered whenever a ticket is created with a specific Request Type. To define which specific request types will trigger a given Approval Process, click on the Request Types Supported tab. Click the Edit button to expose a list of all request types that are not yet linked to an Approval Process. Check off the request types to link to the current process, then click Save. Remove linked request types by either unchecking them from the list in edit mode, or by using the trash can icon in the

CHAPTER 8

Database 53

linked request types list.

Approval Status Types


Approval specific Status Types should be added and defined in order to use the approvals functionality of WHD effectively. These status types will be used by the WHD to automatically control the status of tickets that require an approval they will not be selectable in non-approval tickets. Common naming conventions for these status types are: Approved, Pending Approval and Denied. When a ticket is created that requires approval, the WHD application will automatically set the status of the ticket to Pending Approval, if we assume the common naming conventions above are used, and lock the ability to change that status until the ticket goes through the approval process and is either Approved or Denied. After the approval decision has been made, no matter the outcome, the status will unlock and become available for status changes by techs.

Assign Approval Status Types


Next, in the General Settings panel of the Setup > Tickets > Status Types > Options screen several settings must be made in order to assign the new status types. Use the popup menu for Needs Approval Status Type to select Pending Approval, or whatever you chose to name that status. Use the popup menu for Approved Status Type to select Approved, or whatever you chose to name that status. Use the popup menu for Approval Denied Status Type to select Denied, or whatever you chose to name that status. Click Save to save the settings.

Add Approval Status Types


Under Setup > Tickets > Status Types > Status Types, create a new status types by clicking the New button in the Type Editor panel.

Approval Status Types have now been configured to allow for the automated handling of ticket status by the WHD application.

Using Approvals
Enter Approved, or another appropriate entry, into the text box that says New Status Type at the top of the panel. Enter a description in the field provided and use the checkboxes to enable any variables desired and click Save. Repeat for the Pending Approval and Denied statuses.

Ticket Creation
Now that approval processes have been correctly set up, utilizing this powerful tool is simple. When a client logs in and creates a new ticket and selects a request type that has been assigned to an approval process, a notification in a large blue field denotes that This Request Type requires approval.

CHAPTER 8

Database 54

This is the only difference between opening a ticket that requires approval and one that does not. Upon saving the ticket, an e-mail is sent out to the approver assigned to the Step 1 Approver Role for the approval process triggered by the tickets request type.

that will ask to confirm their vote. If a yes vote, the ticket status will be changed to Approved. If a no vote, the ticket status will be changed to Declined. Also, if a no vote is cast, the approver is given an Explanation text box where they may provide any reasons for declining the request. There is a Visible to Requestor check box below that will allow the explanation to be viewable by the requestor. Once the vote has been cast, and any desired explanation has been entered, click Save to submit the approval process. A window will appear asking for confirmation of the vote from the approver. Clicking Confirm will complete the approval process.

Approver Action
Now that the ticket has been created there are two ways in which an approver may view and respond to the approval request: Via E-Mail Via the Client web interface E-Mail Approvals When a ticket has been created that has an approval process assigned to it, an e-mail will be sent to the approvers e-mail and will contain the option of responding Yes or No to the request. Client Web Interface Approvals Another way in which the approver may view and approve or decline approval requests is through their own client web interface. When an client who has been set up as an approver logs in, they will have an Approvals button at the top of their interface. Here they will be able to view New Approvals and vote on each new request, as well as view Old Approvals listed when that button is clicked.

Clicking either option will send them to a WHD web page

In the New Approvals window, the approver can select, vote and enter explanation values just as with the e-mail process of approving requests. You may also select Visible to Requester to share the denial explanation as a note in the ticket. Click Save to submit approvals.

CHAPTER 8

Database 55

In the Old Approvals window, the approver can review past approval requests. The ticket request details can be seen in the Details column. The buttons More or Less can be used to adjust the amount of the detail visible. The Show Notes button may also be selected to make the request denial explanation visible. Approval Step information may be viewed by mousing over the red buttons in the Approval Step column.

Requester Action
In order to know if the request has been approved or denied by the approver, the requester must log back in and click on the History icon to view the ticket history and look to see if there has been a status change to approved or denied for that ticket.

56 56

Chapter 9: FAQs
FAQ Search
Search existing FAQs by going to the FAQs button in the menu bar. FAQs can be filtered by number, category, location, model, approval, expiration, and question/answer text. A FAQ is edited by clicking on its hyperlinked number, and the search results list is sorted by clicking on a column name.

Attachments linked to each FAQ are downloaded by clicking on the file name link. A direct URL to a FAQ is available by right-clicking on the External Link arrow image.

The audience option controls who can see the FAQ Everyone means the FAQ is visible to Clients and Techs, while Techs Only makes the FAQ private, and can be further limited to specific Tech Groups, Locations and Departments. A link to another FAQ can be added by using the Insert FAQ Link button.

New FAQ
Create a new FAQ entry by clicking on the New button at the top left or bottom right of the search results list. A FAQ must have a category and contain both a question and answer. Answers can include HTML hyperlinks and formatting, or use BBCode tags. FAQs can be linked to specific models locations and departments and contain one or more file attachments. A FAQ must be Approved to be visible by Clients only an Administrator can approve a FAQ.

It is also possible to create new FAQ directly from a tech note within a ticket. The Create FAQ button uses the tickets request type and request detail for the FAQ category and question, and uses the tech note as the FAQ answer. FAQs added this way are always created as unapproved. Creating a FAQ from the note also saves the tech note entry.

Import FAQs
FAQs can be imported using the template available at Setup > Data Import > Import FAQs. The template can be saved as either tab or comma delimited text, and must supply the three required values for each FAQ.

CHAPTER 9

FAQs 57

RSS Feed
An RSS feed of public FAQs is also available at the following URL:
http://myserver.com/helpdesk/WebObjects/Helpdesk.woa/wa/ FaqActions/rss?type=atom

Public FAQ Access


Web Access
FAQs that are available to Everyone and are approved can be accessed by anonymous users by connecting to the following URL:
http://myserver.com/helpdesk/WebObjects/Helpdesk.woa/wa/ FaqActions/viewAll

Clicking on the subject of the RSS entry opens the corresponding FAQ in its own window.

FAQs that are linked to specific Locations or Departments are not accessible using the public URL.

58

Chapter 10: Parts & Billing


The Web Help Desk Pro version can be used to track parts, inventory and billing on tickets. This functionality is enabled by default, but can be disabled by going to Setup > Parts & Billing > Parts & Billing Options > Parts & Billing Enabled. Disabling the feature will hide the main Parts icon, the ticket detail Parts & Billing tab, billing preferences and the billing reporting option.

Billing Preferences
Inventory Alerts can be turned on for each specific part in the Part editor at Parts > New [or edit an existing part] > Inventory Alerts Enabled. When alerts have been enabled, a secondary field appears that allows for the Inventory Alerts Threshold to be set. This will set the number of inventory units that will trigger an inventory alert to be sent. The Inventory Alert Interval is not editable in this editor, and is set at Setup > Parts & Billing > Inventory Alerts.

In the Location Info editor if you check the field that allows for that location to Store Parts, then the Inventory Alert Recipients field will appear and allow the appropriate e-mail addresses to be entered for that location. These will override the default recipients set in the Inventory Alerts editor.

Invoicing Options
Specify company contact information and tax rates for labor and parts. Define what the main Billing Entity will be Department or Location. The contact information of the Client Admin for the tickets billing entity will be displayed on any PDF invoices generated for a ticket. In addition, the Administrative Contact for the billing entity is able to view all tickets for the location or department they are linked to. (see Chapter 13: Client Interface for more information on Client Admins).

Inventory Alerts
The Inventory Alerts editor can be found at Setup > Parts & Billing > Inventory Alerts. In this editor, you can set the Alert Interval. The Alert Interval indicates the frequency with which e-mail alerts will be sent when inventory levels are below the threshold set for each part. The Default Inventory Alert Recipients refers to the individual who will receive the alerts by default if no other recipients are set at the location level. The Location Alert Recipient Overrides are set at each location at Setup > Location & Departments > Locations & Rooms > [Edit Location] > Location Info.

You can also decide which Client contact information is displayed on the invoice the clients Location address, or the clients personal address.

CHAPTER 10

Parts & Billing 59

Use the Logo tab to upload your company logo for display on invoices. The logo is scaled to 3 inches in width by the PDF generator, but the file should be high resolution for best results.

Rates & Terms


Billing Rates Define billing rates to use in your tickets. At Setup > Parts & Billing > Rates & Terms >Billing Rates you can define as many billing rates as required. For invoicing purposes, a rate can be defined as a travel rate by enabling the Travel Rate checkbox. If you offer support to your client locations based on pre-defined service time blocks, and have enabled this functionality at Setup > Parts & Billing > Invoicing Options > Invoicing > Enable Location Service Time Blocks, you can select the check box Subtracts from Time Blocks that will cause the work time for tech notes using the rate to be deducted from the ticket locations service time block balance.

Managing Parts
Parts List
Parts are added to the Web Help Desk one by one or as an imported TSV (tab separated values) file. To view parts in the system or add new parts, click on the Parts icon. Parts may be searched by number, description or manufacturer.

Billing Terms Define terms options for your invoices. Create as many billing terms as you need for your requirements.

To add a new part, click on the New button at the top left or bottom of the parts search results list. A part must have an alphanumeric Part Number, a Manufacturer (defined in Setup > Assets > Manufacturers & Models), Description and both cost types. Click Save to add the new part.

Tax Rates Define tax rates to be applied to invoices. A tax rate can be applied to parts, labor and shipping. There is a global option to apply discounts before taxes are calculated. Note that all defined tax rates are applied to an invoice. The part detail view also shows a history of when inventory was added for the part.

CHAPTER 10

Parts & Billing 60

Importing Parts
To import a list of parts, download the template at Setup > Data Import > Import Parts. Every column must have a value for each row for the import to successfully complete. The columns are: Part Number (alphanumeric) Manufacturer Name Part Description Our Cost Customer Cost After adding data to the template, be sure to save as tab delimited text, then use the Choose File button to select the file on your computer. Click the Save button to upload the file and import the parts list.

tion and a count to be added. Any rows where the count is zero are ignored. Negative values are allowed for the part count if you need to make inventory adjustments. Click the Save button at the bottom of the inventory add list to complete the inventory update. Inventory can also be zeroed for all parts at a specific location using the Zero Inventory For popup.

TIP If there are no Locations available in the location popup, you must go to Setup > Locations & Departments > Locations & Rooms. Select a location from the list, then enable the Store Parts checkbox.

Importing Inventory
Inventory may also be added using a delimited text file at Setup > Data Import > Import Inventory. Download the import template, then supply the following required values: Part Number (alphanumeric) Location Name Count Do not delete the first row of the template, or you will receive an error message. After adding data to the template, save as a tab delimited text, then use the Choose File button to select the file on your computer. Click the Save button to upload the file and import the inventory.

TIP Do not delete the header row of the template, or you will receive an error message. Also, make sure that your costs do not contain any commas (i.e. 1,999.00) or currency symbols. Do not use Excels currency number formatter on your prices.

When importing parts, the application synchronizes values for any existing parts. This makes importing an easy way to quickly update pricing information. Any part number that doesnt exist in the database will be added during the import if Add New Entities is checked.

Using Parts
Use parts in a ticket by clicking on the Parts & Billing tab of a ticket detail. Search for a part to add to the ticket by number, description, manufacturer or model. Selecting the part from the search results adds a new line item to the part list for the ticket with a default quantity of one. You can select a larger quantity and override the default price listed if required. If one or more line item parts is defective, you can mark down the number of DOA parts for the line item. The cost of the DOA parts is removed from the ticket, and will show up in a separate area in your billing reports. You can remove an entire parts line item and return the parts back to inventory by clicking on the trash can icon on the right. Changes in the Parts & Billing tab are not finalized until you click the

Adding Inventory
Inventory is added directly via the web interface, or can be imported from a file. Before adding inventory, make sure the corresponding parts are already added. To add inventory using the web interface, go to Parts > Inventory, then search by part number, description or manufacturer for the parts you wish to add inventory. If no search criteria are provided, all parts are returned. Click on the Inventory tab above the search results. For each part you wish to add inventory, provide a storage Loca-

CHAPTER 10

Parts & Billing 61

Save button. Additional fields available include Billing Terms, PO Number, Shipping, Discount and a Tax Free option. Tax Rates are defined at Setup > Parts & Billing > Rates & Terms > Tax Rates. If you update your rates, tickets created prior to the update retain their original rate. To update an old ticket with the new rates, click the Refresh Tax Rates button.

Service Time Blocks


If you offer support to your client locations based on predefined service time blocks, you can enable this functionality at Setup > Parts & Billing > Invoicing Options > Invoicing > Enable Location Service Time Blocks. You must have the Location specified as your Billing Entity to see this option. To use time blocks at a location, go to Setup > Locations & Departments > Locations & Rooms > Location List > [Edit Location] and check the box Service Time Blocks Enabled. Once enabled, blocks of service time can be allocated to each location at Setup > Locations & Departments > Locations & Rooms > Location List > [Edit Location] > Service Time Blocks.

Create a new time block by clicking on the New button. Time blocks are created in days, hours or minutes. A time block can be set to expire at a specific date and time.

Invoicing
Generate a PDF invoice or quote directly from a ticket by clicking on the Download button at the top of the Parts & Billing view of a ticket. The default PDF type is Invoice, but you may select either Quote or Ticket from the popup menu as the description for the PDF. The document is generated by the application and downloads directly to your browser. All relevant contact information, tech notes and billing line items are included. The time block list for a location shows the creation date, expiration date (if applicable), creator, block amount and usable time. For non-expiring time blocks, the Time Block and Usable Time values should be the same. For an expired block, the usable value may be lower than the block value depending on how much time was used before the block expired. The location total is the sum of the usable time values for all blocks. Tickets created for a location with at least one service time block will automatically deduct time used in the tickets tech notes. Tickets created before time blocks were first added

CHAPTER 10

Parts & Billing 62

will not count against the location service time. If you want to count an older ticket against a locations service time, go to the Parts & Billing tab of the ticket and enable the Count Against Location Service Time checkbox in the Billing Details tab. Likewise, tickets created after time blocks were added for a location can be excluded from counting against the location by unchecking the option.

current tech note time values of all relevant tickets.

The service time available for all locations is shown at Setup > Locations & Departments > Locations & Rooms > Location List.

The amount of service time available for a location is displayed within the Ticket Details of a ticket under the location popup. If the value is negative, it will display in red.

If a tech note with time is added for a ticket whos location has negative service time available, saving the note will trigger an alert message in the Notes section of the Ticket Details panel as a reminder of the time deficit.

TIP Re-saving a tech note does not re-deduct the note time from the total service time available. The time used for a location is dynamically calculated based on the

63

Chapter 11: Reports


Sample Reports
The Web Help Desk includes a set of nine sample reports you can use right away. The sample reports are also useful as examples for learning how to build your own.

Creating Reports
Ticket Report
Tutorial We will use the Ticket Report plugin to generate the report. Well set its Chart Type to Pie Chart, its Category to Status and its time range to the current month, and well include a table that displays the chart data in text format. Well also set a Technician filter to limit the tickets included in the report to those assigned to the current user. To begin, log in to the Web Help Desk as an administrator or as a tech with permission to view reports, and navigate to Reports > Reports. Click the New button to define a new report. In the Report Basics tab, enter the Report Name Individual Technician Report Current User and set the Report Type to Ticket Report. Leave the Report Group blank for now. Click Save.

A report can be run directly from the list view by clicking the play triangle. To generate a printable web view in a popup window, use the print view button. To create a PDF suitable for download and printing, use the PDF button in the report row. The reporting module uses a plugin architecture with additional plugins planned for future releases. Currently, three report plugins are available: Ticket Report, Billing Report (visible only if Parts and Billing is enabled), and Composite Report. The Ticket Report plugin facilitates reports that have all the information available in previous versions of the Web Help Desk, but with the added power of being able to choose the categories used to define the report axes. It also allows specific items in report categories to be filtered so that the report focuses on a subset of category itemsfor instance, only those tickets assigned to Joe Admin and Sally Tech. New categories are available as well, including Ticket Creator, Alert Level, Alert Condition, and custom fields. If Parts and Billing is enabled, the Billing Report plugin can be used to generate billing reports like those of earlier Web Help Desk versions, but with more categories to choose from and with the ability to apply filters. The Composite Report plugin enables you to group several sub-reports into a single report that can be generated with a single click.

After selecting the report type, the Report Details and Report Filters tabs will appear, providing settings specific to Ticket Reports. Click the Report Details tab. Ticket reports are defined by four sets of options: categories, metrics, time range, and filters.

Categories determine which values various dimensions of the report will represent. We want to display a pie chart with

CHAPTER 11

Reports 64

slices representing the number of tickets in each status type, so we will set the Pie Slice Category to Status.

the ticket was opened, the date it was last worked on, the date it is scheduled for work, or the date it was closed. We will select Date Opened. We now have defined a report that includes a pie chart with slices representing the number of tickets in each status type, for all tickets opened during the current calendar month. It also includes a table that displays the status count. Click Run Report to see how the report looks so far. Statistics depend upon the tickets in your help desk, but you should see something like this:

Metrics determine which ticket attribute will be used to calculate the length of bars or size of pie slices, and determines which attribute will be included in the table. We want to display a pie chart that shows the ticket count for each status type, along with a table showing the status counts:

The Time Range filters the tickets included in the report to those that occur within a given time period. Limiting the report with a time range can significantly increase the reports performance. Time ranges can be Relative or Specific. Relative time ranges are given as amounts of time prior to the present. Specific time ranges are given as fixed dates and times. We want our report to include only those tickets that were opened during the current month, so we will use a Relative date range. If we wanted to include tickets opened within the past 30 days, we could set the From time to 1 Month ago and select Use exact date and time. However, we want to include only those tickets opened during the current calendar month. To do this, we will set the From time to 0 Months ago and select Round back to beginning of time periods. (If we were to have set the From time to 1 Months ago, instead of 0 months ago, the time would be determined by going back one month from the present and then going back to the beginning of that monthresulting in tickets for the current month plus the previous month).

Adding a Filter The report shows statistics for all tickets opened during the current calendar month, but we want to limit it to only those tickets assigned to the user generating the report. To do this, we will add an Assigned Tech filter that includes only the Report User. Click the Report Filters tab. Since no filters have been added yet, the list will be empty. Click New to add a filter. Set the Filter Attribute to Assigned Tech. When the Filter Attribute is selected, a list of possible values for the attribute will appear in the Values cell. Select Report user. This is a special value that represents the current user of the Web Help Desk who is running the report. Keep the Filter Type set to Inclusive; otherwise, the filter will allow all values except those that are selected.

TIP Date Worked On is a unique date attribute as it looks specifically at Tech Notes created during the specified date range and not ticket dates. Ticket reports using this date attribute will include data based on all tech notes in the date range regardless of who created them, however all work time is attributed to the assigned tech on the ticket.

In addition to specifying the time range, we need to specify the date attribute that it will apply to. We could use the date

CHAPTER 11

Reports 65

Select the table data options to include in the report:

Click Save to save the filter settings (and the other report settings). Click Run Report again to see the report with the filter applied. Click the Run Report button to generate the table.

This time the report includes only those tickets assigned to the current user, and a text box appears at the bottom to show that the filter has been applied. Displaying Detailed Table Data In our example report weve generated a pie chart and a simple table that displays the values in the chart. Ticket reports also include the option of displaying detailed, multivalued table data. To generate the table, the report must use the Table Only option for the Chart Type. Go back to the Report Details tab and select the Table Only option.

TIP Report tables include hyperlinked data that open a ticket list displaying the specific tickets used in calculating the value. This is a good way to verify that the report is generated using the expected tickets.

Click Cancel to return to the report list. Select the Unassigned Report Group filter to see your report.

The report can be edited by clicking the report name, or the report can be run by clicking the Play, Print View or PDF buttons.

CHAPTER 11

Reports 66

Ticket Reports on Other Categories Creating ticket reports for tech groups, locations, location groups, departments, department groups and request types is nearly identical to the procedure for creating a technician ticket report. Wherever we set a category or filter to Technician in the technician ticket reports, we simply replace it with the desired category: Tech Group, Location, Location Group, Department, Department Group or Request Type. Look at the construction of some of the Sample Ticket Reports for further examples.

month, we will set the From: period to 0 Months ago and select Round back to beginning of time periods. We also will set the Date Attribute for Time Range to Date Worked On:

At this point, we can click Run Report to see a side-by-side comparison of the billing totals for each technician.

TIP to group request sub-types together within a single entry for their parent type, create a filter that includes the parent request type. For example, if there are request types for Hardware and Software, and each have subtypes that you do not wish to appear as separate lines in the report, create an inclusive Request Type filter that includes the Hardware and Software request types. The report will then show a single line for Hardware that includes all tickets with subtypes of Hardware, and a single line for Software that includes all tickets with subtypes of Software.

If we wish to focus the report on a single technician, we can select the Report Filters tab and create an inclusive Technician filter:

Billing Report
Tutorial Log into the Web Help Desk an administrative user or a tech with permission to view reports and go to Reports > Reports. Click New to create a Billing Report with the name Technician Billing Report. Leave the Report Group blank, then click Save. Now the report includes an entry for only the selected technician, with a text box indicating the filter is in effect:

Select the Report Details tab. Set the Category to Technician. (Note that Billing Reports have only one category setting and do not have any metrics settings.) To make this report calculate work time billed during the current calendar

Save the report and return to the ticket list view. Select the

CHAPTER 11

Reports 67

Unassigned Report Group filter to see your report. The report can be edited by clicking the report name, or the report can be run by clicking the Play, Print View or PDF buttons.

added to the group by selecting the check boxes. In the lower portion of the pane, reports can be deleted from the group by clicking on the small trash can icon. When all reports are selected as needed, click Save to complete the process of setting up the Report Group.

Billing Reports on Other Categories Creating billing reports for tech groups, locations, location groups, departments, department groups and request types is nearly identical to the procedure for creating technician billing reports. Wherever we set a category or filter to Technician in the technician billing reports, we simply replace it with the desired category: Tech Group, Location, Location Group, Department, Department Group or Request Type.

Creating Report Groups


To facilitate organization and help control access, WHD has included the Report Groups function. Report Groups control access to created reports by Tech and Location Group which ensures that each Tech is only presented with the reports concerning their scope of work.

Creating Report Schedules


To further facilitate the distribution of reports, WHD has included the Report Schedules function. Using this function allows for reports to be automated and scheduled to fit your needs.

Group Options
First, set up the Group Options of the new Report Group. Click on any Report Group listed at Reports > Report Groups under Group Name or, in the case of adding a new group, click New. In the Group Options panel, select either the All or Specific radio button in the Tech Groups and Location Groups sections. If Specific is selected, a list of all the Tech and/or Location Groups available to assign to the Report Group is provided. Use the check boxes to determine which groups and which locations are to receive the report(s) and click Save.

Schedule Details
First, set up the Schedule Details of the new Report Schedule. Go to Reports > Report Schedules and click New. This will bring up the Schedule Details panel in edit mode. Enter a descriptive name in the Schedule Name field and click the check box Enabled to turn on the scheduled report function. Set up the scheduled interval in the Interval section in the case below the report will be generated weekly, every week, on Monday at 12:00am. Enter a message to be included in the report e-mail if desired dynamic tags for report list and timestamp are available. Next, use the Client Lookup function to assign the Client Recipients that should receive the report non-clients may be added to the distribution by adding e-mail addresses in the Other Recipients E-Mails field at the bottom of the panel. Click Save when done.

Included Reports
Next, choose which reports should be visible in the Report Group. Go to Reports > Report Groups > Group Options. A report can only be assigned to one Report Group. Click on the Edit button to get to the edit pane of the Group Options window. In the upper portion of the pane, reports can be

CHAPTER 11

Reports 68

Schedules. This will bring up a list of when the scheduled report was run. Dates of the reports creation and transmission are listed in the Dates field. A description of what transpired is noted in the Action field and more information can be obtained by mousing over the envelope icon on the right side of the row.

Tech Recipients
To define the technicians to include in the report distribution, click on the Tech Recipients tab. Click the Edit button to bring up the list of technicians that can be added to the distribution. Use the check boxes to select those technicians who should receive the report. Click Save when done.

Creating Survey Reports


Surveys are a useful feedback tool from client users. For more information on the creation and reporting of surveys, see the Survey Reports section in Chapter 12: Surveys and Messages.

Included Reports
Next, define the reports to include in the distribution. To do this first click on the Included Reports tab, then click Edit to bring up the list of reports that can be added to the distribution. Use the check boxes to select the reports that should be included in the distribution. Click Save when done.

History
Finally, the history of Scheduled Reports can be viewed by clicking on the History tab under Reports > Report

69

Chapter 12: Surveys and Messages


Managing Surveys
Surveys are used as a feedback tool from your client users. A survey can be linked to a specific ticket for a single client, or can be used as a general questionnaire sent to a number of clients.

Survey Manager
Surveys are created and managed at Setup > Surveys. In Setup > Surveys > Survey Options, the Default Survey popup menu defines which, if any, survey will be used by default for tickets whos request type has Default Survey for the survey option. To add a question to a survey, click on the New Question button. Enter the question in the specified text area, then select the answer type. The options are: Text (text field) Multiple Choice (check boxes) Single Choice (radio buttons) Popup menu For the non-text options, possible answers are supplied in the Answer Options field, separated by a semicolon. Additionally, an explanation field can be added to each question so the client can add further information. Questions can be reordered by changing the Display Order value.
TIP The diagram above shows the relationship between the Default Survey defined in the Survey Manager settings and the Survey selection in a request type. If the Survey Manager default is set to None, no survey will be offered for tickets with a request type using the Default Survey selection.

To create a new survey or edit an existing one, click on the Surveys sub module. Click on the New button or on the name of an existing survey to edit the survey details. Each survey must have a title, and may also have a description for techs, client greeting, thank you message and e-mail invitation message. If you dont want the survey sent on every closed ticket, set the Survey Frequency value to something higher than 1.

Sending a Survey
Ticket Survey Recall that a specific survey is linked to a ticket based on the request type of the ticket. If a ticket has a survey linked, an invitation to take the survey is sent to the client when the ticket is closed as part of the closed ticket e-mail. Of course, a client cannot be required to take a survey, but incomplete surveys always remain available.

CHAPTER 12

Surveys and Messages 70

search for one or more clients you wish to send the survey. After searching, check off the clients you wish to include, then click on the Send Survey button at the top of the search results list.

TIP The image above is an example of a survey invitation in a closed ticket. Note how the invitation text uses replacement tags from the surveys E-Mail Invitation Message to personalize the feedback text.

In addition to receiving an e-mail invitation with a direct link to the survey, a client can access a tickets survey via the web interface. In the clients History view, any closed tickets with an incomplete linked survey will have a Take button on the right side of the row, while completed surveys will have a View button.

A Survey Selector window will popup with survey settings which allow you to select which of your saved surveys to send. In addition, you can set the subject for the e-mail to be sent. The settings also tell you how many client recipients will be included in the mailing.

When the client clicks on either the e-mail invitation link or the Take button, the survey will open in their web browser. The survey cannot be saved unless all questions requiring a response are answered.

Viewing Survey Results


Ticket Detail View
One way to view the results of a ticket survey is from the detail view of a closed ticket. If a closed ticket has a completed survey, a survey results button will be available at the top of the ticket. Clicking on this button opens a popup window displaying the clients answers.

General Surveys A survey does not need to be linked to a ticket. You can create a questionnaire for the purpose of collecting any information you wish. Once created, an e-mail invitation with a link to the survey can be sent to any number of clients. To send a general survey, create the survey just as you would one to be used for tickets. Next, go to Clients > Search Clients and

Survey Reports
To view summary data regarding both ticket and general surveys, go to Reports > Survey Results. Survey reports can be generated by name, date, technician, client and request type. Each survey question is displayed graphically with a pie chart showing answers by percentage. To view the individual responses to any question, click on the Responses link

CHAPTER 12

Surveys and Messages 71

following each question. All surveys found by the report are listed in a table below the graphs. To view all the answers given by a client on the survey, click on the date/time in the survey search results list. If the survey is linked to a ticket, you can view the ticket by clicking on the hyperlinked ticket number. Using a survey report is the only way to view the results of a general (non-ticket) survey.

ate a new message, click the Create Messages tab and then the New Message button in the upper left hand corner of the panel.

Messages
Messaging is a utility you can use to post information to technicians and clients. A message shows up as a sticky note in the web interface and can be targeted technicians, clients or both.

Creating Messages
A list of all messages is available to administrators by going to Messages > View Messages. Either New Messages or All Messages can be selected.

Message text can include HTML tags for formatting or creating links as well as inserted FAQ links. If the message is targeted to techs, the audience can be further refined to include only certain tech groups. A message can be Locked which means it cannot be removed from the read messages list. Messages can be scheduled to start and stop at a specific date and time. If no expiration date is provided, the message remains available indefinitely.

Viewing Tech Messages


When a new tech message is available, an alert is shown in the Messages icon in the top bar. A red number will appear in the icon to alert you to the new message. A more detailed list of all messages is available to administrators by going to Messages > Create Messages. The list shows the message, target audience, which techs have read the message (if applicable), and the scheduled start/stop dates if any. Administrators can also create messages targeted to any group, while technicians must have permission to access the editor and can only create messages targeted to techs. To cre-

Clicking on the Message icon will open a message viewer window. New messages appear under the New Messages

CHAPTER 12

Surveys and Messages 72

tab, while read messages that have not been deleted appear under the All Messages tab. All new messages are automatically moved to the All Messages tab after viewing. To delete a message, click the small x at the upper left. Messages with a lock cannot be deleted.

Viewing Client Messages


Messages targeted to clients may be viewed by taking the alert link on the login page.

License Key Expiration Message


The Web Help Desk uses a message to alert Administrators when support on your license key is due to expire. A message is created once a week for the month preceding the key expiration. License keys always expire at the end of the month. Input a new key at Setup > General > License.

The alert link opens a Public Message View window.

If the client doesnt click the public message link at the login screen, all messages will be shown to the client after they login. The client will not be allowed to create a new ticket until they click the Done button at the bottom of the message list.

73

Chapter 13: Client Interface


Clients log into the application at the same login panel that technicians use. The Web Help Desk creates a sample client account at installation. To access the account, login as client/ client for the e-mail address/password. By default, clients are sent to the Request module. If assets are assigned to the client and the selected request type requires a model, a list of the clients assets is displayed in the My Assets box. An asset is selected by clicking on its hyperlinked number.

Help Request

TIP If you dont want your clients to see the Location and Room fields because they arent applicable to your implementation, make sure all of your Locations are deleted at Setup> Locations & Departments > Locations & Rooms > Location List.

Clients create new tickets at the Help Request module. The specific request type selected determines the following: Default priority (if visible) Subject and Request Detail visibility Request Detail requirement Custom Fields displayed Attachments enabled Model/Asset requirement To change these options for a specific request type, go to Setup > Tickets > Request Types > [Edit Request Type] > Request Detail Required and Use Models

Selecting an asset adds it to the Ticket Assets box. Any number of assets can be added to the ticket.

Additionally, several options at Setup > Tickets > Ticket Options affect a clients ability to select an asset and location: Lock Ticket to Client Location Disables the location popup so that only the clients profile location can be used for a ticket. Ticket Must Use Assigned Asset Client must specify an asset on the My Assets list. Asset Number Lookup for Client Enables an asset search field so that clients can lookup an asset to use in the ticket by number. Assets can be searched by number, serial number or network name. Room Required Client must select a room. Include Room Assets in Client Asset List Adds assets for rooms in which the client is assigned to the My Assets list.

CHAPTER 13

Client Interface 74

If the asset in question is not listed, or you are not using asset management, the model can be entered manually in the form. If the model is not listed in the system, or the request does not apply to a specific model, the client may choose the Not Applicable/found option from the model popup. Clicking the Save button submits the request. If all required information was provided, the ticket is added to the database and the client receives a Thank You for submitting. The application will attempt to send an e-mail confirmation to the clients account if enabled at Setup > Tickets > Ticket Options > Auto-Reply to Client.

Approvals
If the client has been designated as an approver, and has one or more approvals assigned, the Approvals module of the client interface will be visible. Approvals can be searched by either New Approvals or Old Approvals. To view New, or current, Approvals, click on the New Approvals widget in the upper left hand corner of the Approvals panel.

History
All help requests submitted by a client are visible in the History module of the client interface. History can be searched by ticket number, status or request detail. To view the details of a help request, click on its hyperlinked ticket number.

Tickets that are not Closed or Cancelled can have Client Notes added or additional files attached (if enabled). Closed and cancelled tickets are view-only by default, but the reopening of closed tickets can be enabled at Setup > Tickets >Status Types > Clients Can Reopen Closed Tickets. Tickets can be cancelled using the Cancel Ticket button on the upper right corner of the ticket detail. An e-mail response is generated for all updated and cancelled tickets.

Tickets that are current and that are pending the completion of an approval processes by the client are listed in this window. The list may be sorted by ticket number, date, client or request type by clicking on the column header of that name. Additional information such as the ticket Details, Approval Process name, the Approval Step name and My Vote (Where the client would either approve or deny the request.) are also available in the columns on the right side of the panel. The Approval Process name has a + sign on the left hand side of the button that allows for the process to be expanded to show the required steps in the process. Approval Steps can be moused over to show such information as creation date, approver and status of that request. To view Old, or previous, Approvals, click on the Old Approvals widget in the upper left hand corner of the Approvals

CHAPTER 13

Client Interface 75

panel.

Profile
Clients can update their user profile based on the permissions defined at Setup > Clients > Client Options > Client Permissions.

Tickets that are old and that have gone through completion of an approval processes by the client are listed in this window. The list may also be sorted by ticket number, date, client or request type by clicking on the column header of that name. Additional information such as ticket Details, the Approval Process name, and the Approval Step name are also available in the columns on the right side of the panel. The Approval Process name has a + sign on the left hand side of the button that allows for the process to be expanded to show the steps completed in the process. Approval Steps can be moused over to show such information as creation date, approval date, approver and status of that request.

Client Admins
Locations and Departments can have one or more Client Admins defined. A Client Admin is a client that has administrative rights for the location and/or department. At a minimum, the Client Admin can view all tickets for clients at the Location or Department assigned. A client can be assigned as a Client Admin to multiple Locations and Departments. In addition, the Client Admin may also be able to edit other clients tickets and create tickets for other clients depending on the options specified at the Location/Department level.

FAQs
Clients can search your FAQ library, filtering their search by model, category, and question/answer text. Any attachments are displayed under the answer text. Clients can rate the effectiveness of each FAQ by selecting a rating value from 1 to 5 stars in the Vote popup menu. The average of all votes is dynamically re-displayed.

Users can also access FAQs anonymously. For more information on anonymous FAQ access, see Chapter 9: Public FAQ Access.

Client Admins are also able to see the costs associated with a ticket (if Parts & Billing is enabled and set to view costs in the Location Editor) and to download PDF invoices for closed tickets. , Each location or department can be assigned one or more Client Admins normally a Client account

CHAPTER 13

Client Interface 76

that can view all tickets for the location, as well as create tickets for themselves or other clients at the location (if enabled).

Client Admin Roles


Client Admin Roles can be used to define which Request Types are available to a Client Admin assigned to the role. Each new Client Admin Role can have ANY combination of request types available to that role. However, each client can ONLY be assigned one Client Admin Role. The client who has been assigned a Client Admin Role will be able to view and edit ONLY those request types that have been assigned to their role. The History view of the client interface will only display tickets that are of the request type assigned to the role. To create a new Client Admin Role, go to Setup > Clients > Client Admin Roles and click New.

Next, assign the client to the newly created Client Admin Role in the Client Info editor at Clients > Search Clients > [choose specific client] > Client Info. The Client Info editor has a field called Client Admin Role that will have a popup menu to select any of the Client Admin Roles available those that have not been assigned to other clients.

There, a new Role Name can be createdsuch as the Restricted Client Admin example belowand a list of Request Types Supported appear in checkbox form. Select from the list those request types that involve the new Client Admin Rolein the example below, the client is only responsible for the request types related to Hardware. Click Save and the new role will be created.

Finally, each location or department can be assigned one or more Client Admins normally a Client account that can view all tickets for the location, as well as create tickets for themselves or other clients at the location (if enabled). In this case, the newly created Restricted Client Admin can be added as a restricted Client Admin under either a Location Info or Department Info editor panel. As shown below, the contact restricted by the Client Admin Role can be added

CHAPTER 13

Client Interface 77

in addition to an unrestricted Client Admin. The Role column denotes the Client Admin Role assignedif no role has been created for that contact, None will be displayed. It is possible as well to have two or more separately defined Client Admin Roles assigned to the location or department in this manner as well as additional non-restricted Client Admins.

Logout
Clients exit the application by clicking on the Logout button. Upon logout, they have the option of re-entering the application by selecting the Return to Login button.

The client interface sample below shows the History view of the example Guy, Restricted when he or she is assigned to a location as a Client Admin without a role. As shown, Guy, Restricted can view tickets from any request type available to the location for all clients including themselves.

TIP If Allow Automatic Login is enabled at Setup > General > Authentication, and the client has enabled this option on the login screen, they will still be prompted for their password on their next login attempt if they use the Logout option. To avoid the password prompt, the client should close the browser window instead of using the logout button.

When Guy, Restricted is assigned to the Restricted Client Admin Role at a location, ONLY the Hardware request type tickets assigned to the location are visible. He or she would also see any other Hardware related tickets that have their request type assigned to that location, as well as all tickets assigned to themselves.

78 78

Chapter 14: Deployment Considerations


Memory Sizing and JVM Options
The main deployment factor to consider is the number of concurrent users you expect your application to support. Tech sessions are much more memory intensive than Client sessions, so use the estimated number of concurrent Tech sessions to determine which type of deployment will work for your needs.

WebObjects on Mac OS X Server


Another option available on Mac OS X Server is a multiple instance WebObjects deployment. WebObjects deployment is supported on Mac OS X 10.4 and 10.5 Server only. WebObjects deployment is not supported on 10.6 Server. The following details how to configure the WHD to run under WebObjects using the Monitor tool: 1. Install the Web Help Desk, then run the following deployment script in the Terminal (as root or sudo):
/Library/WebHelpDesk/bin/UpdateWebObjectsConfiguration

Supporting less than 20 Techs


On a 32 bit OS, the WHD must use a 32 bit Java Virtual Machine (JVM). The maximum memory a 32 bit JVM can address varies slightly by operating system, but 1600 MB is a good common max value. This max should be able to support 10-20 concurrent Techs without a problem. Always make sure you have enough physical memory in your machine to support both the 1600 MB for the JVM as well as the server OS and any other services you run on the machine. You set the memory for the JVM by editing the <WebHelpDesk>/ conf/whd.conf files MAXIMUM_MEMORY option. The default value is 512 MB.

2.

In Server Admin, start the Web and the WebObjects services. Enable the Monitor by checking Turn Monitor On. You can leave the default ports.

Supporting more than 20 Techs


If you need to support more that 20 simultaneous Tech sessions, we suggest moving to a 64 bit OS and a 64 bit JVM. On a 64 bit JVM you are free to increase the max heap memory to multiple gigabytes in size by editing the <WebHelpDesk>/conf/whd.conf files MAXIMUM_MEMORY option. Always make sure you have enough physical memory in your machine to support both the JVM size as well as the server OS and any other services you run on the machine. A 64 bit JVM is available by default on Mac OS X 10.5 for Intel. You can invoke it by adding the following argument to the /Library/WebHelpDesk/conf/whd.conf files JAVA_ OPTS option:
JAVA_OPTS=-d64

3.

With a web browser, connect to the Monitor tool at http://yourserver.com:56789. Click on the Site tab. Provide a valid URL to Adaptor (this is only used for links in the Monitor tool). We suggest using Round Robin as your load balance scheme and setting the Receive Timeout value to 300. Click the Update Adaptor Settings button to save.

For other operating systems, you must install your own 64 bit JVM (Java 5 or Java 6), then update the JAVA_HOME option in the <WebHelpDesk>/conf/whd.conf file to point to your Java installation.

CHAPTER 14

Deployment Considerations 79

7.

If you want to capture log files, provide an Output Path. Note that the directory you designate must be writable by the appserver user.

4.

Click on the Hosts tab. Provide the DNS name or IP address of the server using Mac OSX as the of type option. Click the Add Host button. If this is the only host that will be running the application, you can use 127.0.0.1 as the host address.

8.

Provide Additional Arguments to specify the max JVM heap size for the application instances. Each instance can handle up to 1600m, but in general, we find values of 256m to 384m are sufficient (you will be running multiple instances). The format is: -Xmx256m

9. 5. Click on the Applications tab. Add an application called Helpdesk (Note: you can use another application name if you wish). Click the Add Application button.

Click the Push All button to save all settings, then click on the Applications tab again. You should see your application listed.

6.

Configure the new application. Use the Path Wizard button for the Mac OSX path field to lookup the following path to the application startup file:
/Library/WebHelpDesk/bin/webapps/helpdesk/ WEB-INF/Helpdesk.woa/Helpdesk

10. Click the Detail View button. Add the optimal number of instances for your server based on the max JVM memory setting you specified in the application configuration. Remember to leave enough free memory for your System and any other services you are running on the machine. Youll also need to leave an additional 64 MB free for the Daemon application which well add in a moment. Click the Add button create the instances.

CHAPTER 14

Deployment Considerations 80

You can use an additional argument of -Xmx64m for the memory setting. If for some reason you find you need a higher setting, feel free to increase the value and restart the instance. Push all to save. 15. Go to the Detail View for the Daemon application and add 1 (ONE) instance of the Daemon. Its important that you have only a single instance, as multiple instances will cause problems with e-mail ticketing and alert email generation. The Web Help Desk is now configured to run under WebObjects using the Monitor tool.

11. The instances should startup on their own -- you can speed up the process by clicking the green start button in the ALL INSTANCES row for the Start/Stop column. You can force the page to refresh by clicking the blue hyperlink Refresh Now text below the application name.

12. At this point you should be able to connect to your application by going to the following URL:
http://myserver.com/cgi-bin/WebObjects/Helpdesk.woa

If you didnt name your application Helpdesk, make sure to substitute the appropriate application name in the URL. 13. Click on the Applications tab and add a new application called Daemon. This application will have a similar configuration to Helpdesk, but the Path to the application startup file is:
/Library/WebHelpDesk/bin/webapps/WHDReminderDaemon/WEB-INF/WHDReminderDaemon.woa/WHDReminderDaemon

14. Provide an Output Path if you are capturing log files.

CHAPTER 14

Deployment Considerations 81

Clearing JVM Heap Memory


Most WHD deployments will eventually fill up the JVM Heap Memory which may result in degraded performance. To solve this problem, periodically restarting the WHD to clear the heap memory is suggested. The procedure for doing this will vary by the platform that WHD is hosted on.

Mac OS X
First, you must install WHD version 8.4.6.8 or later. 1. As the root user, Copy the /Library/WebHelpDesk/bin/ com.macsdesign.RestartWebHelpDesk.plist file into your /Library/LaunchDaemons folder. Then execute this command:
launchctl load com.macsdesign.RestartWebHelpDesk.plist

2.

Choose an application to run -- the choice does not matter, so you can choose the first in the list.

3.

You can verify that the plist was loaded successfully with this command:
launchctl list

To unload the LaunchDaemon, use this command:


launchctl unload com.macsdesign.RestartWebHelpDesk.plist

The plist file provided is configured to restart Web Help Desk each night at 1AM. You can change the schedule by editing the StartCalendarInterval property in the plist. See the Mac OS X documentation for details.
TIP This launch daemon works only with the standard Tomcat deployment of Web Help Desk. WebObjects Monitor deployments should use the Monitor tool to configure automatic restarts. When scheduling with the Monitor, make sure to uncheck Is Graceful to force the instances to restart.

Give the task a name.

Windows
In order to schedule the WHD application for a nightly restart on Windows to clear the JVM heap memory, you will need to create two Scheduled Tasks in Control Panels. Stop Scheduled Task Choose Start > Control Panel > Scheduled Tasks > Add Scheduled Task to start the Scheduled Task Wizard.

CHAPTER 14

Deployment Considerations 82

Choose a Daily time to run the task.

Start Scheduled Task Next, create a second Scheduled Task to restart the WHD application. Follow the same steps above, but use the Run command net start webhelpdesk as the final step. Schedule the start at least one minute later than the stop command to ensure that the service has completely stopped before attempting to restart.

Linux/Solaris
For Linux and Solaris installations, create a nightly cron job that calls the stop/start scripts as root or using sudo. The following commands would need to be called: Check off the open advanced option when Finished.
/usr/local/webhelpdesk/whd stop /usr/local/webhelpdesk/whd start

Configuring WHD for HTTPS


Setting HTTPS_PORT and URL_HTTPS_PORT in whd.conf
In order to enable HTTPS with Web Help Desk, you must first configure the port it will listen to for HTTPS requests and the port it will use in URLs it generates that point back to itself. Enabling HTTPS and initializing the Java keystore To enable Web Help Desk to listen to HTTPS requests, you must un-comment the HTTPS_PORT setting in <WebHelpDesk>/conf/whd.conf by removing the pound character (#) at the beginning of the line. By default, browsers use port 443 for SSL connections. If you use a different port, you will need to include it in URLs to Web Help Desk. For example, if your whd.conf file contains the line
HTTPS_PORT=8443

Change the Run command to be net stop webhelpdesk.

then you would connect to Web Help Desk with the following URL:
https://localhost:8443

After setting HTTPS_PORT, restarting Web Help Desk will create a new Java keystore at <WebHelpDesk>/conf/keystore.jks containing a self-signed certificate.

CHAPTER 14

Deployment Considerations 83

TIP If you leave the DEFAULT_PORT setting enabled, Web Help Desk will allow HTTP as well as HTTPS connections. Most likely, you will want to disable HTTP requests, by inserting a pound sign (#) in front of the DEFAULT_PORT setting, or you will want to enable HTTP to HTTPS redirection. (See Enabling HTTP-to-HTTPS Redirection.)

provides a graphical user interface for administering the keystore. The keystore holds one or more keypairs. A keypair consists of a private key and a certificate. Each keypair is given a unique name, or alias, and an optional password. The embedded Tomcat server used by Web Help Desk requires its keypair to be given the alias tomcat and, by default, the password changeit. If a different password is used, the new password must be given to Tomcat via the KEYSTORE_ PASSWORD setting in whd.conf. The keystore itself also has a password, which Tomcat requires to be identical to the keypair password.

Generating Web Help Desk URLs to a different port (Optional) If you have configured your Web Help Desk application to be accessed through a port other than the web service port configured by HTTPS_PORT (e.g., if you are using an Apache rewrite directive to forward requests for port 80 on to the Web Help Desk port), you should uncomment the URL_HTTPS_PORT setting in whd.conf and set it to the port you wish Web Help Desk to use in any URLs that point back to itself. If you do not uncomment URL_HTTPS_PORT, then HTTPS_PORT will be used for all links generated by Web Help Desk that point to itself.

Certificate configuration overview


By default, Web Help Desk uses a self-signed certificate, causing web browsers to prompt the user whether to trust the certificate. This section explains how to configure Web Help Desk to use a signed certificate that will be recognized by browsers automatically as a valid certificate. When a browser submits an HTTPS request to Web Help Desk, the SSL protocol requires Web Help Desk to respond with a certificate to prove the authenticity of the server. The certificate contains a public key used for encryption and a digital signature by a Certification Authority (CA) that tells the browser who verified the authenticity of the server. Web browsers are pre configured to trust several CAs whose validity has been established by the browser manufacturer, such as VeriSign, Thawte, GeoTrust, and GoDaddy. If a browser does not recognize the certificates CA, it asks the user whether to trust the certificate. Once trust has been established, the browser uses the public key to encrypt information it sends to Web Help Desk, and Web Help Desk decrypts it using its private key. Similarly, Web Help Desk uses its private key to encrypt information sent to the browser, and the browser uses the public key received in the certificate to decrypt it. Web Help Desk keeps its keys and certificates in a Java keystore at <WebHelpDesk>/conf/keystore.jks. The open-source utility Portecl (POR-tuh-CLAY, French for keychain), which comes bundled with Web Help Desk, When a new keypair is created using Portecl, it is given a self-signed certificate. To replace the self-signed certificate with a certificate signed by a CA, a Certificate Signing Request (CSR) must be generated for the keypair and submitted to the CA. The CSR contains the public key and the name of the server, in a format defined by the PKCS#10 standard (typically given the filename extension .p10 or .csr). After verifying the applicants identity, the CA replies with a certificate that can be used to replace the selfsigned certificate in the keypair. This CA Reply (or CSR Reply) is typically given as an X.509 Certificate file (.cer, .crt, .pem, or .der) or as a PKCS#7 file (.p7b).

It is possible for a trusted CA to delegate to another CA. In this case, the certificate returned by the delegated CA will

CHAPTER 14

Deployment Considerations 84

itself be signed by the trusted CA, resulting in a certificate chain. Certificate chains may be of any length. The highest certificate in the chain, the root certificate, should be a selfsigned certificate, signed by the trusted CA. Each certificate in the chain must imported into the keystore so that the complete chain can be sent to the browser. If the CA Reply does not include the chain certificates, they must be added to the keystore manually before the CA reply. The certificates must be imported in order of dependencyi.e., the root certificate must be added first, then the next chained certificate that was signed by the root certificate, and so on, down to the CA reply.

reply. If you already have a certificate, skip to Importing an Existing Certificate later in this chapter. Creating a new Keypair After launching Portecl, select File > Open KeyStore and open <WebHelpDesk>/conf/keystore.jks. (This file is created automatically when Web Help Desk is started with the HTTPS_PORT setting uncommented in <WebHelpDesk>/ conf/whd.conf. If it does not yet exist, simply uncomment the HTTPS_PORT setting and restart Web Help Desk.)

Upon selecting the keystore, you will be prompted to provide the keystore password. The default password is changeit.

If you have not yet obtained a certificate for your server, you should use Portecl to generate both a keypair and a CSR to send to the CA, and then to import the CA Reply certificate. If you do already have a certificate, you will need to import it and the primary key into the keystore. Since Portecl does not allow you to import a primary key by itself, you will need to combine it with its certificate in a PKCS#12 file (*.p12 or *.pfx). In each case, the keypair must be aliased as tomcat, and both it and the keystore must be protected by the password specified with the KEYSTORE_PASSWORD setting in whd.conf. The following sections explain both ways of getting a certificate into the keystore: using Portecl to generate a new certificate (below), and in the Importing an Existing Certificate section later in this chapter.

After opening the keystore, you should see a keypair entry with the alias tomcat. This keypair was created automatically by Web Help Desk. You will need to replace it with a new keypair that is configured for your domain. First, delete the existing tomcat keypair by right-clicking and selecting Delete:

Generating a new certificate


This section explains how to create a new certificate, generate a certificate signing request (CSR), and import the CA

CHAPTER 14

Deployment Considerations 85

Next, create a new keypair by selecting Tools > Generate Key Pair. You will be prompted to choose an algorithm and key size. Choose 1024-bit RSA. Configuring Web Help Desk for HTTPS 6
TIP Many browsers, including Internet Explorer, are known to have problems with DSA certificates. RSA is more widely and consistently supported.

The Validity attribute specifies the number of days you want your certificate to be valid. Typical validation periods are 6, 12, or 24 months. (See your CA for options and pricing.) The most critical attribute is Common Name (CN). This must match exactly the full domain name for the site to be used with the certificate. For example, if your help desk will be hosted at support.mycompany.com, your CN must be support.mycompany.com, not merely mycompany.com. (However, some CAs support wildcard certificates, where *.company. com matches any subdomain of company.com.) The Organization Unit (OU) may be anything that helps distinguish this certificate from others for your organization. Organization Name (O) should be the legal name for your organization. Locality Name (L) and State Name (ST) should be the unabbreviated city and state/province/region/ territory of your organization. Country (C) should be the two letter ISO 3166 country code for your country. Email (E) is generally optional, but may be used by your CA as the address to which the certificate will be mailed. See your CA vendor for further information. After clicking OK, you will be asked to provide an alias for the new keypair.
IMPORTANT Web Help Desk expects your keypair or certificate to use the alias tomcat

You will now be prompted to provide the x509 distinguishedname attributes for your certificate:

CHAPTER 14

Deployment Considerations 86

Generating a CSR Now you can create the certificate signing request (CSR) by right-clicking on the keypair and selecting Generate CSR:

Finally, you are asked to provide a password for the keypair.


IMPORTANT Web Help Desk requires this password, and the password used for the entire keystore, to match the KEYSTORE_PASSWORD parameter in <WebHelpDesk>/conf/whd.conf. By default, this password is changeit. If you use a different password, you must update the KEYSTORE_PASSWORD setting.

Give a name for the CSR that will help you remember the domain it will validate:

After successfully providing the keypair password, you should see the new keypair aliased by tomcat:

This will be the file you will send to your CA to request your certificate. The CA should return an x.509 certificate in DER (*.cer, *.crt), PEM (*.pem, *.cer, *.crt) or PKCS#7 (*.p7b, *.p7c) encoding. Importing CA Chain & Root Certificates Before importing your certificate into the keystore, you should check whether the certificate vendor requires you to include any other certificates to complete the certificate chain. To import a certificate, select Tools > Import Trusted Certificate:

CHAPTER 14

Deployment Considerations 87

Locate each of the certificates (if any) provided by your CA and import them into the keystore. Importing the CA Reply certificate After installing any required root certificates, right-click the tomcat keypair and select Import CA Reply:

port the certificate using Portecls Tools > Import Trusted Certificate option, as it will not include the private key. The PKCS#12 standard specifies a keystore format that is used for transferring private keys and certificates. PKCS#12 files typically use the extension .p12 or .pfx. If you already have your private key and certificate bundled in this format, you can import it directly into Portecl. (See Importing a PKCS#12 , below.) If you do not have a PKCS#12 (.p12 or .pfx) file, you can use the OpenSSL pkcs12 command to generate one from a private key and a certificate; or, if your certificate is on a Windows server, you can export a PKCS#12 file from the Microsoft Management Console. Creating a PKCS#12 Keystore from a Private Key and a Certificate

Locate the certificate returned by your CA and import it into the keystore.
IMPORTANT If your certificate is in Base64-encoded format (*.pem and sometimes *.cer), you may get an error when importing the certificate if it contains anything besides the certificate itself. If this is the case, make a copy of the certificate that includes only the lines starting with -----BEGIN CERTIFICATE----- and ending with -----END CERTIFICATE-----.

OpenSSL provides the pkcs12 command for generating PKCS#12 files from a private key and a certificate. OpenSSL is open source and can be downloaded from http://openssl. org. The private key and certificate must be in PEM format (i.e., base64-encoded, with ----BEGIN CERTIFICATE---and ----END CERTIFICATE---- headers and footers). Use this command to create a PKCS#12 file from your private key and certificate:
openssl pkcs12 -export \

After importing your certificate reply, Portecl should report that the certificate was imported successfully. If when attempting to import the CA Reply, Portecl gives you an error that the certificate cannot be trusted, you are likely missing a root certificate. To determine which certificate you need, temporarily import your CA Reply as a Trusted Certificate, rather than a CA Reply certificate, and examine the Certificate Details. Locate the Issuer property. You will need to obtain a certificate from your CA that matches this property and then import it into Portecl as a Trusted Certificate. Once you have imported this Configuring Web Help Desk for HTTPS 9 certificate into Portecl, as well as any other certificates needed by its Issuer, you can delete your own trusted certificate and re-import it as a CA Reply to your keypair.

-in <signed_cert_filename> \ -name tomcat \

-inkey <private_key_filename> \ -out keystore.p12

If you have a chain of certificates, you should first combine the certificates into a single file and use it for the input file, as shown below. The order of certificates must be from server certificate to the CA root certificate (see RFC2246 section 7.4.2).
cat <signed_cert_filename> \ ... \

<intermediate.cert> [<intermediate2.cert>] > cert-chain.txt

Importing an existing certificate


If you have an existing certificate that you would like to use with Web Help Desk, you will need to import your private key as well as your certificate chain. It will not work to im-

openssl pkcs12 -export \ -in cert-chain.txt \ -name tomcat \ -inkey <private_key_filename> \ -out keystore.p12

CHAPTER 14

Deployment Considerations 88

You will be prompted to provide a password for the new keystore, which you will need to provide when importing the keystore into the Web Help Desk Java keystore. Exporting a PKCS#12 Keystore from Microsoft Management Console If you wish to use an existing certificate located on a Windows server, you can export it to a PKCS#12 file using the Microsoft Management Console (MMC): 1. Click Start > Run and execute the command mmc. A Microsoft Management Console window will open. Select Console > Add/Remove Snap-In. Select Add > Certificates > Add > Computer Account > Local Computer > Finish. Expand Console Root > Certificates > Personal. You should see your certificate listed. Right-click your certificate and select All Tasks > Export. Follow the Certificate Export Wizard prompts to export a Personal Information Exchange PKCS #12 (.PFX) file. Check the option to Include all certificates in the certification path if possible, and do NOT check the options to Enable strong protection and to Delete the private key if the export is successful. Take note of the location in which you save the .pfx file. You will import it into Portecl using the instructions below.

Help Desk keystore. You can inspect the certificate chain by double-clicking the certificate to view the certificate details. Use the left and right arrows at the top of the details panel to navigate through each certificate in the chain. If you do not see the full certificate chain, try importing the CA certificates first (Tools > Import Trusted Certificate), and then import your keypair again. For some reason, Portecl does not establish trust when a certificate is imported before the certificate that was used to sign it. Sequence is important. Import the root certificate first, then the next certificate in the chain, and so on, until you get to your own certificate.
IMPORTANT Your certificate must be aliased as tomcat. The password for your certificate and for the keystore itself must be the same, and must match the KEYSTORE_PASSWORD setting in <WebHelpDesk>/conf/whd.conf (changeit by default).

2. 3.

Enabling HTTP-to-HTTPS redirection


HTTP requests to Web Help Desk can be redirected use HTTPS. This is useful if you want your clients to be able to use a regular HTTP URL to connect to your help desk, but also require their connections to be secure. Redirection can be performed by the server or the browser. Generally, serverside redirection is the preferred method.
TIP If you want the security of passing login credentials through HTTPS, but wish to avoid the performance penalty of SSL once authentication is complete, you can configure Web Help Desk to use SSL for the login page only. (See Preferences > General > Server Settings > Use HTTPS.)

4.

5.

6.

Server-Side Redirection The Tomcat application server bundled with Web Help Desk supports HTTP to HTTPS redirection. With HTTPS redirection enabled, the Tomcat server will automatically switch any HTTP connection attempts to an HTTPS connection. The redirection is performed server-side, so it is inconspicuous to the user. To enable HTTP to HTTPS redirection, remove the comments around the following lines at the bottom of <WebHelpDesk>/bin/webapps/helpdesk/WEB-INF/web. xml.

Importing a PKCS#12 file into the Web Help Desk keystore Portecl provides two ways to import contents of a PKCS#12 file into the Web Help Desk Java keystore. The first method is to open the PKCS#12 keystore (File > Open Keystore File), convert it to a Java keystore (Tools > Change Keystore Type > JKS), and overwrite the existing keystore by saving it as <WebHelpDesk>/conf/keystore.jks. The second method is to open the Web Help Desk keystore file and then import the keypair containing your certificate, using Tools > Import Keypair. You will be prompted to select which keypair in your PKCS#12 keystore to import. If your keystore already contains a default, unsigned tomcat certificate, delete it before importing your PKCS#12 file. Be sure that your certificate chain is intact in the Web

CHAPTER 14

Deployment Considerations 89

<security-constraint>

<web-resource-collection>

<web-resource-name>Automatic SSL

<user-data-constraint> CONFIDENTIAL

</web-resource-collection> <transport-guarantee> </transport-guarantee>

<url-pattern>/*</url-pattern>

Forwarding</web-resource-name>

certificates in your keystore to see if any of them match your certificates Issuer attribute. If not, you will need to obtain from your CA a certificate that does match. Once you have imported a certificate that matches your own certificates issuer, as well as any other certificates needed to trust those certificates, delete your temporarily trusted certificate and re-import it as a CA Reply to your keypair. Portecl Gives an Error About My Certificate Having an Illegal Key Size, or About Needing Unlimited-Strength Jurisdiction Policy Files To add support for large SSL key sizes, you will need to download the unlimited-strength local_policy.jar and US_export_policy.jar files from Sun: http://java.sun.com/javase/downloads/index_jdk5.jsp For your convenience they are also attached to FAQ 59:
FAQ http://support.webhelpdesk.com/cgi-bin/WebObjects/Support.woa/wa/FaqActions/view?faqId=59

</security-constraint>

</user-data-constraint>

NOTE: There should not be a line break between SSL and Forwarding. Be sure that both the DEFAULT_PORT and HTTPS_PORT settings in whd.conf are provided. You will need to restart Web Help Desk for any changes to take effect. Client-Side (Browser) Redirection An alternative is to disable HTTP connections to the help desk (by commenting out the DEFAULT_PORT setting in <WebHelpDesk>/conf/whd.conf, and provide an HTTPS URL to the help desk in a page served by a web server listening to HTTP requests on port 80. You can make a web page initiate a client-side redirect to the help desk by including the following meta tag in its <head> element:
<meta http-equiv=refresh

Copy these files into your JAVA_HOME/lib/security folder. (They should replace existing files of the same names.) Defaults for WHD installations are below:
Windows: \Program Files\WebHelpdesk\bin\jre\lib\security\ Mac OS X: /Library/Java/Home/lib/security/ Linux: /usr/local/webhelpdesk/bin/jre/lib/security/

content=0;URL=https://mycompany.com:8443/ helpdesk/WebObjects/Helpdesk>

After copying these files into your Java security folder, you will need to restart Portecl. After importing My Certificate, Web Help Desk Wont Start Check your <WebHelpDesk>/conf/whd.conf file to be sure you have uncommented the SSL_PORT setting, and that your DEFAULT_PORT and HTTPS_PORT settings are not conflicting with any other processes on the server. Also be sure that your KEYSTORE_PASSWORD setting in whd.conf matches BOTH the password of your keystore AND the password of your keypair (by default, this password is changeit). Finally, be sure that your keypair is aliased as tomcat.

NOTE: There should not be a line break in the URL.

Troubleshooting
Portecl Says My CA Reply Certificate Cannot Be Trusted Your certificate has been signed by an Issuer that Portecl does not trust. You must obtain a root certificate (or chain of certificates) from your CA that match the Issuer identity of your certificate, and import them into Portecl before importing your own certificate as a CA Reply. You can determine the Issuer of your CA Reply by temporarily importing your certificate into Portecl as a Trusted Certificate rather than a CA Reply, and then examining its Certificate Details. Look at the Certificate Details of other

CHAPTER 14

Deployment Considerations 90

After Importing My Certificate, Web Help Desk Starts Okay But My Browser Shows a Self-Signed Certificate Check that you are saving your Portecl keystore to <WebHelpDesk>/conf/keystore.jks. Web Help Desk starts okay, but when I connect I get blank pages or page-not-found error Check whether your private key was generated using the DSA algorithm. DSA keys are known to fail with many browsers, including Internet Explorer. Try using RSA instead. Running in debug mode You may be able to get additional information about the error by running Web Help Desk in debug mode from the command line:
<WebHelpDesk>/whd stop <WebHelpDesk>/whd debug

Where <WebHelpDesk> is the path to your Web Help Desk program folder.

You might also like