公共组件

A part of the "Chat" module is the public component that allows to integrate this module into any website. Once the public component is installed, visitor of the website will be able to communicate with the TeamWox users through the chat. All chats are stored within the system. Dialogs that are bound to clients are conveniently displayed on a separate tab when viewing them in the "Organization" module.

The TeamWox groupware is protected from spam attacks through the public component of the "Chat" module. After receiving a large number of requests from one IP address, a ban is set for 2 minutes to several hours, depending on the frequency of such requests.

Two versions of the public chat are available: Flash and JavaScript.

Flash Version of the Public Chat

In order to initialize the Flash-version of the public component of the "Chat" module, you should place the "support.html" file containing the following code at your website:

<html style="height:100%;">
<head>
 <title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
 <body style="margin:0px;">
   <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
 codebase="https://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0"
 width="100%" height="100%" id="main" align="middle">
     <param name="allowScriptAccess" value="sameDomain" />
     <param name="allowFullScreen" value="false" />
     <param name="movie" value="support.swf" />
     <param name="quality" value="high" />
     <param name="bgcolor" value="#FFFFFF" />
     <param name="flashvars" value="url=https://team.yourdomain.com" />
     <embed src="support.swf" flashvars="url=https://team.yourdomain.com" width="100%"
 height="100%" quality="high" bgcolor="#FFFFFF" name="main" align="middle"
 allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash"
 pluginspage="http://www.macromedia.com/go/getflashplayer" />
   </object>
 </body>
</html>

您也可以将"support.swf"文件放在同样的目录中。Download support.swf and support.html

To adjust the connection, you should change the address in the "url" parameter of the <param> and <embed> for the address of your TeamWox server.

JavaScript Version of the Public Chat

To initialize the JavaScript version of the public component, you should place the "support.html" file containing the following code at your website:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link href="chat/chat.css" type="text/css" rel="stylesheet" />
<script src="chat/chat.js" type="text/javascript"></script>
</head>
<body>
<div id="chat"></div>
<script type="text/javascript">
window.Chat.init(document.getElementById('chat'),
  {
   url : 'https://team.yourdomain.com/',
   files : 'chat/'
  });
</script>
</body>
</html>

In the same category, you should place the 'chat' folder, which contains all the files required for chat operation. Download files for JavaScript chat version.

To adjust the connection, you should change the address in the "url" parameter specifying the address of your TeamWox server.

It is strongly recommended to work with the chat using the secured "https" protocol for keeping save the information transmission between the website and the TeamWox system. However, to work with this protocol, you must have an SSL certificate signed by one of the trusted certificate companies, that can be installed through the "Administration" or during the installation of the TeamWox system. If you use a self-signed certificate delivered together with the TeamWox system, then the connection can be established only via the "http" protocol. In this case, you should specify "http" instead of "https" before the domain name in the HTML file.

You can also set up different parameters of the chat window within the "Value" attribute of the <param> tag and the "Flashvars" attribute of the <embed> tag. For the JavaScript version, the window parameters are specified inside the "window.Chat.init()" function.

client details: 名字,电子邮件,电话,公司,账户

digital_signature

group

topic

cache

language

close

filter

group_id

topic (自动登录)

config

autologin

外观的不同参量

在这一章的分区中,您可以发现PHP.NET中“聊天”模块公共组件的实施详例。

普通设置

Client Details

若要获得客户信息执行下列参量:

名字=[CLIENT NAME]

电子邮件=[CLIENT EMAIL]

电话=[CLIENT PHONE]

公司=[CLIENT COMPANY]

账户=[CLIENT ACCOUNT]

上面提到的这组参量允许为客户指定字段预定义的值。名字,邮箱地址,电话号码和公司名称可以通过用户在您网站上注册的详细信息自动填写。这样客户将无需编辑这些字段。

在TeamWox系统通过电子邮件地址功能将对话和机构 自动绑定

digital_signature=[显示字段和关键字的串联的MD5]

若要使从您网站上保存的信息填写用户详细信息(名字,电话,公司名等等)成为可能,您应该向"support.html"文件添加数字签名参量 (digital_signature)。在"digital_signature"参量值中您应该从使用的字段值(名字,公司,电话等等)和关键字的串联中指定MD5 hash。关键字也在“聊天”模块的设置中指定。将来数字证书的检测也将通过TeamWox系统实施,如果成功的话,字段将可以自动填充和由用户编辑锁定。

现在这项技术正在开发阶段。若要启用信息填充分配任何值给"digital_signature"参量就可以。

group=[CHAT GROUP]

该参量意在选择一个服务组,这个组可以在登录窗口用作默认组。如果服务组名称由两个词组成,那么词之间的空格要指定"%20"来代替,例如:“technical%20support”。

topic=[FULL OR PARTIAL NAME OF TOPIC]

每个组都可以创建预定义的讨论主题 。该参量意在选择一个在登录窗口用作默认值的主题。该字段的值您可以指定只有部分主题名字。系统会在已经创建的主题中自动搜索指定词或短语并选择一个合适的。

cache=[PERMISSION TO CACHE DATA]

默认情况下,会缓存用户登录“聊天”时指定的信息。若要不启用缓存,您应该以"false"值指定该参量。

language=[LANGUAGE]

默认语言就是系统选择的语言。若要必须更改语言您应该为该参量指定下列值中的一个:

ru ― 俄语;

en ― 英语;

cn ― 中文;

tr ― 土耳其语;

ar ― 阿拉伯语;

es ― 西班牙语;

it ― 意大利语;

fr ― 法语;

de ― 德语;

tat ― 鞑靼语;

az ― 阿塞拜疆语。

Only two languages are available in the JavaScript version: ru and en.

close=[NAME OF JAVASCRIPT FUCNTION THAT CLOSES A WINDOW]

点击“完成”按钮该参量会自动关闭聊天窗口。

filter=[KEYWORD]

该参量允许通过其中指定的关键词进入需要的服务组。在这种情况下您只能使用特定的组当从网站访问聊天时。我们把说俄语的组中并不需要的网站英文页面作为范例。如果在这个参量和服务组设置中您指定了“英语”,客户将只可以看到那个组。您可以在网站上使用的HTML文件的"filter"参量中只指定一个值。然而,您却可以在服务组设置中指定多个值。因此,您可以通过组从不同网站接收信息。

Let us consider an example when we have two websites dedicated to different products and one group that provides their support.

In this case, in the HTML file for the first website we specify the "product1" keyword:

Flash version:

<param name="flashvars" value="filter=product1&url=https://team.yourdomain.com" />

The same parameters are specified for the "embed" tag.

JavaScript version:

window.Chat.init(document.getElementById('chat'),
  {
   url : 'https://team.yourdomain.com',
   filter : 'product1',
  });

In the HTML file for the second website we specify the "product2" keyword:

Flash version:

<param name="flashvars" value="filter=product2&url=https://team.yourdomain.com" />

Add the same value in the "embed" tag.

JavaScript version:

window.Chat.init(document.getElementById('chat'),
  {
   url : 'https://team.yourdomain.com',
   filter : 'product2',
  });

并且同样值也在"embed"标签中。那么我们在服务组设置的"关键字"字段中指定这种用逗号隔开的两个参量:product1, product2。

General group

Now requests from both websites will be addressed to one service group.

Now let us consider another example when we need to delimit the availability of different service groups for different websites. We have three versions of the website: in the English, Russian and Chinese languages. There is the "Support (en/ru)" group for the English and Russian versions and "Support (cn)" group for the Chinese version.

We should specify the "en" keyword in the HTML file for the English website:

Flash version:

<param name="flashvars" value="filter=en&url=https://team.yourdomain.com" />

JavaScript version:

window.Chat.init(document.getElementById('chat'),
  {
   url : 'https://team.yourdomain.com',
   filter : 'en',
  });

For the Russian version set "ru":

Flash version:

<param name="flashvars" value="filter=ru&url=https://team.yourdomain.com" />

JavaScript version:

window.Chat.init(document.getElementById('chat'),
  {
   url : 'https://team.yourdomain.com',
   filter : 'ru',
  });

For Chinese set "cn":

Flash version:

<param name="flashvars" value="filter=cn&url=https://team.yourdomain.com" />

JavaScript version:

window.Chat.init(document.getElementById('chat'),
  {
   url : 'https://team.yourdomain.com',
   filter : 'cn',
  });

Then in the settings of the "Support (en/ru)" group we should specify the "en" and "ru" keywords separated by comma, and in the settings of "Support (cn)" - only "cn".

Group for english and russian version of website

Group for chinese version of website

这种情况下客户在网站上只能得到相应的服务组。

每个参量都必须用&符号分隔开。

下面给出正确的参量说明示例:

<param name="flashvars" value="name=Name&style_head=chatlogo.gif&url=https://team.yourdomain.com" />

然而,您应该指定网站上获得的值(客户注册网站时指定的信息)。

自动登录聊天

可以有这种情况,就是用户被授权聊天(进入聊天)而没有显示指定个人信息的登录窗口。例如,如果用户打开来自网站个人信息(已被授权的用户)的聊天,那么关于用户的所有需要的信息都已经被知道(名字,电子邮件,电话号等等)。

这样进入聊天的主要技术不同点在于无需向TeamWox服务器设置请求:服务组,其中的主题以及模块设置(登录窗口显示的字段)都没有被要求。

自动登录,必须指定关于用户的全部信息(名字,电话,电子邮件等等)。另一个必须的条件就是下面要说明的group_id参量。

自动进入聊天实施下面的参量:

group_id=[SERVICE GROUP IDENTIFIER]

这个字段的值您应该指定服务组的标识符。它显示在服务组(在#符号后方括号中指定)编辑设置的窗口标题中。只可以指定一个标识符。

topic=[FULL NAME OF TOPIC]

通过登录窗口授权相反自动登录更改了这个参量的表现。这种情况下这个字段的整个值都将被用作对话主题。例如,如果聊天从用户个人资料打开,您可以指定主题=Question%20from%20user%20profile。

config=[BIT MASK IN FORM OF INTEGER]

该参量意在启用/不启用登录窗口的附加字段:

电子邮件 ― 8

账户 ― 4

公司 ― 2

电话 ― 1

默认情况下,那些字段不启用;并且它们是否被填充的情况在进入聊天时不会被检测。若要添加这些字段,您应该如"config"参量值一样指定上面提到的值的总和。例如,显示“公司”和“账户”字段,您应该指定6 (4 + 2) 作为这个参量的值。

autologin=[PERMISSION FOR AUTOMATIC AUTHORIZATION]

为了使自动授权成为可能,您应该以"true"值指定"autologin"参量。

autologin: true,

如果该参量没有指定或者其值为"false",那么自动授权则不可能。

外观设置

输入区域参量:

style_input_out_border_color=[FIELD BORDER COLOR IN NORMAL STATE]

style_input_over_border_color=[FIELD BORDER COLOR WHEN MOUSE IS POINTED OVER]

style_input_press_border_color=[FIELD BORDER COLOR WHEN CLICKED WITH MOUSE]

style_input_error_background_color=[FIELD BACKGROUND COLOR WHEN INCORRECT VALUE IS TYPED]

按钮参量:

style_button_out_first_color=[COLOR OF UPPER PART OF BUTTON IN NORMAL STATE]

style_button_out_second_color=[COLOR OF LOWER PART OF BUTTON IN NORMAL STATE]

style_button_out_border_color=[BUTTON BORDER COLOR IN NORMAL STATE]

style_button_over_first_color=[COLOR OF UPPER PART OF BUTTON WHEN MOUSE IS POINTED OVER]

style_button_over_second_color=[COLOR OF LOWER PART OF BUTTON WHEN MOUSE IS POINTED OVER]

style_button_over_border_color=[BUTTON BORDER COLOR WHEN MOUSE IS POINTED OVER]

style_button_press_first_color=[COLOR OF UPPER PART OF BUTTON WHEN CLICKED WITH MOUSE]

style_button_press_second_color=[COLOR OF LOWER PART OF BUTTON WHEN CLICKED WITH MOUSE]

style_button_press_border_color=[BORDER COLOR OF BUTTON WHEN CLICKED WITH MOUSE]

登录窗口Logo参量:

style_head=[PATH TO LOGO IMAGE FILE]

style_head_x=[MARGIN OF LOGO FROM LEFT BORDER OF WINDOW IN PIXELS]

style_head_y=[MARGIN OF LOGO FROM UPPER BORDER OF WINDOW IN PIXELS]

logo文件使用下列格式:*.jpg, *.gif, *.png, *.swf。如果没有满足要求,显示标准TeamWox logo。

对话窗口logo参量:

style_logo=[PATH TO LOGO IMAGE FILE]

style_logo_x=[MARGIN OF LOGO FROM LEFT BORDER OF WINDOW IN PIXELS]

style_logo_y=[MARGIN OF LOGO FROM UPPER BORDER OF WINDOW IN PIXELS]

logo文件使用下列格式:*.jpg, *.gif, *.png, *.swf。如果没有满足要求,显示标准TeamWox logo。

评级与退出窗口参量:

style_form_background_color=[BACKGROUND COLOR OF WINDOW]

style_form_head_color=[COLOR OF HEADING OF WINDOW]

style_form_head_text_color=[COLOR OF TITLE OF WINDOW]

style_form_title=[TEXT OF TITLE OF WINDOW]

其他参量:

style_scroll_icon_color=[COLOR OF TRIANGLE OF BUTTON THAT OPENS DROP-DOWN LIST]

style_line_select_color=[COLOR OF SELECTED ENTRY IN DROP-DOWN LIST]

style_frame=[SHOW/HIDE INTERNAL BORDER OF WINDOW]
"True" 和 "false" 值可以分别显示和隐藏边框。

所有颜色必须以十六进制的格式指定,例如"#000000"。

聊天窗口访问

开始工作您应该使用下面安排在独立窗口访问这个HTML页面:

<a href="javascript:void(0)" onclick="window.open('support.html','support','toolbar=no,resizable=yes,
status=no,menubar=no,location=no,width=600,height=500');">Online Assistance</a>

登录窗口

开始对话前,客户必须填写下面的表格:

Form

名字 ― 客户名。

电子邮件 ― 客户电邮地址。

电话 ― 客户电话号。

公司 ― 客户公司名。

账户 ― 客户账号。

― 选择“聊天”模块中预先创建的服务组。选择组,您应该用鼠标左键点击这个字段并在列表中指定需要的组。

主题 ― 从左键点击这个字段打开的列表中选择对话主题。主题应该也是在选定组中预先创建的。

开始对话,需要点击表格下面的“进入”按钮。

对话窗口

这是客户对话窗口样例:

Dialog window

窗口上部包含聊天本身,下部用来编辑信息。发送信息,点击“发送”按钮或使用"Ctrl+Enter"组合键。

这个窗口也包含下面管理:

客户可以使用“关闭”按钮结束对话,对话框关闭。客户关闭聊天的相应条目会出现在雇员对话窗口

可以使用Sound按钮来启用/不启用新来信息的声音通知。

"复制到剪贴板"按钮用来复制对话文本到剪贴板以便将来使用。

To send a file via chat press "Send a file".

对话评级

对话上部客户可以对公司雇员通过聊天提供的帮助进行评分。点击星星会打开下面窗口:

Dialog rating

评级对话,用鼠标左键点击第一个星星并拖住移动光标到后面的星星。对话可以通过1-5进行衡量评级,选择的星星越多说明对话评级越高。评级显示在对话列表中的独立列中。模块中也可以得到评级报告