OCS 2007的客户端定制开发实例
前段时间刚帮朋友做OCS2007客户端的定制开发,其中有欢乐也有痛苦,现用文字记录一二,以备后忘。
客户需求如下:
1. 在Office Communicator上增加两个Tag,分别显示公司的组织结构图、虚拟团队。
2. 组织结构图要能嵌套部门和人员,能显示人员状态。
3. 虚拟团队的成员可以来自不同的部门,管理员可以很方便的进行团队的增加,管理团队的成员。
4. 可以直接在Tag的树中选中多人添加为联系人、进行群组即时聊天。
5. 能计划群组聊天,即定义时间,该群组成员自动弹出群聊窗口。
6. 能对虚拟团队群发消息。
其实,这些功能基本包括了OC客户端定制的全部内容,提的也很专业,这要归功于销售顾问的努力。
在这之前俺其实没实际做过OCS2007的开发,只是以前有个项目牵涉到OCS2005的客户端定制,了解基本的实现方式。
这次,从头开始,俺把OCS2005、2007的开发资料看了一遍,心里多少有了把握,当然其中也走过一些弯路,例如刚开始用RTC来做,最后全部换成了OCSDK来实现,最后解决方案如下:
1、 公司的组织机构和虚拟团队都在AD中实现,组织机构以OU形式、虚拟团队以用户组形式。
2、 定时聊天实现方式为通过页面在windows中添加任务,定时调用.net写的控制台程序,聊天的对象以参数形式传递。
3、 添加联系人、多人实时聊天、获取联系人状态功能,这些开始都通过RTC在服务器端实现的,但效果不好,后改成利用OCSDK包装成ACTIVEX控件,在客户端去实现了。
4、 虚拟团队群发消息用的是微软的例子(OCS API Sample),采用固定帐号对每个成员单独发消息,这样避免了聊天窗口200人数的限制。
个人觉得,如果是客户端定制,还是尽量用OCSDK吧。
最后的实际效果图如下:
俺的MSN:winlong_nj@hotmail.com,欢迎和各位一起探讨。
浙公网安备 33010602011771号