前面我们体验了如何定制OCS2007的在线状态,不知道大家有没有去实践过,今天我与大家一道来分享另一个课题:如何在OC 2007中定制web 标签页?
在OC2007中,在联系人窗口的下方,我们可以添加一系列web 页,将业务系统中重要的、常用的功能集成到OC平台上,致使在OC中可以解决很复杂的业务问题,在业务系统中,也可以方便地进行即时通讯,以达到优势互补之目的。如下图所示:
下面我们将一步一步地学习,怎么来实现这一功能:
一、定义XML配置文件,web 标签页的所有属性,比如说标签图标的URL、名称、tooltip 提示、web 页面的地址、传递的参数等,都必须通过一个XML文件来加以定,如下所示:
<tabdata>
<tab>
<image>http://localhost/BNSolution/WebTest/RESOURCE/IMAGE/away.png</image>
<name>System</name>
<tooltip>常用系统</tooltip>
<contenturl>http://localhost/BNSolution/WebTest/OCS/WebForm1.aspx</contenturl>
<userid>true</userid>
<contactid>true</contactid>
<accessibility>inside</accessibility>
</tab>
<tab>
<image>http://localhost/BNSolution/WebTest/RESOURCE/IMAGE/2.png</image>
<name>System</name>
<tooltip>信息中心</tooltip>
<contenturl>http://localhost/BNSolution/WebTest/OCS/HTMLPage1.htm</contenturl>
<userid>true</userid>
<contactid>true</contactid>
<accessibility>inside</accessibility>
</tab>
</tabdata>
XML文件中,各元素的详细说明如下:
XML 元素 |
描述 |
是否必须 |
tabdata |
Contains 0 or more tab elements. The aximum number of tab elements is 32. |
No |
tab |
Contains image, name, tooltip, contenturl, userid, contactid, and accessibility elements. |
No |
image |
标签图片的URL. |
No |
name |
标签的友好名称,用于标识XML结点,将不显示。 |
Yes |
tooltip |
鼠标悬停在标签上时的提示信息。. |
No |
contenturl |
web 标签页面的URL。 |
Yes |
userid (“true” | “false”) |
展现标签页面时,是否带上usrid 参数(当前用户SIP:URI)。缺省:false |
No |
contactid |
展现标签页面时,是否带上联系人的 contactid 参数(联系人的SIP:URI)。
|
No |
accessibility ( |
用户在企业内部或者外部登录时,该标签是否显示: |
No |
二、发布XML文件,发布方式有:
HTTP:
HTTPS: 确认要在IE浏览器中可正确访问,如果不能访问,请将该站点加入IE的信任站点列表中。
文件共享:其书写规则为: file:///c:/intput/wwwroot/OcsConfig/Tab/tabURL.xml
三、注册XML文件,打开注册表编辑器,找到HKEY_LOCAL_MACHINE\software\Policies\Microsoft\Communicator ,创建一字符串项TabURL 其值就是上面发布的XML文件的URL,比如:http://localhost/OcsConfig/TabURL.XML。
也可编辑一个reg 文件,直接导入即可:
"TabURL"="http://localhost/OcsConfig/TabURL.XML"
四、重新登录OC,看一看漂亮的女神,终于揭开她神秘的面纱,是不是能和我们一见忠情啊!
在OC2007中,通过定制web 标签页,才算打开它二次开发的大门,开始踏上二次开发的慢慢征途。这些标签页,基本上没有什么限制,无论asp、ASP.net 、Microsoft SharePoint Services Web parts、Microsoft ActiveX
controls 还是 scripted applications,都可以正确的运行。所以说,尽可能地发挥你丰富的想象力,把OC与应用系统很好地集成起来,不怕做不到,只怕想不到。
最后补充说明几个问题:
1、在OC2007中,最多可以创建 32个tab 标签页,否则将不能生成。其实也用不了那么多,小小的一块天地,捡重点,捡实用的东东放上就可以了,现在楼市火爆,地盘值钱,方寸大小的屏幕,也价值不菲啊,所以就更要合理运用了。
2、标签图片(即:XML文件中的image 图片),必须为*.png 格式的图片。图片的大小为 16 X 16 或者 32 X 32 ,如果图片格式或者图片大小不符合规范,则显示缺省图标。
3、如果需要将当前用户或者被选中的联系人,传递给标签中的web 页面,我们可以有下面两种办法:、
(1)、在XML文件中,设置 userid =true contactid =true,这样当前用户或者联系人的SIP:URI 就会作为页面参数传递给web 页面,比如:
contenturl=http://moc.corp.contoso.com/corpnews.html 当前用户为sip:mallen@contoso.com ,加载web 页面时的URL则为:http://moc.corp.contoso.com/corpnews.html ?usrid=sip:mallen@contoso.com
(2)如果需要将当前选中的联系人、联系人分组信息传到web 页面,有一个脚本函数可以使用
OnSelectionChange(contacts, groups, distribution_groups)。
今天就写到这里了,其实,这里面还有很多很炫的功能,希望能和大家一起讨论,下一堂课,将讲述如何扩展OC2007的菜单功能,敬请关注。