内容


在 IBM Lotus Sametime V7.5.1 中使用插件

开发插件

Comments

系列内容:

此内容是该系列 # 部分中的第 # 部分: 在 IBM Lotus Sametime V7.5.1 中使用插件

敬请期待该系列的后续内容。

此内容是该系列的一部分:在 IBM Lotus Sametime V7.5.1 中使用插件

敬请期待该系列的后续内容。

如果学习了本系列的第 1、2 和 3 部分,那么您就已经使用 Eclipse 通过利用运行时配置测试了 IBM Lotus Sametime 插件。第 1 部分 介绍了使运行时配置正常工作所需的设置。第 2 部分 讨论了如何从头开发 BuddyNote 插件。第 3 部分 解释了上述设置,允许您配置自己的启动环境,以备将来开发使用。第 3 部分还讨论了 Eclipse 提供的调试透视图,以及 IBM Lotus Sametime V7.5.1 Software Development Kit (SDK) 带来的 EventLogger 插件的调试和开发优点。

本系列文章面向的是那些有意通过开发插件以扩展 Lotus Sametime 功能的人员。读者应熟悉 Lotus Sametime 及其用法。

先决条件

本文读者需要具有 Java 开发经验,但是不必具有 Eclipse 或插件开发经验。要获得示例插件的所有优点,需要已经学习本系列的第 2 部分 “开发 BuddyNote 插件”。请参考第 1 部分 “配置 Eclipse 环境”,获取系统需求的详细说明。

简介

如果完成了本系列的第 2 部分,就应该具有了一个可以工作的 BuddyNote 插件。您可能正在想可以对它做些什么。此时,只有当您从它所在的 Eclipse 工作区启动 Lotus Sametime V7.5.1 时,插件才可以工作。如果直接使用桌面快捷方式或者 home 目录中的可执行文件运行 Lotus Sametime V7.5.1,您会发现 BuddyNote 无法工作。尽管去做这个实验,但是要记住首先从 Eclipse 退出正在运行的实例。

正如前面提到的,您已经有了一个可以工作的插件,但是只可以从 Eclipse 使用它。您可以将插件导出到一个 JAR 文件,并将它放到一个针对 Lotus Sametime 的插件目录中,作为一个所谓的不受管制的(unmanaged)插件,因为它绕过 Eclipse 的插件 Update Manager。但是这一实践可能会被系统管理员禁止。

这就为发布自定义插件带来两种选择。可以将插件发布到 Eclipse 更新站点上,让用户使用 Lotus Sametime Connect Manage Plug-ins 用户界面安装它(这一能力可由系统管理员禁用),也可以与 Lotus Sametime 管理员协作,在用户下次启动 Lotus Sametime 时将插件自动发布给所有用户。这两种选择的前三步是相同的,本文将解释这三步:

  1. 为部署准备插件
  2. 创建一个特性
  3. 创建一个 Eclipse 部署 Web 站点

为部署准备插件

部署中的第一步是准备插件。您必须确定您需要或者想要包含在发行版中的运行时组件。

如果还没有将 Eclipse 打开到本系列第 2 部分中使用的工作区,那么现在打开它。接下来,验证已经为您的发行版选择了适当的插件组件。

要准备插件,请执行以下步骤:

  1. 在左边的 Package Explorer 选项卡中双击插件的 build.properties 文件,以打开 Build Configuration Editor,如图 1 所示。

    在这里指出将在发行版中包含哪些插件组件。应该选择表 1 中列出的和图 2 中显示的默认选择。如果不是这样选择的,请做适当的更改。

    注意:如果想要将该插件导出为一个 JAR 文件或文件夹,您可以包含 src 文件夹并提供对 Java 文件的访问。这对于与其他开发人员共享自己的插件是有益的,但是对于本文中介绍的安装无益。
  2. 选择 File – Save。
图 1. Build Configuration 编辑器
Build Configuration 编辑器
Build Configuration 编辑器
表 1. 默认的选择
Under Binary BuildUnder Source Build
META-INF.classpath
bin.project
plugin.xmlsrc
图 2. 组件选择
组件选择
组件选择

创建一个特性

选择了所需的插件组件之后,下一步就是创建一个特性来包含它们。一个特性识别组成一个功能块的所有组件。尽管在这个特定的特性中只有一个插件,但是通常来说,一个特性插件包含一组相关的插件,以提供用户功能的一个确定部分。Eclipse 使用这一信息来确定所有必要的、具有兼容版本的插件和特性是否都已经包含在安装中。

BuddyNote 的特性插件包含插件作为 JAR 文件,并提供一个包含插件信息的清单(manifest)。这种打包使得插件可被 Eclipse Update Manager 识别,Eclipse Update Manager 是一个 Eclipse 工具,用于管理插件和片段(fragment)的版本和部署。

要创建特性插件,请执行以下步骤:

  1. 创建一个特性项目。选择 File - New Project,在 Plug-in Development 下面选择 Feature Project,然后单击 Next。
  2. 在 Feature Properties 页面上,为项目名称输入插件的名称,后缀为 .feature (sample.buddynote.feature),然后单击 Next。

    注意:输入项目名称之后,属性 Feature ID 和 Feature Name 会自动填充。您可以保留默认值,也可以根据自己的喜好更改。保持 Feature ID 为默认值,将 Feature Name 更改为 BuddyNote Feature。单击 Next。
  3. 现在打开了 Referenced Plug-ins and Fragments 页面,其中带有一个可用插件列表。滚动到列表的底部以看到 sample.buddynote。选择它,然后单击 Finish。

    现在已经创建了一个特性包。打开到 Overview 选项卡,如图 3 所示。
    图 3. BuddyNote Feature —— Overview 选项卡
    BuddyNote Feature —— Overview 选项卡
    BuddyNote Feature —— Overview 选项卡
  1. 单击 Branding Plug-in 字段旁边的 Browse 按钮,并从列表中选择 sample.buddynote。

    注意:如果对用于宿主 Lotus Sametime 插件的更新站点具有访问权限,那么您可以在提供的字段中输入 URL 和站点名称,并将创建的文件放在服务器上以使得插件可用。保留这些字段为空,因为对于本文的目的来说,您将插件本地宿主在自己的硬盘上。

    注意:如果开发了一个特定于操作系统或处理器架构的插件,那么可以在 Supported Environments 下面所提供的字段中输入这些信息。因为该插件是通用的,所以保留这些字段为空。
  2. 在 BuddyNote Feature 对话框底部选择 Information 选项卡,出现 Feature Description、Copyright Notice、License Agreement 和 Sites to Visit 部分。

    如果这是一个专业插件版本,那么应该向这些字段添加必要的合法信息。在您定向 Lotus Sametime Manage Plug-ins 界面以加载插件时会引用该信息。现在不需要输入任何信息;但是如果您愿意,尽管添加您自己的消息。License Agreement 将在安装期间出现。
  3. 选择 Plug-ins 选项卡,并验证列出了 sample.buddynote。
  4. 单击 Versions 按钮,然后选择 "Synchronize Versions on Build (recommended)" 选项。这会自动将当前工作区中的插件版本号复制到列出必要插件的特性插件清单。
  5. 单击 Finish 按钮。

    注意:可以返回 feature.xml 页面,看特性清单编辑器生成了什么。如果愿意,您也可以直接修改清单源代码,更改会反映到编辑器的页面中。大多数 Eclipse 开发人员喜欢使用特定于清单的编辑器,因为这样做消除了出现语法错误的可能性。

创建一个更新站点

最后一步是为部署的特性和插件创建一个 Eclipse 更新站点。这是一个容器,Eclipse Update Manager 将在这里检查要安装的特性。

要创建更新站点,请执行以下步骤:

  1. 要创建 Eclipse 部署 Web 站点,首先需要创建一个更新站点项目。选择 File - New Project,选择 Plug-in Development,然后选择 Update Site Project。
  2. 这将打开 New Update Site 向导。为 Project name 输入 sample.buddynote.update,并取消选择 Use default location 选项。因为您是本地宿主该站点,所以您想要将必要的文件放置在方便的位置。因此,单击 Browse 按钮,选择 Desktop,并将 \BuddyNote 添加到 Location 栏所示的路径的末尾。最后,选择 "Generate a web page listing all available features within the site" 选项,并确保 Web resources location 显示 web。单击 Finish 打开 Update Site Map。

    图 4. Update Site Project 设置
    Update Site 设置
    Update Site 设置
  1. 打开的 Update Site Map 对话框在左边有一个 Managing the Site 部分,您可以在这里添加特性。单击 Add Feature 按钮,并从列表中选择 sample.buddynote。

    注意:如果在该站点中放置多个特性,您可能想要通过使用如图 5 所示的 New Category 按钮将它们按常见类别组织起来。

    图 5. Update Site Map
    Update Site Map – Add Feature
    Update Site Map – Add Feature
  1. 单击 Build 或 Build All 按钮,您的特性和插件就会作为其各自文件夹中的 JAR 文件被添加到项目中。出现一个描绘该过程的的对话框。

    注意:如果该更新站点有不止一个特性,那么请单击 Build All 按钮。当有多个特性并对其中一个或几个做了更改时,Build 按钮最为有用。Build 按钮允许您只更新做了更改的特性,而不是更新整个站点。

    构建完成之后,如果从桌面打开 BuddyNote 文件夹,将会看到该更新站点所需的文件夹和文件。

    特性和插件文件夹包含各自的 JAR 文件,site.xml 文件列出所有可用的特性。site.xml 的格式很直观。

    现在有了可部署格式的插件;下一步是使用 Lotus Sametime 中的 Manage Plug-ins 用户界面来加载它。

安装 BuddyNote 插件

插件是一种有助于为程序和平台提供灵活性、自定义和长寿命的工具。但是它们潜在的危险比帮助更大。插件一旦安装就可以访问文件系统和 Internet。它们甚至被分配一个通过防火墙的受保护路径,因为它们被包装在已验收的程序中。使用更新站点中的特性会提供文档,比如许可协议,而更为重要的是,允许进行数字签名以验证插件是合法的。这些考虑因素是部署插件为什么需要您刚才执行的设置的一个原因。

使用更新站点也允许 Manage Plug-ins 用户界面安装、修改和卸载插件。这将控制权交给用户,简化了管理所安装的特性之间的潜在冲突。如果手动将一个插件放入插件文件夹,那么您没有更新或删除它的访问权,因为 Manage Plug-ins 界面的特性清单都没有记录它的存在。

在为更新站点准备好插件之后,有两种已证实的安装方法:静寂或手动。可以将更新站点的文件(包含在 Desktop\BuddyNote 目录中)提供给看管 Lotus Sametime 的系统管理员。管理员可以配置 Lotus Sametime 服务器,以便用户下次启动程序时为每个用户静寂地安装插件。

另一个选项是将文件上传到一个已证实的更新站点,用户在这里可手动安装插件。系统管理员可以禁用手动安装。如果手动安装已禁用,那么您必须就发布插件一事联系管理员。

对于本文来说,您将更新站点放在桌面上,使之成为一个本地站点,您可将 Lotus Sametime 定向到该站点。本地宿主站点也让您可以在将插件放到服务器上之前验证插件是否安装正确。

要安装插件,请执行以下步骤:

  1. 打开 Lotus Sametime 的一个实例。使用桌面快捷方式,或者打开 Lotus Sametime 可执行程序,以运行一个新实例。不要通过 Eclipse 启动 Lotus Sametime。
  2. 打开 Lotus Sametime 之后,连接到网络,选择 Tools - Plug-Ins - Install Plug-ins。出现如图 6 所示的 Install/Update 对话框。

    图 6. Feature Updates 对话框
    Feature Updates 对话框
    Feature Updates 对话框
  1. 选择 "Search for new features to install" 选项,然后单击 Next。这将打开 "Update sites to visit" 窗口。
  2. 因为您的更新站点存储在本地,所以单击 New Local Site,并选择桌面上的 BuddyNote 文件夹。单击 OK。
  3. 出现如图 7 所示的 Edit Local Site 对话框,其中显示了更新站点的名称和路径信息。不需要更改这些值。单击 OK。

    图 7. Edit Local Site 对话框
    Edit Local Site 对话框
    Edit Local Site 对话框
  1. 确保选中了 Desktop/BuddyNote 旁边的复选框,然后单击 Finish 以弹出 Updates 对话框。
  2. 如图 8 所示,展开 Desktop/BuddyNote,并选择 BuddyNote Feature 1.0.0。选择 "Show the latest version of a feature only" 选项,然后单击 Next。

    图 8. Updates 对话框
    Lotus Sametime – Updates 对话框
    Lotus Sametime – Updates 对话框
  1. 出现特性的许可协议。在创建特性时,您可以选择在 Information 选项卡下面提供许可协议。如果您在那时添加了任何文本,那么现在就会看到这些文本。接受许可协议,然后单击 Next。
  2. BuddyNote 插件现在列出在 Installation 窗口中。单击 Finish 执行安装。

    图 9. Install 对话框
    Install 对话框
    Install 对话框
  1. 如图 10 所示,Lotus Sametime 会警告您,您试图安装的插件是否已签名和验证。因为您知道是您自己编写的插件,并且您觉得自己是可以信赖的,所以单击 Install 以完成安装。

    图 10. Verification 对话框
    Verification 对话框
    Verification 对话框
  1. 安装完成之后,会提示您重启工作台。单击 Yes,Lotus Sametime 重启,BuddyNote 应用程序成为可用的。

    现在每当您运行 Lotus Sametime 就可以访问 BuddyNote 插件了,如图 11 所示。我们希望您会发现它有用。如果您发现它没用,本文也将讨论如何禁用和卸载它。

    图 11. Lotus Sametime – BuddyNote Installed
    Lotus Sametime – BuddyNote Installed

禁用 / 卸载 BuddyNote 插件

因为您使用 Manage Plug-ins 用户界面安装了 BuddyNote,所以也可以禁用或卸载它。如果还会再次利用该功能,就禁用插件,如果完全不会再用它了,就卸载插件。要卸载插件,必须首先禁用它。

要禁用插件,请执行以下步骤:

  1. 在 Lotus Sametime 中,选择 Tools - Plug-Ins - Manage Plug-ins,以显示如图 12 所示的 Product Configuration 窗口。
  2. 展开 Lotus Sametime 左边窗格中的列表,看到已经安装的插件的列表。
  3. 选择 BuddyNote Feature 1.0.0,会在右边看到两个选项:Disable 和 Show Properties。单击 Disable,会再次提示您重启。单击 Yes。
图 12. Product Configuration 窗口
Product Configuration 窗口
Product Configuration 窗口

当 Lotus Sametime 返回时,BuddyNote 应用程序不再运行;然而,它仍然是安装的。要卸载 BuddyNote 插件,请执行以下步骤:

  1. 要卸载(或启用),选择 Tools - Plug-Ins - Manage Plug-ins 以返回到 Product Configuration 窗口。
  2. 展开左边的 Lotus Sametime,会看到已安装插件的列表。注意,BuddyNote Feature 1.0.0 现在有一个红叉,表示它已被禁用。

    注意:如果没有看到 BuddyNote Feature 1.0.0,那么单击 Show Disabled Features 的 Toolbar 按钮,以刷新列表,显示已禁用的特性。
  3. 选择 BuddyNote Feature 1.0.0。有三个选项:Enable、Uninstall 和 Show Properties。要重新激活插件,则单击 Enable;要卸载插件,则单击 Uninstall。
  4. 会再次提示您重启 Lotus Sametime。单击 Yes,当 Lotus Sametime 返回时,插件将完全被删除。

结束语

在本系列文章的第 4 部分中,您使用 Eclipse 开发环境创建了一个插件特性和一个更新站点,并且学习了如何安装、禁用和卸载插件。如果您仍然对 Lotus Sametime 开发感兴趣,请参阅 “参考资料” 部分的在线资源,尤其是 Lotus Sametime 红皮书和关于部署的 Eclipse 文章。

这个关于 Lotus Sametime V7.5.1 插件开发的系列文章到此就结束了。您学习了如何配置 Eclipse 作为 Plug-In Development Environment,如何创建扩展 Lotus Sametime 用户界面的自定义插件,如何使用 Eclipse 提供的调试工具来故障诊断插件,以及如何使用特性/更新站点模型来部署自定义插件。现在具有工具来开始创建自己的自定义 Lotus Sametime V7.5.1 插件以及将它们与全球 Lotus Sametime 社区共享。


相关主题


评论

添加或订阅评论,请先登录注册

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Lotus
ArticleID=327481
ArticleTitle=在 IBM Lotus Sametime V7.5.1 中使用插件: 开发插件
publish-date=07072008