從功能上講,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>frameworkeclipse。其次,搭建 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>libjclmaxext 和 <JRE_HOME>jclmaxopt-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>frameworkrcpeclipsepluginscom.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 文件
該擴展點在菜單中加入了一個名為 “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
點擊 Add Zip/Jar Location ,選擇您先前所創建的 update site,點擊 Finish。如圖六所示:
圖 6
接下來的幾步,點擊 Next 直到完成 Lotus Symphony 插件的安裝部署。重新啟動 Lotus Symphony,就可以使新插件生效了。在該示例中,點擊所創建的菜單或者工具欄小圖標,就能得到如圖七所示的界面,直接點擊 OK 就可以啟動 Symphony 浏覽器了。
圖 7
結束語
如上我們已經講述了如何將一個 Eclipse 插件編寫並部署到 Lotus Symphony 中的例子。至此,您可以用您所擁有的 Eclipse插件知識,構建屬於您自己的插件應用。我們希望通過這樣一種開放技術,為您帶來更多的,在 Lotus Symphony 產品中的有趣體驗。