IBM®
跳转到主要内容
    中国 [选择]    使用条款
 
 
Select a scope: Search for:    
    首页    产品    服务与解决方案     支持与下载    个性化服务    
跳转到主要内容

developerWorks 中国  >  Lotus  >

通过 Eclipse 插件来扩展 IBM Lotus Symphony

developerWorks
文档选项

未显示需要 JavaScript 的文档选项


级别: 初级

罗 敏 (luomin@cn.ibm.com), 软件工程师, IBM 中国软件开发中心

2008 年 5 月 22 日

本文通过集成一个简单的插件实例,介绍了在 IBM Lotus Symphony 中如何开发和部署 Eclipse 插件,实现对 IBM Lotus Symphony 的用户定制和扩展。

简介

从功能上讲,Lotus Symphony 是一组集创建、编辑和共享文字处理,电子表格和演示文稿为一体的免费办公套件。它支持开放文档格式(Open Document Format,简称 ODF)。这也就是说,通过 Lotus Symphony 创建编辑生成的 ODF 文件,还可以被其他的遵循 ODF 标准的别的办公软件,比如 Open Office 使用。另外,Lotus Symphony 支持 MS Office 文档的导入,导出;支持 Smartsuite 中 .lwp, .prz 和 .123 文件的导入和导出为 PDF 格式。

从技术上讲,Lotus Symphony 源自 Open Office 1.1 ,是基于 Lotus Expeditor 平台的一个 Eclipse 的插件应用。换句话说,本质上 Lotus Symphony 就是一个大的 Eclipse 插件包。图 1 是 Lotus Symphony 的框架结构图。


图 1. Lotus Symphony 的框架结构图
图 1. Lotus Symphony 的框架结构图

Lotus Symphony 既是一个 Eclipse 插件,也是一个可扩展的框架。我们可以通过在 Eclipse 上创建各种插件来扩展 Lotus Symphony。新创建的插件可以通过使用 Lotus Symphony 提供的 API 来访问各种服务,文档内容等,从而根据用户自己的需求来解决特定的问题。比如,有不少 Symphony 的用户提出:希望在 Symphony Office 里实现与邮件的集成。当用户编辑完文档后,可以将文档通过指定的或者缺省的邮件程序以电子邮件的形式发送出去。类似这样很有用的功能,就完全可以通过插件来实现。

下面,让我们通过一个相对简单的实例,来介绍如何在 Eclipse 中创建一个Lotus Symphony插件。通过部署这个插件,我们可以启动 Symphony 中内嵌的浏览器,访问 Symphony的论坛,发布一个主题。





回页首


实例介绍

第一步: 配置集成开发环境

IBM Lotus Symphony 的集成开发环境 (IDE) 是基于 Eclipse 3.2 (在此,我们并不推荐使用 Eclipse 3.3 或者以上版本)。所以,配置开发环境的第一步就是要安装 Eclipse 3.2 和咱们的 IBM Lotus Symphony。

  1. Eclipse 3.2 ,并将其解开到一个本地磁盘,比如 d:\eclipse 作为 <ECLIPSE_HOME> 。
  2. 从 IBM Lotus Symphony 处下载 Lotus Symphony,并假定到本地磁盘位置,比如: d:\symphony 作为 <SYMPHONY_HOME> 。
  3. 从 Lotus Expeditor Toolkit 处下载并安装 J9 plug-in 和 J9 SDK,将其放置到本地磁盘:d:\J9_SDK。
  4. 启动 Eclipse IDE后,创建一崭新干净的工作空间。首先从 Window>Preferences 下设置好目标平台(Plug-in Development>Target Platform),比如:<SYMPHONY_HOME>\framework\eclipse。其次,搭建 J9 JRE 运行时环境。在 Window>Preferences 窗口下,选择 Java>Installed JRE。添加新的 JRE。如下输入 :

        JRE type: J9 VM
        JRE name: JCL Desktop
        JRE home directory:<J9_SDK>\jre
        Default VM arguments: -jcl:max
    

    将设置的 JRE 作为缺省值,并且,添加 <JRE_HOME>\lib\jclmax\ext 和 <JRE_HOME>\jclmax\opt-ext 目录下所有的 JAR 文件添加到 JRE 系统库中。

第二步: 在 Eclipse IDE 中创建一个新的运行时配置

在新创建运行时配置的时候有几点需要注意的是:

  1. 选中 Clear workspace data before launching。
  2. 在 Run a product 中选择 com.ibm.productivity.tools.standalone.branding.productivitytools。
  3. 在 Runtime JRE中选择 JCL Desktop 。
  4. 在 Arguments页,设置 Program arguments 如下:

    -personality com.ibm.productivity.tools.standalone.personality
    -debug
    -console
    

    设置 VM arguments 如下:

    -Xbootclasspath/a:${rcp_home}/rcp/eclipse/plugins/com.ibm.rcp.base_${rcp_version}/rcpbootcp.jar

  5. 设置两个变量:
    1. rcp_home 其变量值为,Lotus Symphony 的安装路径,比如 <SYMPHONY_HOME>\framework。
    2. rcp_version 其变量值为 com.ibm.rcp.base 插件的当前版本数字。您可以从 Lotus Symphony的安装路径下找到这个值。比如,<SYMPHONY_HOME>\framework\rcp\eclipse\plugins\com.ibm.rcp.base_6.1.0.0-200701121347,那么 rcp_version 的变量值就是:6.1.0.0-200701121347。
  6. 直接在 Eclipse IDE 中运行就可以启动 Lotus Symphony。如果没有异常出现,那么就表明所有的环境配置成功了。

第三步: 创建示例插件

这个插件的主要功能是在 Symphony 中启动内嵌的浏览器,直接打开 Symphony 的 Web 论坛。在 Lotus Symphony 中运行的界面如图二所示:


图 2. Symphony 界面
Symphony 界面

还不错吧?下面就我们开始动手来实现这个插件:

在 Eclipse IDE 中,选择 File>New>Project,然后选择 Plug-in Project 选项。如图三所示:


图 3. 新建 Plug-in Project
新建 Plug-in Project

创建名为 com.ibm.symphony.samples.forum 的插件项目。在该项目中,只加入了一个扩展点:org.eclipse.ui.actionSets。详细情况请见 plugin-in.xml 插件清单。


清单 Plug-in.xml 文件
清单  Plug-in.xml 文件

该扩展点在菜单中加入了一个名为 “Forum Support”的菜单,并且在工具栏里增加了一个快速启动小图标。如图四所示:


图 4. 快速启动小图标
快速启动小图标

插件代码编写完毕后,需要构建 feature 和 update site。请参阅相关的帮助文档。在此就不再赘述了。

第四步: 部署新创建的插件到 Lotus Symphony 中

最后一部分将指导您如何将插件的 update site 部署到 Lotus Symphony 中。该部分是在 Lotus Symphony 中完成:

在 Lotus Symphony 中,选择 File>Application>Install,并选择 Search for new feature to install,如图五所示:


图 5
图 5

点击 Add Zip/Jar Location ,选择您先前所创建的 update site,点击 Finish。如图六所示:


图 6
图 6

接下来的几步,点击 Next 直到完成 Lotus Symphony 插件的安装部署。重新启动 Lotus Symphony,就可以使新插件生效了。在该示例中,点击所创建的菜单或者工具栏小图标,就能得到如图七所示的界面,直接点击 OK 就可以启动 Symphony 浏览器了。


图 7
图 7

以上就是 Lotus Symphony 插件的开发及部署过程。怎么样,是不是很简单?那么就赶快跟着本文的描述,发挥您的创造力,开始您的插件开发之旅吧!





回页首


结束语

如上我们已经讲述了如何将一个 Eclipse 插件编写并部署到 Lotus Symphony 中的例子。至此,您可以用您所拥有的 Eclipse插件知识,构建属于您自己的插件应用。我们希望通过这样一种开放技术,为您带来更多的,在 Lotus Symphony 产品中的有趣体验。

如果您感兴趣的话,可以访问如下网址:http://lotus.symphony.com,这里有一些已经定制完成的 Lotus Symphony 插件。您还可以下载 Symphony developer SDK,从中找到更多的插件示例。



参考资料

学习

获得产品和技术


关于作者

罗敏,现任 IBM 中国软件开发中心软件工程师。您可以通过 luomin@cn.ibm.com 与他联系。




对本文的评价










回页首


IBM 公司保留在 developerWorks 网站上发表的内容的著作权。未经IBM公司或原始作者的书面明确许可,请勿转载。如果您希望转载,请通过 提交转载请求表单 联系我们的编辑团队。
    关于 IBM 隐私条约 联系 IBM 使用条款