扩展 Connect To 控件
上次修改时间: 2015年3月9日
适用范围: SharePoint Foundation 2010
"连接到"菜单项是可扩展的,这样任何客户端都能够使用它。
如何连接"连接到"菜单项?创建 ActiveX 控件并让菜单知道此控件。
扩展"连接到"菜单项
若要显示该菜单项,客户端应用程序必须执行以下两个步骤:
注册 Stssync 协议 协议处理程序。使用 stssync 协议,可以向 Office Outlook 2003、Office Outlook 2007 或支持该协议的第三方应用程序添加 SharePoint Foundation 网站上现有的事件列表或联系人列表。
安装一个返回应用程序名称和图标文件名的 ActiveX 控件。
此 ActiveX 控件必须具有 SharePoint.Stssynchandler.3 的 ProgID,并且必须实现下列方法:
HRESULT GetStssyncAppNameForType([in] BSTR pbstrType, [out, retval] BSTR *pbstrAppName);
HRESULT GetStssyncIconName([out, retval] BSTR *pbstrIconName);
在显示该菜单项之前,SharePoint Foundation 会调用 ActiveX 控件中的 GetStssyncAppNameForType() 方法,并传递当前列表的同步类型。每个列表具有一个默认同步类型(在 SPList.SyncType 的对象模型中访问),此同步类型是根据列表的基本类型、基本模板以及列表是否允许内容类型来决定的。可以将此类型作为功能中的列表模板定义的一个属性进行重写。
通常,ActiveX 控件会对照一个受支持的类型列表来检查同步类型,并返回其中显示该菜单项的应用程序的名称;或者,如果不支持该类型,则将返回 NULL,此时不会显示该菜单项。
如果返回一个非空应用程序名称,则 SharePoint Foundation 将调用此控件的 GetStssyncIconName() 方法以获取要在该菜单项中显示的图标的文件名。返回的文件名将在文档库文件夹的上下文菜单中使用,同时为此文件名添加"menu"前缀以获取工具栏菜单项中使用的图像。这样,客户端应按照每台 SharePoint Foundation Web 前端服务器的图像路径安装两个图像。例如,如果文件名为"sample",则相应的图像名将分别为 sample.gif 和 menusample.gif。
如果浏览器不支持 Active X,则显示带默认图标的"连接到"菜单,可以假定支持 stssync 协议。
单击此按钮时,JavaScript 会使用正确的上下文参数将浏览器重定向到 stssync:// URL。此 URL 的格式如下所示:
stssync://sts/?ver=1.1&type=Type&cmd=add-folder&base-url=WebUrl&list-url=ListUrl&guid=ListId&site-name=SiteName&list-name=ListName
类型 |
此列表的同步类型 |
---|---|
ListId |
列表标识符,表示为 GUID。 |
ListName |
列表的标题;最大长度为 20 个字符。 |
ListUrl |
列表的相对于网站的已编码 URL(以 / 开始和结束)。 |
SiteName |
列表所在的网站的标题;最大长度为 20 个字符。 |
ViewUrl |
列表的默认视图页的相对于网站的已编码 URL(以 / 开始)。 |
WebUrl |
列表所在的网站的绝对已编码 URL。 |
在同步文件夹时,文档库可以向 stssync:// URL 的结尾添加两个参数:
&folder-url=FolderUrl&folder-id=FolderId
FolderUrl,上下文文件夹的相对于网站的未编码 URL(以 / 开始)
FolderId,上下文文件夹的项目 ID(一个整数)
请参阅
概念
GetListItemChangesSinceToken 和同步应用程序