【IT168 技术文章】
从功能上讲,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 的框架结构图
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. 设置两个变量:
rcp_home 其变量值为,Lotus Symphony 的安装路径,比如 <SYMPHONY_HOME>\framework。
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 界面
还不错吧?下面就我们开始动手来实现这个插件:
在 Eclipse IDE 中,选择 File>New>Project,然后选择 Plug-in Project 选项。如图三所示:
图 3. 新建 Plug-in Project
创建名为 com.ibm.symphony.samples.forum 的插件项目。在该项目中,只加入了一个扩展点:org.eclipse.ui.actionSets。详细情况请见 plugin-in.xml 插件清单。
清单 Plug-in.xml 文件