Sunday, 21 August 2011

Installing and Configuring Liberum Help Desk with your active directory setup

We were evaluating many helpdesk applications for past few days. We wanted some helpdesk which can be easily integrated with our active directory, which has a knowledge base, easy to use and importantly it is free/open source. Liberum is one such application which matches some of our requirements (not all, sadly we have to write our own application if we want to fulfill all our requirements). It is an open source help desk solution which provides easy web based interface for managing and tracking technical support problems. It has a built-in searchable knowledge base also which is useful for future reference. This application is written in ASP and needs Microsoft IIS web server and Microsoft Access or SQL Server as database. It can be downloaded from the following link:
In this document I will show how to install liberum in IIS 7 and MS SQL server 2008. It’s very simple and easy. Actually I could not find any official documentation of Liberum, whatever I could gather from readme file, forums and my experience are written here.
  • Download latest stable version of liberum (I had downloaded the file).
  • Extract it to some folder and copy the content of the www folder into some location(say in C:\inetpub\wwwroot\helpdesk)
  • Open IIS Manager and create a new Application Pool for this application.
    I have created one with name liberum, select .NET Framework version as No Managed Code and Managed pipeline mode as Classic.

  •  Create a website for this application. Select the Application Pool as the application pool we just created in the last step.

  • Go to the web site and double-click on ASP to open the ASP properties:

  •  Set Enable Parent Paths to True:

  • Now I will setup the database for this application. The extracted folder of the application’s zip file contains a folder named db. This folder contains helpdesk.sql file to create the database for this application. Change the path of the mdf and ldf files in this script to the desired location (the script contains path as FILENAME = ‘c:\mssql\data\helpdesk.mdf’ and FILENAME = ‘c:\mssql\data\helpdesk_log.ldf’). Connect to the database and execute the script to create the database and tables for this application. liberum supports four database connection types:
    1) SQL Server with SQL security
    2) SQL Server with integrated security
    3) Access Database
    4) DSN (An ODBC DataSource)
    I am going to use the 1st option, i.e. SQL Server with SQL security
    Open the settings.asp file contained in the application’s root folder and do the following modifications:
    Application(”DBType”) = 1


    ‘============ SQL SETTINGS ==============

    Application(”SQLServer”) = “SQL server hostname/IP”    ’ Server name (don’t put the leading \\)

    Application(”SQLDBase”) = “HelpDesk”    ’ Database name

    Application(”SQLUser”) = “SQL Server username”    ’ Account to log into the SQL server with

    Application(”SQLPass”) = “Password”        ’ Password for account

  • Browse the setup.asp page of this application in a browser. This page is located in the root of the application. (e.g. http://localhost/setup.asp). Click on the Install/Upgrade Language Strings button to install the translated language strings into the database.

  • Browse to the admin directory of the application (e.g. http://localhost/admin). Login to the site using default password admin.

  • Go to the link Configure Site

  • Different configuration options are available here. You can refer the Help link to know about each option.
    The default option for E-mail Type is Collaborative Data Objects for NT Server (CDONTS), but problem with it is that it can only use the IIS SMTP Service (or Exchange) that is installed locally on the web server. In my case SMTP server was on a different server. So I used the ASPEmail option. For that we have to download and install the aspemail executable file from . The AspEmail setup file is 30 days trial version. But we can use it as AspEmail’s basic functionality is free. If we want to use AspEmail’s premium features like Message queuing, SMTP Authentication, Unicode support, embedded images and multipart/alternative support then we must purchase a registration key.

  • Next we want to integrate this application with our Active Directory, so that one user can use this application using his/her active directory authentication. For that select Authentication Type as NT Authentication in Configure Site page. Also in IIS Manager go to the Authentication option for the website we created for this application.

  •  Disable Anonymous Authentication and Enable Windows Authentication.

  • Now our installation part is over. We are going to use Liberum now. Liberum has two different types of user. One is Representative and the other is User. User can OPEN a call and that call is assigned to some representative. The representative resolves the problem and CLOSE the call.
  • The users can open the application by browsing the root directory of the application. Suppose my application is installed in the server named vss and as a default website, then it can be accessed by http://vss
    When one user accesses the site for the first time, he/she will see registration screen (the user will not be asked for username and password, he/she will be authenticated from active directory):

  • When a user registers he/she becomes a normal user. To assign a normal user representative privilege, login to the admin console and go to Manage Users
  • Select the user and click Edit User Account

  • In the Support Rep area, tick the Enable checkbox and give the appropriate Access Level.
    The different access levels available as a Support Representative are:
    Normal: Has access to all representative functionalities. This includes managing tasks for other representatives also.
    Restricted: Allows full access to representative’s own queue only.
    Read Only: Allows read-only access of all queues.

  • Once the support representatives are created, we can create different support categories and assign representatives to each support category.
    To create/edit categories login to admin console and go to the link Manage Categories. Enter the new category name and assign a support representative for that category.

The limitation of Liberum is that to a category we can assign only one support representative. So all the calls related to that category will go that that Support representative.
But in our case, we have multiple engineers who supports for same category. To resolve this limitation, I did the following trick:
A) Create a group mailbox and assign each support engineer’s mail ID to this group mailbox or create a mailbox and configure outlook of all the engineers to receive mails for this mailbox. Create a support representative (e.g. helpdesk) account and assign that mail id to this account.
B) Create the categories and assign the categories that need to be shared into the account created in the previous step.
C) When a request comes in that category, the email goes to all the people. So any support representative who takes the request, assign the call to his/her name, resolves the problem, updates the status and closes the call.

Now see how this application works.

Scenario: Suppose we have three support representatives Pranab, Manish and Vaibhav. We have a dummy user account named helpdesk which is assigned to give support to categories like Operating System, Application Software, Hardware, Outlook etc. All the three support engineers Pranab, Manish and Vaibhav have configured their outlook to receive emails for the dummy user helpdesk. We have an end user named Sudipto who will OPEN a support call.
Step1: Sudipto needs Skype messenger in his computer so that he can communicate with one of his client. He will open the helpdesk site http://vss and go to the link Submit New Problem

He will select Application Software from the category list and write about his requirement. Then he submits his requirement by clicking Submit Problem button.

Once submitted he will get a problem ID (ticket number) for future reference.

Also he will get an email from helpdesk system about his problem.

Step2: The category Application Software is assigned to the dummy support representative named helpdesk. So the mail from helpdesk application will go the Email ID of the dummy user helpdesk. As our three support representatives Pranab, Manish and Vaibhav have configured the Email ID of the dummy user helpdesk into their outlook, so they will receive the email about the problem submitted by Sudipto.

Step3: Suppose our support representative Pranab is free at that time, so he wants to attend the call. He opened the link he received in mail from helpdesk application (http://vss/rep/view.asp?id=8).

He clicked the Title of the problem to open the details of the problem. He will find the details of the call, as he is attending the call so he assigned it to his name.

Step4: Pranab installed Skype in Sudipto’s computer and entered the Solution for the call. Also Pranab ticked the Enter in Knowledge Base checkbox so that this problem is registered in the knowledge base. He saved the solution and changed the status of the call as CLOSED.

So the problem is solved and it is closed now.

Step5: Sudipto will receive an E-mail that problem has been closed.

 This completes the process :) .

জয় আই অসম,
প্রণব শর্মা