游子吟

致力于.Net,致力于企业信息化工程!
Harvest = Hope + Struggle

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

  前面我们体验了如何定制OCS2007的在线状态,不知道大家有没有去实践过,今天我与大家一道来分享另一个课题:如何在OC 2007中定制web 标签页?
  在OC2007中,在联系人窗口的下方,我们可以添加一系列web 页,将业务系统中重要的、常用的功能集成到OC平台上,致使在OC中可以解决很复杂的业务问题,在业务系统中,也可以方便地进行即时通讯,以达到优势互补之目的。如下图所示:



下面我们将一步一步地学习,怎么来实现这一功能:
  
  一、定义XML配置文件web 标签页的所有属性,比如说标签图标的URL、名称、tooltip 提示、web 页面的地址、传递的参数等,都必须通过一个XML文件来加以定,如下所示:

<?xml version="1.0" encoding="utf-8" ?>
<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
 (“true” | “false”)

展现标签页面时,是否带上联系人的 contactid 参数(联系人的SIP:URI)。
缺省:false

 

No

 accessibility (
 “inside” |
 “outside” |
 “both”)

用户在企业内部或者外部登录时,该标签是否显示:
 inside :仅在内部登录时显示;
 outside:仅在外部登录时显示;
 both:都显示

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 文件,直接导入即可:

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Communicator]
"TabURL"="http://localhost/OcsConfig/TabURL.XML"

   四、重新登录OC,看一看漂亮的女神,终于揭开她神秘的面纱,是不是能和我们一见忠情啊!

   在OC2007中,通过定制web 标签页,才算打开它二次开发的大门,开始踏上二次开发的慢慢征途。这些标签页,基本上没有什么限制,无论asp、ASP.net 、Microsoft SharePoint Services Web partsMicrosoft 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的菜单功能,敬请关注。
  

posted on 2008-01-18 08:08  巴山游子  阅读(5442)  评论(24编辑  收藏  举报