首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

为 IBM Lotus Domino 应用程序添加提醒功能(4)

为 IBM Lotus Domino 应用程序添加提醒功能(4)

向即时消息添加表情也许这并不是即时消息传递解决方案中最重要的功能,但您知道,用户需要它。我们已经添加了笑脸图片()作为共享资源图片,名为 happy.gif。
回到图 5,看一下 fromMessage 字段。该字段包含以下代码:
清单 5. fromMessage 字段公式
1
2
3
4
Tmp := @GetDocField( responseUNID; "message");
@ReplaceSubstring(@If(@IsError(Tmp) ; "" ; Tmp) ;
@NewLine:":-)" ; "<br />":"<img src=\"/"+@WebDbName
+ "/happy.gif\">")




请注意如何将新行转化为换行符,以及如何将所有 :-) 组合转换为笑脸图片。当然,可以使用更多表情来扩展此功能,不过这些留给您作为娱乐消遣。作为一项新增功能,您还可以使用特定的词作为更好的等价对象。
可以方便地利用此功能进行扩展。例如,可以添加动画 GIF 影片。甚至可以尝试嵌入欢呼人群的声音剪辑,每次登录内部网时该声音将传递给所有在线的同时。(隐含的是,我们的同事不同意这样做。)
性能考虑事项在 refreshUserMsg 代理中,我们设置了请求到代理之间的时间段。我们使用的值为 1000 毫秒(1 秒)。这个值对于测试或仅有少数用户的情况是很合适的。对于中等规模的公司,我们发现使用 15,000 毫秒的时间段会比较合适。
如果将该技术用于其它目的,如检查用户是否有新的 email 消息,那么安排代理的时间以及调优代理是很重要的,这样代理才不会占用过多的 CPU 和磁盘时间。您可以完全控制进行下一次轮询的时间,因此完全有可能调整服务器负载应增加的值。例如,根据用户在线的数量,可以动态增加两次轮询的时间间隔。
来总结一下性能问题,我们的第一批提醒解决方案可以在 Lotus Domino 5 上正常运行。从此 Lotus Domino 启动代理和处理 HTTP 请求的速度提高了很多。我们可以说,该技术目前非常适合与 Lotus Domino 一起使用。
其他增强功能为了在一篇文章中涵盖这种即时消息处理技术,我们降低了公司所使用的提醒解决方案版本。例如,我们所使用的版本还包括一个将聊天会话保存到知识库的选项。您可以添加的其他增强功能如下:
  • 将弹出窗口替换为在当前窗口中打开的 DHTML 层。该功能还会解决弹出拦截器问题。
  • 不实时更新在线用户列表。通过使用相同的 DHTML 方法可以添加该功能。
  • 实时发送已认可的任务,从而使用消息传递功能来加速工作流。
  • 用户在线时始终运行代理,这样很易于了解用户的在线时长。我们的站点上有一个页面包含了在线时间最长的用户列表。
  • 允许用户为离线用户编写消息。这样,当用户再次返回并登录系统后,他或她将收到此消息。
  • 使用消息传递功能将消息发送给每个人。我们使用了称为 Public Question 的特性将问题发送给每个人。想答复的那些人可以加入关于特定问题的聊天会话。
结束语Ajax 向 Web 站点添加了一个全新的维度,它能够使服务器将内容推给您。之所以称为推,是因为在 “拉” 内容的同时,您将其隐藏在幕后。
我们热爱这种技术,原因之一是它不会载入 Microsoft ActiveX 控件、不会实例化 Java Virtual Machine(JVM)实例、也不需要 flash 动画播放器。对于大多数客户机来说,它是一种轻量级、容易的解决方案。
返回列表