Documente Academic
Documente Profesional
Documente Cultură
Introduction
Database MySQL/MsSQL
Editor NetBeans
Web
Web Server
DB
Browser
By Default ports:
Web Browser: The ArcMentor GUI is best viewed on Internet Explorer 6.0
Requirements:
Name: ims
MySQL Commands:
mysql> grant all privileges on ims.* to ' USERNAME '@ ‘IP-ADDRESS' identified by
'PASSWORD';
Deployment of Web Interface
Note: To deploy web interface (GUI) on Web Server we need to create war file
Steps:
Go to Command prompt < go to the directory of your web application where all
your jsp pages are present.
e.g.: 1. C:\PIM\Public IM
Press Enter
Steps:
Start Menu < Programs < Apache Tomcat < Monitor Tomcat < right click
on the small icon of Apache Tomcat on the status bar < Start Services.
Steps:
Right Click on My Computers < Manages < Services Applications < Services <
right click on sun one web Server < start.
Type the URL on the browser “http://IP-Address:8888” Open console for sun one
web server6.1
Go to -- manage button -> virtual server class -> click on hyperlink -> web
Application -> browse path for war file -> Apply button ->Apply changes.
IM Status.jsp
Login Command
Administration.jsp
Admin Manage
Command
Users.jsp
User Manager
Command
Arcmentor
AuditMessaging.js
p Controller Audit Message
Command
(Servlet)
Knowledge.jsp DBConnection
Report.jsp
Advanced.jsp DB
Here ArcmentorController is the main controller which redirects all the JSP pages to
servlets where actual processing is done and after executing process it sends response
back to view.
Features:
Login Screen
Status page
Administrator
o Add Admin
o Admin Management
o Change Password
o Keyword Notification
Audit Messaging
o Current Session
o Past Session
o Session Audit
Knowledge Management
o Retrieve Expertise
o Keyword Search
o File Search
Reports
o Traffic Monitor
Daily
Weekly
Monthly
Custom
o User Monitor
Daily
Weekly
Monthly
Custom
Advanced
o Archive Backup/Restore
o Archive Settings
o Clustering
o Report Settings
o Database Settings
o Licensing
Logout
Logical Flow
Login Page
Function:
The first screen, where the admin logs in. The user can select the
display language as English or Chinese by selecting the appropriate
option in the drop combo box.
Grid shows the status of Primary database, Secondary Database,
Clustering and Current Reporting Database.
JSP Page:
index.jsp
Servlet:
ArcmentorController, LoginCommand
Flow:
Database Tables:
users, cluster_sys_info
Working:
When admin enters userid/password and press Login button the request goes from
‘index.jsp’ page to ‘ArcmentorController’ where caller will be ‘index’
Where it sets language as selected in combo box i.e. English/Chinese.
request.setAttribute("LANGNO",Integer.toString(combsel));
Locale lang = new Locale (Language,Country);
ses.setAttribute("lang",lang);
The request is then send to the ‘LoginCommand’ where it checks for the userid and
password entered is valid or not
Query:
if there will be such userid and password in the table ‘users’ then the ‘status.jsp’ page will
gets open. If userid and password will be invalid then ‘Error.jsp’ page will gets open.
If the userid and password will be valid then object ‘user’ with value as ‘valid’ gets created
on the server and remains there , if any process will not take place within 30 minutes then
the object gets destroyed from the server and login pages displays.
session = request.getSession(true);
session.putValue("user", "valid");
In Tomcat server time is set to 30 minutes, if the some execution is not happening then
after 30 minutes session will expired.
<session-config>
<session-timeout>30</session-timeout>
</session-config>
If connection is made for Primary Database as user name and password is provided in
Arcmentor.ini file then it will show status as ‘ON’ else ‘OFF’.
If connection is made for Secondary database as user name and password is provided in
Arcmentor.ini file for secondary db then status will be ‘ON’ else ‘OFF’.
On index.jsp page it checks for clustering, if there will be two entries in the table
‘cluster_sys_info’ then status for clustering will be ‘ON’.
Status Page
Function:
After the successful login, the first screen that comes up shows the IM
status. It shows Graphical and Tabular format of total number of
Messages and Sessions.
Tabular:
It shows the Total number of Messages, Sessions, User Accounts, Byte
Transmitted, User Logged on,Clustering,Secondary Database,Cutternt
Reporting Database and Database Size of current hour, current day and
total count.
Graphical:
First graph shows the total number of Messages and Session of each hour of
current day.
Second graph shows the total number of Messages and Session of each day
of current month.
JSP Pages:
Status.jsp, StatusGraphs.jsp
Servlets:
VbarchartServlet, VbarchartApplet.class
Library:
Vbarchart.jar, PngEncoder.jar
Flow:
If the userid ad password entries in the login page are correct then first
page displayed will be status page.
Database Tables:
Working:
First it reads Arcmentor.ini file to make connection with the MySQL Database. Once
the database gets connected, it queries to the db for count of total no. of
Messages, Sessions etc.
Applet:
If the browser is not Java enabled then applet cannot be generated and
instead of graph link will be displayed. Onclick link the request goes to
StatusGraphs.jsp page.
VbarchartServlet.class: This is third party class file only little changes are
made in this file, logic to generate image graph is not changed at all.
Function:
This feature allows adding new admin. The administrators thus added
can log on to the Arcmentor Interface. However, only those Admin’s
who are active are able to log in.
JSP Pages:
AddAdmin.jsp
Servlet:
ArcmentorController, AdminManageCommand
Flows:
Database Table:
users
Working:
When the user enters values for text boxes Admin Id, Password, First
Name, Last Name cell no. and click on Submit button then request is
redirected to the ‘ArcmentorController’ where caller will be ‘AddAdmin’.
From there the request goes to the AdminManageCommand.
Function:
The Admin Management menu under the Administrator tab allows the user
to edit or delete the Administrators
JSP Page:
AdminManage.jsp
Servlet:
ArcmentorController, AdminManageCommand
Database Table:
users
Flow:
Working:
Query:
On Click on the Edit link, the above screen appears, caller will be
‘AdminManageEdit’ and request goes to the ‘doChange()’ function of the
AdminManageCommand. where query will be execute as
Query:
Delete:
On Click on the Edit link the caller will be ‘AdminManageDelete’ and request
goes to the ‘doChange()’ function of the AdminManageCommand.
Where query will be execute as
Query:
Change Password
Function:
The Change Password allows the user who is currently logged in to change his own
password.
JSP Page:
ChangePassword.jsp
Servlet:
ArcmentorController, AdminManageCommand
Database Table:
users
Flow:
Working:
When user enters old and new password and click on submit button then
request goes to the ArcmentorController where caller will be
‘ChangePassword’ then request is redirected to the ‘doEditPass()’ function of
the AdminManageCommand.
Query:
Function:
The Keyword Notification screen allows the user to add keyword. A keyword is any
word, which when used by any user during his chat session will cause an email alert
to be sent to the email addresses of the administrators whose email addresses are
added.
JSP Page:
CustomKeywords.jsp
Servlet:
ArcmentorController, AdminManageCommand
Database Table:
keywords
Flow:
Working:
When user enters keywords and Email id’s click on Insert button then
request goes to the ArcmentorController where caller will be
‘KeywordsShow’ then request is redirected to the ‘doKeyShow()’ function of
the AdminManageCommand.
In AdminManageCommand depend on the caller
(update/insert/show/delete/edit/insertupdate/submit) the Attribute is set.
Then this attribute and Resultset is redirected on the CustomKeywords.jsp
page.
When we click on the edit link the request goes to the ArcmentorController
where caller will be ‘KeywordsEdit’ it calls the ‘doKeyChange()’ function of
AdminManageCommand. Where Query will execute will be:
Query
Delete
When we click on the edit link the request goes to the ArcmentorController
where caller will be ‘KeywordsDelete’ it calls the ‘doKeyChange()’ function
of AdminManageCommand. Where Query will execute will be:
Query
Current Session
Function:
The Current Session menu under Audit Messaging allows seeing the current chat
sessions of the users who are currently logged in.
If the keyword is selected and the User is deselected, it will show the chat only
those chat sessions in which that keyword is used.
If both User and keyword are selected, it will show only those chat session of that
user in which the keyword is used.
JSP Page:
Current.jsp, CurrentAuditResults.jsp
Servlet:
No Servlets
Database Table:
messages,sessioninfo
Flow:
Working:
When admin selects user on Current.jsp and clicks on search button then
request goes to the CurrentAuditResults.jsp where it gets the value of the
combo box and whichCriteria to be execute. Then get the connection from
the database and execute the query.
select DISTINCT
MESSAGES.SESSIONID,MESSAGES.FROMID,MESSAGES.TOID,MESSAGE
S.STARTDATE,MESSAGES.STARTTIME,MESSAGE from
MESSAGES,SESSIONINFO where
MESSAGES.SESSIONID=SESSIONINFO.SESSIONID and
(MESSAGES.FROMID='"+cmbsingle+"' OR
MESSAGES.TOID='"+cmbsingle+"') and MESSAGES.STARTDATE=now()
GROUP BY MESSAGES.SESSIONID order by MESSAGES.STARTTIME desc
if admin selects both the user and the keyword on Current.jsp then the
query will be
select DISTINCT
MESSAGES.SESSIONID,MESSAGES.FROMID,MESSAGES.TOID,MESSAGE
S.STARTDATE,MESSAGES.STARTTIME,MESSAGES.MESSAGE from
MESSAGES,SESSIONINFO where (MESSAGES.SESSIONID =
SESSIONINFO.SESSIONID) and (MESSAGES.FROMID='"+cmbsingle+"')
and Instr(MESSAGES.MESSAGE,'"+keyword+"') > 0 GROUP BY
MESSAGES.SESSIONID order by MESSAGES.STARTTIME desc
if admin selects only the keyword on Current.jsp then the query will be
select DISTINCT
MESSAGES.SESSIONID,MESSAGES.FROMID,MESSAGES.TOID,MESSAGE
S.STARTDATE,MESSAGES.STARTTIME,MESSAGES.MESSAGE from
MESSAGES,SESSIONINFO where (MESSAGES.SESSIONID =
SESSIONINFO.SESSIONID) and
Instr(MESSAGES.MESSAGE,'"+keyword+"') > 0 GROUP BY
MESSAGES.SESSIONID order by MESSAGES.STARTTIME desc
Past Session
Function:
The Past Session menu under Audit Messaging allows seeing the all past chat
sessions of the users by selecting different criteria’s like date, time
,users,keywords,sessionid or combinations.
JSP Page:
Servlet:
ArcmentorController, AuditMessagCommand, DBConnection
Database Table:
messages
Flow:
When user clicks on ‘Search’ button the JavaScript function is called where
query is set for each criterion. Selected criteria sets query String into
hidden variable and submitted to ‘ArcmentorController’ where caller is
‘PastAuditShow’ and again from there request is redirected to
‘AuditMessageCommand‘.
Note: If there will be more then 40 records in the database then TIMELINE
BAR will be displayed with 10 records on each page.
Timeline Bar:
function microsoftMouseMove()
{
document.form.x.valu=e.ScreenX;
document.form.y.valu=e.ScreenY;
}
x value get transferred to the servlet(position from the left end of the
screen)
length of the bar is 570
X-222=a
570-a= absolute position of the bar.
avg= (570/total_rec)*40
rec_no. = x pos * tot_rec / 57 ----- this gives the position where mouse
clicked.
If users select Specific Search where search on the bases of ‘Sessionid’ then
the flow will be
Function:
The Session Audit menu under the Audit Messaging tab allows the admin to
view sessions with details like sessionId, startdate, starttime, and users in
session and total message count and also shows the messages are audited or
not. By clicking on particular sessionid admin can view details of that session
with fromid, message sent time messages and allows admin to add comments
for selected sessionid. Other admin can also add comments for the same
sessionid but cannot change the comment added by other admin. The
sessions which got audited will be shown checked in the Audited field of the
session audit page.
JSP Page:
AuditSession.jsp, ShowSession.jsp
Servlet:
Database Table:
Messages, audit_details
Flow:
When the user clicks on the Session Audit tab from the menu the request
first goes to the ‘ArcmentorController’ where caller will be ‘ShowAuditSess’
from where it calls the ‘SessAudit()’ method of ‘SessLog’ servlet .
First time caller will be ‘ShowAuditSess’, if sessions are more then 40 in the
database then timeline bar will be displayed. (Logic for time line bar will be
same as for Past Session).
On clicking left of the timeline bar caller will be ‘Sessiondown’ and clicking
on right of the timeline bar caller will be ‘Sessionup’ . And on clicking on the
middle of the timeline bar caller will be ‘Sessiontick’.
There will be 5 cases in each conditions for because 5 different criteria’s are
there to see the sessions i.e. for all, userid, Date, time and severity. Query
for condition ‘useid’ as shown below:
Query:
"select DISTINCT
SESSIONID,STARTDATE,STARTTIME,FROMID,AUDITED,count(*) from
MESSAGES where ((FROMID like '"+Pattern_val+"') or (TOID like
'"+Pattern_val+"'))group by SESSIONID order by STARTDATE desc
,STARTTIME desc"
It shows the Session details and allows admin to audit the session. There
are 3 buttons on the page i.e. ‘Back’,’Audit’,’Email This Session’.
On clicking ‘Back’ the ‘ShowSession.jsp’ page gets close. The function
written in JavaScript named ‘funClose()’.
Current admin name (Audit by), current Date(Audit Date) and time (Audit
Time) are displayed.
session.setAttribute("AdminUser",adminid);
adid=(String) session.getAttribute("AdminUser");
Query:
"insert into
AUDIT_DETAILS(SESSION_ID,SESSION_AUDITOR,AUDIT_DATE,AUDIT_
TIME,SESSION_LVL,COMMENTS)
values('"+sessionid+"','"+Aid+"','"+Adate+"','"+Atime+"','"+
Slvl+"','"+cmt+"')"
Retrieve Expertise
Function:
The Retrieve Expertise menu under the Knowledge Management allows the
user to see the percentile usage of a keyword by different users as shown
below. The maximum user of a keyword is taken as the basis (i.e. 100 %)
and then the percentage is given to other users depending on the no of
times they have used the keyword.
JSP Page:
KeywordExpertise.jsp, ExpertiseResults.jsp
Servlet:
No Servlets
Database Table:
messages
Flow:
Working:
Query:
File Search
Function:
The File Search menu under the Knowledge Management allows admin to
search the details of the particular session in which the transfer of the
entered file name has been done. Details show the session Id, start date,
and start time, from Id and file detail. File search can be done by entering
initials of the file name or *.*
JSP Page:
Servlet:
No Servlet
Database Table:
messages
Flow:
Working:
When user clicks on ‘File Search’ tab of the menu then ‘FileSeach.jsp’
Page gets loaded. File search can be done by inserting initial of the file of
*.* and also by selecting users.
If user selects only file name then criteria is set as ‘0’,if user selects file
name with users then criteria will set as ‘1’
That criteria is passed to the ‘FileResult.jsp’ page and depend on the criteria
the query is executed as:
"select * from MESSAGES where MESSAGE like '"+filename+"' order by
STARTDATE desc, STARTTIME desc "
Or
“<a href="/Arcmentor/Filehyperlink.jsp?filename=<%=s9%>"
target='_self'>”
Keyword Search
Function:
Keyword Search is tab under Knowledge Management menu. This allows
admin to search the sessions in which particular keyword is used. When
admin enters keyword and submit it then those session details will be
displayed in which that keyword is used.
JSP Page:
Keywordsearch.jsp, KeywordResult.jsp
Servlet:
No Servlet
Database Table:
messages
Flow:
Working:
Query:
"select DISTINCT
SESSIONID,FROMID,TOID,STARTDATE,STARTTIME,IMTYPE from
MESSAGES where instr(message,'"+ parameter+"')>0 GROUP BY
SESSIONID order by STARTDATE desc,STARTTIME desc"
Traffic Monitor
There are 4 sub menus under ‘Traffic Monitor’. Daily, Monthly, Weekly and Custom.
Function:
In Daily report admin can select the date, the graph display will be hours versus
messages, it will display the total message count in graphical format on the hour
on which message is sent or received for the selected date.
In Weekly report admin can select month, year and week, graph will be
weekdays versus Messages. It will show total count of messages in graphical
format on different days of the selected week.
In Monthly report admin can select the month and year. The graph will be days
versus messages. It will show the total count of the messages on all days of the
selected month.
In Custom report admin can select range of days between which he wants
to see the chat sessions. The graph is Line graph. First it will show the
count of messages on selected day, clicking on dot it shows total messages
counts on different hours for that day.
JSP Page:
Servlet:
VbarchartServlet, VbarchartApplet.class, LineGraphServlet.class
Library:
Vbarchart.jar, PngEncoder.jar
Database Table:
messages
Flow:
Working:
o Daily
When user clicks on daily sub menu then the URL goes as: "TMonitor.jsp?
caller=day"And page as show below displayed:
When the user clicks on ‘Search’ button then the ‘fnDay()’ function of
JavaScript will gets invoked, which will open new window as:
open("ShowReports.jsp?
caller=dayonly&printdate1="+printdate1+"&ondate1="+ondate,"mynew
","width=900,height=600,status=0,top=100,left=50,resizable=yes");
With this query we can find the number of counts for the particular day
what user have inserted and give these parameters to the Applet to
generate graph as shown below.
o Weekly
When user clicks on weekly sub menu then the url goes as: "TMonitor.jsp?
caller=week" And page as show below displayed:
When the user clicks on ‘Search’ button then the ‘fnWeek ()’ function of J
avaScript will gets invoked, which will open new window as:
open("ShowReports.jsp?
caller=week&month="+document.form.cmbWMonth.value+"&year="+d
ocument.form.cmbWYear.value+"&week="+document.form.cmbWeek.v
alue,"mynew","width=900,height=600,status=0,top=100,left=50,resiza
ble=yes");
With this query we can find the number of counts for the particular week
what user have inserted and give these parameters to the Applet to
generate graph as shown below.
o Monthly
When user clicks on weekly sub menu then the url goes as :
"TMonitor.jsp?caller=month” And page as show below displayed:
When the user clicks on ‘Search’ button then the ‘fnMonth()’ function of
JavaScript will gets invoked, which will open new window as:
open("ShowReports.jsp?
caller=month&month="+document.form.cmbMonth.value+"&year="+do
cument.form.cmbYear.value,"mynew","width=900,height=600,status=0
,top=100,left=50,resizable=yes");
With this query we can find the number of counts for the particular week
what user have inserted and give these parameters to the Applet to
generate graph as shown below.
o Custom
When user clicks on weekly sub menu then the url goes as: "TMonitor.jsp?
caller=custom".And page as show below displayed:
When the user clicks on ‘Search’ button then the ‘fnCustom ()’ function of
JavaScript will gets invoked. First the graph will be displayed for year
then month -> days-> hour as shown below:
open("ShowCustomReports.jsp?
caller=hour&month="+document.form.cmbFromMonth.value+"&year="
+document.form.cmbFromYear.value+"&fromdate="+fromdate+"&day=
"+document.form.cmbFromDate.value+"&todate="+todate,"mynew","wi
dth=820,height=570,status=0,top=130,left=90,resizable=yes");
Image:
If users browser is not java enabled then it will not generate applet, instead
of it user will get a link on which if clicks then image gets generated.
There are 4 sub menus under ‘User Monitor’. Daily, Monthly, Weekly and
Custom.
Function:
In Daily report admin can select the date and user for which he wants to see the
chat sessions, The graph display will be hours versus messages, it will display the
total message count in graphical format on the hour on which message is sent or
received for the selected date and selected user.
In Weekly report admin can select month, year week, and userid of the user, the
graph will be Weekdays versus Messages. It will show total count of messages on
different days of the selected week for the selected user.
In Monthly report admin can select the month, year and user. The graph will be
days vs. messages. It will show the total count of the messages on different days
of the selected month for the selected user.
In Custom report admin can select range of days and userid of the user. The
graph is Line graph. Range of days can be select between which admin wants to
see chat session for particular users, clicking on the dot shows line graph for
hours versus messages for the selected range of days and selected user.
JSP Page:
Servlet:
Library:
Vbarchart.jar, PngEncoder.jar
Database Table:
messages
Flow:
o Daily
When user clicks on daily sub menu then the url goes as: "UMonitor.jsp?
caller=day”. And page as show below displayed:
When the user clicks on ‘Search’ button then the ‘fnDay()’ function of
JavaScript will gets invoked, which will open new window as:
open("ShowReports.jsp?
caller=Udayonly&printdate1="+printdate1+"&ondate="+ondate+"&cmb
single="+cmbsingle,"mynew","width=900,height=600,status=0,top=10
0,left=50,resizable=yes,scrollbars=1");
With this query we can find the number of counts for the particular day and
particular users what user have inserted and give these parameters to the
Applet to generate graph as shown below.
o Weekly
When user clicks on weekly sub menu then the url goes as :
"UMonitor.jsp?caller=week". And page as show below displayed:
When the user clicks on ‘Search’ button then the ‘fnWeek ()’ function of
JavaScript will gets invoked, which will open new window as:
open("ShowReports.jsp?
caller=Uweek&week="+document.form.cmbWeek.value+"&year="+doc
ument.form.cmbWYear.value+"&cmbsingle="+cmbsingle+"&month="+d
ocument.form.cmbWMonth.value,"mynew","width=900,height=600,stat
us=0,top=100,left=50,resizable=yes,scrollbars=1");
ShowReports.jsp generates Applet graph. In this jsp page caller will be
“Uweek”. Where parameters like month, week, year and users name which
user have inserted are get and query is executed as:
With this query we can find the number of counts for the particular week
what user have inserted and give these parameters to the Applet to
generate graph as shown below.
o Monthly
When user clicks on weekly sub menu then the url goes as: "UMonitor.jsp?
caller=month".And page as show below displayed:
When the user clicks on ‘Search’ button then the ‘fnMonth()’ function of
JavaScript will gets invoked, which will open new window as:
open("ShowReports.jsp?
caller=Umonth&month="+document.form.cmbMonth.value+"&cmbsingl
e="+cmbsingle+"&year="+document.form.cmbYear.value,"mynew","wi
dth=900,height=600,status=0,top=100,,left=50,resizable=yes,scrollbar
s=1");
With this query we can find the number of counts for the particular week
what user have inserted and give these parameters to the Applet to
generate graph as shown below.
o Custom
When user clicks on weekly sub menu then the url goes as: "UMonitor.jsp?
caller=custom".And page as show below displayed:
When the user clicks on ‘Search’ button then the ‘fnCustom ()’ function of
JavaScript will gets invoked. First the graph will be displayed for year
then month -> days-> hour as shown below:
open("ShowCustomReports.jsp?
caller=Uhour&month="+document.form.cmbFromMonth.value+"&year=
"+document.form.cmbFromYear.value+"&fromdate="+fromdate+"&day
="+document.form.cmbFromDate.value+"&todate="+todate+"&cmbsin
gle="+cmbsingle,"mynew","width=820,height=570,status=0,top=130,l
eft=90,resizable=yes,scrollbars=1");
Image:
If users browser is not java enabled then it will not generate applet, instead
of it user will get a link on which if clicks then image gets generated.
Function:
This submenu contains three features:
Backup
Backup feature is used when admin wants to make copy of the archive.
By clicking on backup the data from the database copied into the local
machine and prompts to save it.
Restore
The “Browse” button when pressed suggests admin to select the file
from local machine, which is to be uploaded. The “Restore” button
uploads the selected archive file from local machine to server and
restores the contents back to Archive table.
JSP Page:
ArchiveBack.jsp
Servlet:
Database Table:
BACKUP_RESTORE
Flow:
Working:
Backup:
Caller will be “backup” and Query will be execute to insert date on which
backup is take into “BACKUP_RESTORE” table.
Query:
Caller will be “purge” and Query will be execute to insert date on which
backup is take into “BACKUP_RESTORE” table.
Query:
Restore
Caller will be “upload” where it gets the path that has been entered by the
user as
Archive Setting
Function:
The Auto/Manual radio button gives user the option either to choose manual
or auto archiving option.
Maximum Archive Age (Days):– this option allows admin to enter the no. of
days corresponding to which the messages would be stored in ‘message’
table (e.g. if the value is 10 there will be messages corresponding to last
10 days in ‘message’ table rest will be archived and copied into
‘arc_message table’).
Maximum Archive Size (KB):-This allows entering the threshold database
size limit. (i.e. once the settings is saved for particular size the table will be
archived when the threshold size reaches that is the ‘message’ table size
will never exceed the above set size.). The table below shows the status of
last archiving action that is date of last archiving, its type and the current
size of ‘message’ table. The “Archive” button allows the user to manually
archive the messages based on the set criteria.
Exclude list allows admin to enter userid whose data should not be archived,
that userid is added into the ‘exclude_list’ table of the ims database. When
the chatting session is created then the userid is compared with the ids
which user has added into ‘exclude_list’ table, if the userid matched then
data of that chat session is saved into ‘exclude_message’ table.
JSP Page:
Archiveset.jsp
Servlet:
Database Table:
Flow:
Working:
When user click on menu “Archive Settings” then url sent will be
“ArcmentorController?caller=ArchiveShow”
msgsizeInt=msgsizeInt+msgsize.length();
if the size of the database is greater then the size what have entered then
two queries will get execute as
"insert into
ARC_MESSAGES(FROMID,TOID,STARTDATE,STARTTIME,ENDDATE,ENDT
IME,MESSAGE,SESSIONID,SESSIONSTARTTIME,AUDITED) select * from
MESSAGES where ((STARTDATE = '"+lastmsgstartdate+"' AND
SESSIONSTARTTIME <= '"+sesStTime+"') OR (STARTDATE <=
'"+prev+"'))";
“delete from MESSAGES where ((STARTDATE = '"+lastmsgstartdate+"'
AND SESSIONSTARTTIME <='"+sesStTime+"') OR (STARTDATE <=
'"+prev+"'))";
if Current date exceeded from the date what user have entered then the
queries execute as:
"insert into
ARC_MESSAGES(FROMID,TOID,STARTDATE,STARTTIME,ENDDATE,ENDT
IME,MESSAGE,SESSIONID,SESSIONSTARTTIME,AUDITED) select * from
MESSAGES where STARTDATE <= '"+dteString1+"'";
when user entered values for Archive age and Arhcive size and press “Save
Button” then “fnCheck()” function of JavaScript will be called which redirect
it to "ArcmentorController?caller=AddSettings" and query execute to update
“POLICY_SETTING” table as:
Exclusion List
There is Textbox and “Add” button to add new name whose sessions are not
to be included.
Query:
Function:
Clustering is used to save data into two databases. ‘Cluster shared secret
password’ is the password saved into ‘cluster_pass’ table of the ‘ims
‘database. When admin wants to do clustering, he adds the IP address,
username, password of the other machine, the information get added into
‘cluster_sys_info’ table. He can make any database as master out of two.
When clustering is to be done, database of the secondary database is been
checked, if it contains the same password as mention into ‘cluster_pass’
table of Primary database then only clustering can be done.
JSP Page:
Clustering.jsp, clusterAction.jsp
Servlet:
Database Table:
cluster_sys_info, cluster_pass
Flow:
Clustering.jsp -> ArcmentorController -> DBConnection -> ClusterManage
-> Clustering.jsp
Working:
When user enters cluster secret password the Arcmentor.ini file and
“cluster_sys_info” table gets updated. The value of the textbox is get on the
“addCluster()” method of the ClusterManage where query is executed to
update “CLUSTER_SYS_INFO” the table as
When user updates the values of the user name and password and press
submit button then url sent as: "ArcmentorController?caller=Clussubmit"
where text values are get and updated into “cluster_sys_info” database.
Query:
When user press the “Delete” button then url sent as "ArcmentorController?
caller=ClusDelete" where caller will be “ClusDelete” in “ClusterManager” and
query executed as:
Query:
WriteINI()
FileOutputStream fileoutputstream1=null;
BufferedReader bufferedreader = new BufferedReader(new
FileReader(c:\\Arcmentor\\Arcmentor.ini));
Here every line is read and tokenize with “=” sign. Values from the
database is read and replaced against “=” sign to update it.
Licensing
Function:
Licensing feature allows user to avail the full version of the ArcMentor after
entering valid license key provided by us.
Installer will Install ‘ArcMentor’ that will be trial version and valid for 30
days after that to access ‘Arcmentor’ it need to be full version.
‘LICENCE.TXT’ file will have the MAC address of the system where
‘ArcMentor’ is installed. We will generate Key using that MAC address and
send that key back.
JSP Page:
licence.jsp
Servlet:
No Servlet
Database Table:
No Database
Working:
When the user clicks on the menu ‘Licensing’ the ‘Licence.jsp’ page will gets
open. In Licence.jsp value in comsrc.sys file is read
licencefile="c:\\WINNT\\system32\\comsrc.sys";
BufferedReader br = new BufferedReader (new FileReader
(licencefile));
liceno = br.read();
lic=lic.replace('V','0');
lic=lic.replace('A','1');
lic=lic.replace('N','2');
lic=lic.replace('Q','3');
lic=lic.replace('W','4');
lic=lic.replace('E','5');
lic=lic.replace('R','6');
lic=lic.replace('T','7');
lic=lic.replace('Y','8');
lic=lic.replace('U','9');
lic=lic.replace('I','A');
lic=lic.replace('O','B');
lic=lic.replace('P','C');
lic=lic.replace('D','D');
lic=lic.replace('G','E');
lic=lic.replace('S','F');
lic=lic.replace('J','-');
after getting the new string we will compare that string with the key word
what user have entered , if the comparison is true then the key word will be
valid and the value in the ‘comsrc.sys’ will get updated to ‘3’ further screen
appears as:
The values as shown above will be read from the Arcmentor.ini file.
If the 30 days gets over then ‘comsrc.sys’ will gets updated as ‘2’ and the
screen appears as:
Note: checking for expiration of the product will be done at the logger side.
Report Setting
Function:
The Past Session menu under Audit Messaging allows seeing the all past chat
sessions of the users by selecting different criteria’s like date, time
,users,keywords,sessionid or combinations.
JSP Page:
dbselection.jsp
Servlet:
No Servlet
Database Table:
Cluster_sys_info
Working:
Here when user clicks on ‘Report Settings’ tab of the menu then
‘dbselection.jsp’ page gets loaded.
Here when user clicks on ‘Report Settings’ tab of the menu then
‘dbselection.jsp’ page gets loaded.
First it will check for number of count in “cluster_sys_info” as
“select count(*) as cnt from CLUSTER_SYS_INFO”.
If there will be only 2 entries into “Arcmentor.ini” file for both primary and
secondary database and only one entry into “cluster_sys_info” then values
of secondary database is inserted into it and value of count will set to ‘2’.
"insert into CLUSTER_SYS_INFO
values('1','"+s10+"','','Y','"+s13+"','"+s11+"','"+s12+"')"
If the Database clustering present then the choice is given to the User to
select between the database Clusters to view the GUI reports.
By default the Database is primary if user select the secondary database for
viewing the report then the user Log in to the GUI again if the Log in
authentication is always done through the Primary database only.
If again there is only one entry into ‘cluster_sys_info’ i.e. primary and
report setting is done for secondary then the screen appears as login into
primary database.
Database Setting
Function:
Database Setting allows user to change the settings of the Arcmentor.ini file
because the database connection is done after reading the primary information of
the Arcmentor.ini file like IP Address, user name and password.
JSP Page:
DBsettings.jsp
Servlet:
No servlet
Database Table:
No table
Working:
When admin clicks on Database Setting tab of the Advance menu then
‘DBsettings.jsp’ page gets loaded. When ‘DBsettings.jsp’ page loads it reads
the Arcmentor.ini file,it reads the values of the primary database and
display it in the text box as shown in the above figure.
s2 = PrimaryDatabaseServerIP.substring
(24,PrimaryDatabaseServerIP.length ());
s3 = PrimaryDatabaseRootUser.substring
(24,PrimaryDatabaseRootUser.length ());
s4 = PrimaryDatabaseRootUserPassword.substring
(32,PrimaryDatabaseRootUserPassword.length ());
If the admin changes the values in the text box and press submit then the
values get updated into Arcmentor.ini file.
Email Setting
Function:
Email Setting under Advance tab allows admin to choose format in which way he
wants to send mail. The Mail will be send to the Admin’s whom names admin have
entered into the database and mail will also send to the users that admin have
selected to whom he wants to send mail.
Logger will automatically mail the current chat sessions to the admin/users after
reading the database.
JSP Page:
EmailSess.jsp
Servlet:
ArcmentorController, AdminmanageCommand
Database Table:
Flow:
Working:
When admin clicks on ‘Email Setting’ tab under advance menu then
‘EmailSess.jsp’ page gets loaded.
There are two check boxes to make admin/ser enable. If the check box is
not checked then email will not be send.
Admin can also select the HTML/TEXT format to mail chat session.
Admin:
When admin selects only first check box and enter Email ID’s whom he
wants to get the mail of the current sessions and press submit then url is
redirected to “ArcmentorController?caller=EmailStructSave” where caller
will be ‘EmailStructSave’ which redirected to ‘’EmailStruct()‘ method of the
‘AdminManageCommand’.
Note: The Email id’s of the Admin are first splited stored into array and
then inserted.
Query:
User:
When admin selects only second check box he needs to enter Domain Name
and needs to select users whom he wants to send mail i.e. all users or
particular users from the list box.
Query:
In ‘EMAIL_FORMAT’ the value is inserted as ‘H’ for HTML and ‘T’ for TEXT.
Email Format
There are two radio buttons one is to set HTML image and other is to set
TEXT image.
By default HTML Image will be loaded. While loading page it gets the values
of ‘EMAIL_FORMAT’ and checks if first checkbox is enabled and second one
is disabled then it reads from ‘EMAIL_ADMIN’ table, if second check box is
enabled and first one is disabled then it reads email format of ‘EMAIL_USER’
table or if both the check boxes are enabled then the value of
‘EMAIL_FORMAT’ will remain same.
When radio button is clicked then ‘fnEmailFormat()’ is called in JavaScript
where conditions are checked for which radio button is clicked and depend
on that image is loaded.
if(document.form1.chkEmailFormat[0].checked)
{
document.images[1].src = 'Images/HTML.jpg';
}
if(document.form1.chkEmailFormat[1].checked)
{
document.images[1].src='Images/TEXT.jpg';
}
Logout
Error Page
First the connection is made of reading ‘Arcmentor.ini’ file, if the entry is not
there or connection is not able to make then the ‘ErrorPage.jsp’ gets loaded.
Base64
Library: Base64.jar
Library: log4j1.2.9.jar
Included to print error into log file. The library is included into lib directory.
In web.xml
<servlet>
<servlet-name>Log4jInit</servlet-name>
<servlet-class>com.arcmentor.Log4jInit</servlet-class>
<init-param>
<param-name>log4j-init-file</param-name>
<param-value>WEB-INF/classes/log4Arc.properties</param-
value>
</init-param>
<init-param>
<param-name>log4j-init-file1</param-name>
<param-value>WEB-
INF/classes/log4Arc1.properties</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
Included as:
Logger logger;
logger=Logger.getLogger("AdminManageCommand");
to print Statements:
logger.debug(“-----");
to print exception:
logger.error("Exception:"+e);