2011-02-18 19 views
2

我已经设法实现Name.NameCtrl.1活动x在Sharepoint中使用我自己的自定义生成应用程序的存在。所有工作正常,我正在根据Office通信服务器上的用户状态正确更新状态。但是,我没有得到关于在存在控件中提到的用户的任何其他细节,就像它在SharePoint中一样。我所得到的只是电子邮件字段中的SIP地址(而不是AD中的真实默认电子邮件地址)以及安排会议的链接。在asp.net web应用程序中的存在控制

任何人都可以告诉我如何获得控制来填充广告(部,电子邮件,电话等)的细节,就像它在共享点?此外,我没有在控制中获得像SharePoint一样的组织选项卡。

任何想法?

感谢,

Keeney

回答

0

我想在SharePoint,控制填充了存在于用户配置文件服务数据。如果你想在非共享点的ASP.NET web应用程序中使用这个功能,那么你必须从AD中建立一个用户配置文件信息库(并缓存它!),控制器将显示这些信息。

+1

-1,因为数据是从的Lync/Communicator的拉回,而不是SharePoint。 NameCtrl iself负责缓存所有的数据,不应该有任何需要缓存任何东西 – 2011-02-19 08:24:46

2

NameCtrl在客户端计算机上从Communicator运行实例(或Lync,如果使用的话)获取其大部分数据。没有数据直接从SharePoint中撤回。有NameCtrl在网页上正常工作,你需要确保:

  • 通讯(或Lync)在客户机上运行,​​并在
  • 您呼叫NameCtrl从在该网页签订在浏览器中

内联网或可信站点区域的推荐模式是调用任何其他方法之前调用PresenceEnabled的NameCtrl对象 - 如果它返回false,那么上述prereqs的一个(或两个)是假的。下面的代码通常也适用于我

<script> 

var sipUri = "[email protected]"; 

var nameCtrl = new ActiveXObject('Name.NameCtrl.1'); 
if (nameCtrl.PresenceEnabled) 
{ 
    nameCtrl.OnStatusChange = onStatusChange; 
    nameCtrl.GetStatus(sipUri, "1"); 
} 


function onStatusChange(name, status, id) 
{ 
    // This function is fired when the contacts presence status changes. 
    // In a real world solution, you would want to update an image to reflect the users presence 
    alert(name + ", " + status + ", " + id); 
} 

function ShowOOUI() 
{ 
    nameCtrl.ShowOOUI(sipUri, 0, 15, 15); 
} 

function HideOOUI() 
{ 
    nameCtrl.HideOOUI(); 
} 

</script> 

<span onmouseover="ShowOOUI()" onmouseout="HideOOUI()" style="border-style:solid">Your Contact</span> 

如果您还没有看到它,有一个很好的(ISH)NameCtrl参考here

+0

保罗,我正在包装一切[如果(nameCtrl.PresenceEnabled){}]存在正在工作,我可以改变我的状态在传播者,它会更新我的图标在网页上。它仍然不会填充任何其他详细信息电子邮件,部门,电话等,我仍然没有得到一个组织选项卡。你在自定义应用程序中获得这些细节吗? – keeney 2011-02-22 11:00:50

相关问题