Monday, March 29, 2010
var State_code="<< State Code Goes Here >
This will ensure that people of the specified region are unable to view Queue link.
var clientSystemDate=calcTime('+10.5'); //specify GMT offset
var chatStartTime=setcalcTime('+10.5','9'); //specify working hours start time
var chatEndTime=setcalcTime('+10.5','18'); //specify working hours end time
Customer Account Number
Customer Business Name
Customer State Code
Customer Phone Number
Page customizations for passing through the attributes are as follows:
Once these functions are called value of associated attributes will be passed to IQM engine which will then pass it along to Queue experts.
Friday, March 26, 2010
Measurements and Reporting
The Measurements and Reporting system provides managers and decision makers with information on queue load, expert activity, and a variety of other useful system snapshots.
A video of the measurements and reporting system should provide a visual display of the component.
Thursday, March 25, 2010
Definitions of terms (good for navigating class names in the Jumpstart codebase):
“Bot”: A process which runs as a thread and fields messages for a particular Application. For-instance, an Interview Bot might be logged in under Sametime and XMPP usernames, and will field all messages for a particular instance of the Interview application (a given Navigator tree). Bots typically receive user input from the firing of their “TextReceived” method.
“Session”: A process which also runs as a thread and fields messages from a particular user in a particular application. The application logic is usually not in the bot class (except for very simple one trick pony bots.). When a bot receives a message, it will look in a table it keeps of users it has seen before, and if there is already a session for that user, it will dispatch the message to that session. If not, it will spin up a new session and start it in a new thread.
So there is a one -to-many relationship between Bots and Sessions.
Bots are very tied to the IM-style interface, in that they get their input from the firing of TextReceived, which happens when they register with one or more IM services (Sametime, Facebook, etc).
A design goal of the framework was to have applications and services be re-usable in a wide variety of contexts. One possible way Bots could have communicated with Sessions is by firing a TextReceived message in the session. TextReceived is great for the IM world, but it is limited in the data that is passed. It is not a great method for communicating between modules. For-instance, It would be nice to send an arbitrary object along with a message, containing links to conversation history, etc. To get low overhead with max flexibility, messages are dispatched from Bots to Session via the ITQueue interface. So when a Bot receives a message, it puts in on the ITQueue of the appropriate Session, or creates a new Session and associated Queue if it is a new visitor.
The run loop of the Session thread simply pulls messages off the queue. Because the Session was passed the MsgServices used by the Bot on startup, it can send responses to the user directly. When the user responds, the message will flow through the bot and back to the appropriate session.
Sessions and Bots can be mixed in matched in terms of being in Groovy or Java. A new Interview Bot could be written in Groovy, but dispatch messages to the existing Java-based InterviewSession. A queue bot could be written in Java, but dispatch to a QueueSession class written in Groovy. One of the keys to maintaining this flexibility is to have bots in either Groovy or Java extend MultiService Bot and sessions extend MultiServiceSession.
You don't “have” to adhere to the above architecture, you can write a Bot in Groovy or Java to do whatever you want, and use the Jumpstart classes as support classes.. But you will get more proven code under the hood, more monitoring and logging “for free” in the future and a more maintainable system if you follow the above approach in creating new applications.
This section provides some background design notes on the development of the Instant Abstraction Layer. This area is primarily focused on developers who may wish/need to integrate with, or extend, the Queue Manager application.
Instant Queue Manager is the first application from Instant Technologies to be developed using the Instant IM abstraction layer. This abstraction layer provides a Java based API to develop IM applications against the three most popular enterprise IM platforms: Lotus Sametime, Microsoft OCS, and XMPP based systems.
Most of the major components within Instant Queue Manager v4 have been developed using the Instant IM abstraction layer (API). This API is also exposed to Groovy and, where possible, components have been developed using Groovy.
- Groovy Integration
- Developing Basic Bots
- Groovy Based Bots
- Design Notes and Documents
Interviews are a cornerstone of the Queue Manager V4 framework. Interviews provide a mechanism to prompt an IM user to answer a set of questions prior to moving the user to a queue, expert, or other self help tools. Interviews are IM based decision support 'trees' where each node has an available action. These actions may:
- Move the user (seeker) to a queue
- Move the user (seeker) to a specific person
- Display a custom URL
- Move the user (seeker) to another interview
- Move the user to custom code that may ask additional questions or provide additional information
- Creating an interview
- Importing an existing interview
- Associating an interview with an IM entry point
- Using an interview
- Extending an interview with custom code
The following are the high level areas:
Create and Deploy an InterviewerWritten by James M. Blocker Jr
Copyright © 2010 Instant Technologies
What You Will Need
A Queue Manager Account – for access to the Queue Manager
2 Lotus Sametime User Accounts –
One for the user, the other for the Interviewer's Entry PointMake sure you have the user name, password, and server information available, These accounts will need to be created by an administrator that can register new users with Lotus Notes address book
Go to the website where Queue Manager is located and use your account information to gain access to the website. Generally, this is the first thing the website will show you.
Step 2: Make a new Entry Point
Click on the “Admin” tab on the top menu. (Red Box)
Click on the “Entry Points” tab in the sub menu. (Red Box)
Click on the New IM Entry Point Link. (Red Box)
Input a name that will be unique to this Entry point. (Blue Box)
Optional: add a description and define a type.
Click on the “Platforms” dialog tab. (Red Box)
Click on the “Sametime” check-box. (Blue Box)
Fill in the blanks with the Interviewer's Sametime User Account information
It is very important that this information is correct, otherwise this Entry Point will never go online.
When everything is correct, click on “Save & Close” . (Red Box)
Click on the New Interview Link. (Red Box)
Input a name that will be unique to this Interview. (Blue Box)Optional: add a description and define a type.
Click on the Image next to IM Entry Point text box to select an existing Entry Point (Red Box)
Find the Entry Point(Blue Box) that was made in Step 2
Select OK (Red Box) and return the the "Edit Interview Dialog" Window
Click on the “Definition” tab (Red Box)
Select the “Welcome” Node Check-box (Blue Box) and click on the “Add Node” Button(Red Box)
Input a Unique Name for this Node for this Interview. (Blue Box) This name is used only to identify it in the Node Tree in the Interview Dialog Box under the “Definition” Tab
Input “My first Interview” in the Menu Text box (Green Box)
Click on the Action Type Combo Box (Red Box)
Select “Display help text” (Red Box)
Input “Hello World” in the Text to return when this item is selected field (Blue Box)
Click the “Add” button (Red Box)
Double-check that everything is correct When everything is correct, click on “Save & Close” . (Red Box)
Step 4: Deploying the New Interview
Click on the “Control Panel” link (Red Box)
Do you remember the User-name that you gave the Entry Point you created? That is what you will be looking for in this table.
Search for the Entry Point's User-name in the Application List. If it is not listed, it has not been started. Click on the “Rescan” button (Red Box) for the server to search for new Interviews. If all the information is correct, the new Interview will go online using the account defined by the Entry Point.
You may have to wait a few moments for the server to find and start everything, but it will show up if everything has been correctly input.
Alternately, you can use the Sametime Buddy List to see if the Interview is online or not. If it is online, You will see that the User is online.
Note – If you are currently logged in as the user that the Entry Point is trying to use, the Bot will never go online. You will have to use an alternate account to monitor it's online status.
Step 5: Interacting with the new InterviewLog in to a Sametime account that runs on the same server as the account used to define the Entry Point in step 2
If you have not added the Entry Point's account to your current account's buddy list, go ahead and add them.
Start a conversation with the account the Interview should be running on and it should automatically welcome you like this
Reply to the Interview by sending it the text “1” to select that menu option
This is what it should reply with.
Congratulations! You have just made your first interview!
Monday, March 15, 2010
1. What is the basic size of the DB without any data?
The size of a blank 'Instant IMtegrity 4 Chat Logs' database is 1.6 MB
IMtegrity conversations sizing estimation:
2. For a 100 line conversation, what is the size of the Notes record?
The size of a chat archive archive document that consists of around 100 lines averaging around 90 characters per line is around 25 KB
3. For 100 conversations (averaging 100 lines) what is the size?
The size of 100 chat archive documents each consisting of around 100 lines averaging around 90 characters per line is: 25KB X 100 = 2500KB i.e 2.44 MB
4. What is the basic size of the database for 6 months of data (1000 users, 10 conversations per day)?25KB X 10000 = 250000KB i.e 244MB is the size for 1000 users with 10 conversations per day
Friday, March 12, 2010
"Installation Incomplete - The installer was interrupted before
could be installed. You need to restart the installer to try again".
Try adding the IIS 6 Management Compatibility Role Service and then run the installation file.
Wednesday, March 10, 2010
This can happen if the site hosting iFrame is on a different domain then the server hosting the Instant Web Client.
For example if the web client (web application) is running on webclient.yourDomain.com then the iFrame can be successfully hosted on any sub domain (*.yourDomain.com) like: chat.yourDomain.com
However if iFrame is hosted on a different domain like: chat.otherDomain.com then it won’t work. Cause of the issue: Safari does not allow making cross domain AJAX calls.
Monday, March 1, 2010
2. Copy the tab.xml, tab.png and tab1.png from the“Itimarchiveviews” folder and paste in the newly created “CustomTab” folder. This folder can be found in “c:\inetpubs\wwwroot”.
3. Open the IIS and right click on Default web site:
And click on “add application”, the following window will be opened:
Type any alias name, For example: “Tabxml”. For the physical path, select the folder that you had created earlier, “CustomTab”. Give the path of this folder. Click on “connect as” and give the user name and password.
4. Now select the TabXml From IIS, and right click on it and click on “switch to feature view”, you will see the following screen:
5. Double click on authentication and enable “Anonymous Authentication”, from the right panel.
6. Open the folder “customTab” and open the tab.xml file and replace the “localhost” with the IP or domain name. Example below:
Also make sure you can access the URL the tab.xml file and the tab.png image in a browser. If so, close this file.
7. Navigate to the “ ITIMArhiveviews” folder located in the “c:\inetpubs\wwwroot” directory. 8. Right click on the file “tab.reg” and select edit:
For example: "TabURL"=http://mydomain/tabxml/Tab.xml
Note: make sure this URL can be accessed from a browser.
8. Close this file and double click on this tab.reg file to create a registry on this machine and repeat or deploy tab.reg to all desired workstations with communicator installed.
9. Log out from the communicator and login, you will find the custom tab enabled:
Note: You may need to include the tab.xml in your trusted sites or intranet by choosing Tools> Internet options>Security within your browser settings.