Lotus Sametime 在线感知技术的开发
2011-06-12 20:34
330 查看
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 (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 (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 在线感知技术的开发
- EEPlat的基于浏览器的在线开发技术
- 利用 LDAP 目录查看插件扩展 Lotus Sametime 客户机
- 欢迎捧场:WPMind WP7 开发技术在线学习【5】-- Silverlight数据绑定
- Lotus Sametime Unyte - 最容易使用的网络会议服务 - 实景~~
- Lotus Sametime
- 音视频 开发技术 在线好友解决方案
- 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET - 应用在线演示/例子
- lotus sametime 启动故障
- Windows Phone 7 开发技术在线学习【2】 -- WP7 多任务之道
- IBM Lotus Sametime Gateway V7.5.1 简介
- 【《Real-Time Rendering 3rd》 提炼总结】(九) 第十章 · 游戏开发中基于图像的渲染技术总结
- 屌丝逆袭技术精英 不懂技术也可在线app开发
- Windows Phone 7 开发技术在线学习【2】 -- WP7 多任务之道
- 一款基于浏览器的云技术在线Web开发IDE—CodeRun Studio
- EEPlat的基于浏览器的在线开发技术
- Lotus Sametime Server R8.x 标准版部署排错
- Lotus Sametime 服务器的安装和配置
- 基于ASP.NET AJAX技术开发在线RSS阅读器
- [活动延期的说明]武汉.NET俱乐部在线沙龙之LINQ及相关技术在实际开发中的使用