要将基于 Domino 的应用程序集成到 SharePoint 环境中,最简单的方法就是通过标准的 Web 或 HTTP 调用。使用 SharePoint Page Viewer Web Part 可以很轻松地实现上述集成。
可以使用 Page Viewer Web Part 在 Web Part Page 上显示 Web 页面、文件或文件夹。使用超级链接、文件路径或文件夹名称来链接内容。当然,需要有一个 SharePoint 站点来连接 Lotus Domino。图 3 展示了在 SharePoint 测试环境中所选择的 Create Page 选项。
图 3. 创建新的 SharePoint 站点
从列表(位于模板列表的底部,图中未显示)中选择 Web Part Page 模板。该模板允许您将 Web Part Page 的布局组织成区,并在这些区中安置一个或多个 Web Part。在本文中,我们将在单个区中链接 Domino 资源。
使用模板创建新的 Web Part Page,如图 4 所示。
图 4. 使用现有模板来创建新的 Web Part Page
Web Part 的关键特性之一就是拖放式特征。可以选择一个 Web Part,将其拖至页面上的目标区域或目标区,然后放到该位置上。将 Web Part 放置在预期的区之后,即可对它进行配置。
如前所述,我们将使用 Page Viewer Web Part 通过 HTTP 请求来访问 Lotus Domino。单击 Next 链接来访问 Page Viewer Web Part 选项,如图 5 所示。
图 5. Page Viewer Web Part 选项
将 Page Viewer Web Part 拖放到预期的位置。图 6 所示将其放置在页面的较低位置上。
图 6. 创建新的 Page Viewer Web Part
若要访问 Page Viewer Web Part 的属性,单击 open the tool pane 链接。图 7 显示了结果。
图 7. 设置 Page Viewer Web Part 属性
为了在 Page Viewer Web Part 中使用基于 Domino 的应用程序,选择 Web Page 作为要显示项的类型(Folder 和 File 是另外两个选项),然后在 Link 字段输入正确的 URL。工具窗格中的 Appearance、Layout 以及 Advanced 部分使您可以进一步对资源外观进行控制。
单击 OK 保存更改。图 8 显示了在页面内包含示例 Domino 应用程序的结果 —— 页面的其他区域(顶部横幅和左侧栏)是不可见的,因为它们是空的。现在完成了仅带有一些鼠标单击事件的 Lotus Domino/SharePoint 集成。
图 8. SharePoint 站点中包含 Domino 应用程序的结果
视图内容的显示是不受限制的。可以使用任何 Domino URL 来访问基于 Domino 的数据。图 9 展示了在 SharePoint 页面的标题栏中使用 Domino 图像资源的例子(使用了来自 developerWorks 站点的 IBM 徽标)。通过标准的 ?OpenImageResource URL 命令来访问图像资源,为使用本地 Domino 服务器的示例数据库使用以下语法:
http://localhost/SharePointTest.nsf/ibm-logo.gif?OpenImageResource.
图 9. 在 SharePoint 页面中使用 Domino 图像资源
除了通过 URL 来引用图像之外,还可以使用 SharePoint Image Web Part,它允许您通过 URL 来引用图像并设置图像属性,如垂直和水平对齐、背景颜色等。使用 Domino URL 命令的要点在于可通过 Web 地址进行访问的任何资源都能够用在 SharePoint 安装中。
也可以通过 URL 与 Lotus Domino 进行交互,使用 Domino 代理来显示数据。这种方法使您能够利用 Domino 编程环境在展示之前按需处理数据。清单 1 中简单的 LotusScript 代理显示了来自示例应用程序的特定视图中各文档的公司名称。
清单 1. 用于显示视图内容的 LotusScript 代理
Sub Initialize Dim s As New NotesSession Dim db As NotesDatabase Dim vw As NotesView Dim doc As NotesDocument Set db = s.CurrentDatabase If Not (db Is Nothing) Then Set vw = db.GetView("Companies") Set doc = vw.GetFirstDocument() While Not (doc Is Nothing) Print doc.CompanyName(0) Print "<br>" Set doc = vw.GetNextDocument(doc) Wend End If Delete doc Delete vw Delete db Delete s End Sub |
该脚本访问数据库的 Companies 视图,并使用 Print 语句来显示视图中各文档 CompanyName 字段的内容。使用带有 HTTP 请求的 Lotus Domino 可以扩展为使用两个平台的 XML 功能。