您的位置:首页 > 其它

Lotus Sametime 在线感知技术的开发

2008-05-14 17:50 225 查看
1、背景

Sametime提供了非常强大的集成能力,可以广泛地扩展在线感知能力。Sametime 的在线感知技术可以在OA上让员工们知道自己需要联络的同事是否在线、是否有空;能随时开展一对一、一对多的传递即时消息、传递文件、召开网络会议。也可以扩展到外网网站上,让客户看到我们的客服人员是否在线,并能发送即时消息。

2、了解Sametime开发

sametime toolkit提供了丰富的开发接口。详细的IBM lotus Sametime介绍可以在google上面搜索相关文档了解一下。

对Sametime有一点认识之后,当中我们最感兴趣的还是Sametime的在线感知功能,但要实现Sametime感知的话,要实现的最重要的一步,就是怎么实现WEB客户端的登录。以下为项目中使用的一个Web在线感知测试代码样例

了解Sametime开发

<html>

<head> /* http://sametime.naveco.com.cn/ 为sametime服务器的路径 */

<LINK REL=STYLESHEET HREF="http://sametime.naveco.com.cn/sametime/stlinks/stlinks.css" TYPE="text/css">

<SCRIPT src="http://sametime.naveco.com.cn/sametime/stlinks/stlinks.js"></SCRIPT>

<SCRIPT>

setSTLinksURL("http://sametime.naveco.com.cn/sametime/stlinks","zh"); // 设置Sametime toolkit环境路径,设置默认UI为"zh" 简体中文

</SCRIPT> <SCRIPT>

function getCookie(name) {

var dc = document.cookie;

var prefix = name + "=";

var begin = dc.indexOf("; " + prefix);

if (begin == -1) {

begin = dc.indexOf(prefix);

if (begin != 0) return null;

} else {

begin += 2;

}

var end = document.cookie.indexOf(";", begin);

if (end == -1) {

end = dc.length;

}

return unescape(dc.substring(begin + prefix.length, end));

} /* 如果配置sametime服务器允许Anonymous用户,就可以扩展到公司网站,提供给客户发送即时聊天信息的功能 否则需要设置sametime的登录用户了。这里假设我们的sametime服务器和domino服务器已完成了多服务器SSO配置,我们通过传递Token的方式登录到sametime服务器 */

if (getCookie(’LtpaToken’) == null) {

writeSTLinksApplet("Anonymous User","",false);

}else {

writeSTLinksApplet("<计算的值>",getCookie(’LtpaToken’),true);

/* 这里需要严重注意的是,使用不使用LDAP方式对在线感知来说关系不大,但如果sametime服务器是使用LDAP方式,传递用户名的地方都需要把@Username里面的分隔符"/" 换成 ","

<计算的值>的内容就是处理@Username的

</SCRIPT>

</head><body><SCRIPT>

/*writeSametimeLink函数的作用就是展现 XXX 用户是否在线,在线状态的了,如果用户在线的话。点击它的图标就会打开与该用户的即时聊天窗口

三个参数分为是:用户全名 ; 显示名; 是否要求服务器解析用户名; 选项:是否显示on/off line图标;否显示用户显示名

这个样例中列出来oatest,wangyuehua,yujianbo这三个用户的在线情况。*/

writeSametimeLink("CN=oatest,OU=support,OU=COPARTNER,OU=NAVECO,DC=ned,DC=naveco,DC=com,DC=cn","oatest",false,"text:yes;icon:yes");

document.write("<br>");

writeSametimeLink("CN=wangyuehua,OU=1zz1cscw,OU=FinancialDept,OU=FinanceArea,OU=NAVECO,DC=ned,DC=naveco,DC=com,DC=cn","wangyuehua",false,"text:yes;icon:yes");

document.write("<br>");

writeSametimeLink("CN=yujianbo,OU=wljsk,OU=InformationManagement,OU=ManagementAndPlanningArea,OU=NAVECO,DC=ned,DC=naveco,DC=com,DC=cn","yujianbo",false,"text:yes;icon:yes");

</SCRIPT>

</body></html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: