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>
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>
相关文章推荐
- Lotus Sametime 在线感知技术的开发
- lotus domino sametime traveler download
- EEPlat的基于浏览器的在线开发技术
- Lotus Sametime 服务器的安装和配置
- 实战IBM Lotus Sametime 8.5 Web Client API
- EEPlat的基于浏览器的在线开发技术
- Lotus Sametime 服务器的安装和配置
- 省去编程器的单片机开发——单片机的在线编程技术
- Lotus Notes 中Sametime 无法自动…
- 2015年网易校招Java开发工程师(技术架构)在线笔试题(2015年9月20日 18:00—20:00)
- 基于ASP.NET AJAX技术开发在线RSS阅读器
- lotus sametime 启动故障
- 利用 LDAP 目录查看插件扩展 Lotus Sametime 客户机
- Lotus Sametime 与 Lotus Notes 集成实践
- 【《Real-Time Rendering 3rd》 提炼总结】(九) 第十章 · 游戏开发中基于图像的渲染技术总结
- Lotus Sametime 摘得 Network World 年度最佳产品桂冠!
- 基于WebGIS技术的在线地图共享网站Maplet开发阶段小结
- 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET - ActiveXForm在线体验安全设置
- 在线客服系统 开发实战系列(一:需求分析及技术方案初步选型)
- Lotus Sametime 服务器的安装和配置