Customer Service Sample Application

This document describes the Customer Service sample application provided with the Lotus eSuite DevPack. The document is divided into the following sections:

Introduction

In the Customer Service sample application, customers submit requests -- for services or information -- in Domino database forms, which are then processed by a representative (or "rep"). This sample application demonstrates the following basic steps:

  1. A customer submits a request in the Domino database.

  2. A rep processing the request selects a reply template, which is a presupplied document formatted with company letterhead, contact information, etc., that represents a standard reply issued by the organization. After a template is selected, it is displayed in the eSuite word processor applet, and information from the original request -- first and last name, e-mail address, and problem description -- is automatically merged into the template.

  3. The rep can then use the editing capabilities of the eSuite word processor to add response text.

  4. When the rep saves the completed reply, the eSuite word processor document is saved in HTML format to the Domino database.

  5. The final step in the process -- although not implemented in the sample -- would be for an agent or similar automated process to send the composed HTML reply back to the original requestor via e-mail. The diagram below shows the sequence of events:


Application design topics covered

The Customer Service application illustrates the following eSuite application design topics:


The Customer Service application pieces

The following applets and additional functional pieces make up the Customer Service application.

Requirements


Installing and running the Customer Service application

Follow these steps to install the Customer Service application on your Domino server.

Note: There is no stand-alone version of this sample application; installation on a Domino server is required in order to use the Customer Service sample functions.

  1. Copy the CustomerService.ntf (database template) file from the eSuiteDPP\samples\customerservice directory to the Notes data directory on the Domino server. For example:

    copy customerservice.ntf c:\notes\data

  2. Create a new database, using the File - Database - New command. For the template, select "Customer Service Example" (CustomerService.ntf). You must name the new database CustomerService.nsf.

  3. Open the new database. Select the Agents view. Two agents are shown: RequestActionAgent and RequestOpenAgent. For each of these, open the agent and issue the File - Save command. This will save the agent with the signature of the Domino server ID, which is required for Domino to execute the agent in response to a web request.

  4. The eSuite DevPack Preview files must be installed to a suitable directory, accessible from the root HTML directory of the Domino server. See the Installation and Configuration Reference for details on installing the eSuite DevPack Preview files. Note: For installations on a server, the default install directory eSuiteDPP must not be changed. This directory name is coded into the RequestOpenAgent agent in CustomerService.nsf where the variables "codebase" and "serverbase" are set up.

  5. Users may access the installed sample application by using their browser to open the file CustomerService.nsf on the Domino server. For example, if your server were "myserver", the required URL would be:

    http://myserver/CustomerService.nsf
  6. The first screen shown is the WebNav navigator of CustomerService.nsf. Click on "Enter a Request" and fill out a request. Next, click on "Process Requests" from the navigator to see the new request. Click on that request to get to the ProcessRequest form of CustomerService.nsf. View the source of this page to see the HTML which uses eSuite (explained in the next section).


Coding the Customer Service application

The eSuite word processor applet is contained via a pass-through HTML <APPLET> tag in a Domino form named ProcessRequest, which the rep uses to process a customer request. This form contains a selection box to allow the rep to select a reply template, such as thankyou.html. A JavaScript function named doSelect() handles the rep's selection of a reply template and merges the request data (names, address, email address, and subject) into the word processor document that is based on the selected template.

To do the merge, the doSelect() function assembles the request data into an InfoBusVector object, publishes it as an InfoBus data item using the ScriptHelper applet, and passes the data item name as an argument to the word processor's mergeFirstRecordFromInfoBus method.

After the reply template is selected and the request data is merged into the reply document, the Save/Return button may be pressed. A JavaScript function named doSave() posts the Domino form and saves the completed reply to the database.


Files included

The following table describes the files included with the Customer Service application:
File Description
CustomerService.ntf Domino database template for application database
thankyou.html
answer.html
needinfo.html
inforeq.html
passwincl.html
Reply document templates
success.gif Image file