OpenSource-050115-第40期-CoEfficient
11:58
我回來了很久沒有發電子報了, 可能有些讀者都覺得訂閱這電子報真是無趣, 因為我蠻討厭 PCHOME 瘋狂寄垃圾郵件給我, 我發給他們請他們幫我修改註冊的 email, 免得垃圾郵件都轉發到我的信箱, 可是他們愛理不理.. 真是他媽的 SHIT… 所以我改用私人帳號發信, 至於未來要怎麼訂閱電子報, 大概會做一個簡單的註冊系統, 當然不會少掉取消訂閱的功能, 這樣, 為了砥礪自己寫文章, 有鼓勵有回應, 我就會繼續寫下去 ~~
相關的訂閱功能, 應該會隨著本公司的網站改版, 將會附加上去, 所以可以在農曆年後到
http://www.softleader.com.tw 訂閱吧 ~
本週主題 Coefficient Section 01 專案協同合作平台
因為軟體產業不好做, 常常有人拿軟體工程和建築工程相提並論, 把程式設計人員當成建築工人, 把系統分析師當成畫藍圖的設計師, 把專案經理當成監工等等, 如果保險公司出了工程延誤險, 包含了軟體工程, 我相信所有軟體公司都願意繳交保費, 不過保險公司一定也不好過, 十個專案應該會有九個專案 Delay, 三個專案失敗.. 到底是哪一個環節出了問題呢, 軟體大師們紛紛討論好幾套有效的開發流程, 不論是 RUP, XP, 甚至定義標準的 CMM/CMMI, JCOE 等等 ~, 都脫離不了一個概念, 希望能夠把專案控制得宜, 風險降到最低, 獲利達到最高.. 同時間, IBM 併購了 Rational , Borland 併購了 TogetherSoft. 都是代表 軟體開發 已經進入到另外一個層次, 不再是單打獨鬥, 一人搞定的系統, 未來應該是一個團隊, 好幾個團隊 甚至是跨國的團隊合作開發. 當系統開發已經不是可以用口語溝通的時候, 專案掌控也將成為一個極具難度的考驗, 所以光靠 Email,書信,電話往來是不足夠的, 我們需要一個"專案協同合作"的平台.
其實早在 PHP 時代, phpGroupWare (
http://www.phpgroupware.org/ ) , eGroupWare (
http://www.phpgroupware.org/ ) 及 dotNet (
http://www.dotproject.net/ ) 都是不錯的協同合作平台. 在 Java 時代來臨之際, 也有許多開發這類型的 Opensource, 然而, 我對 CoEfficient 感覺比較好.. 因此本週主題將以 Coefficient 為介紹.
Section 02 安裝 CoEfficient
下載位置 :
http://sourceforge.net/project/showfiles.php?group_id=90755最新版本 : 0.9.5.1
版權宣告 : LGPL
安裝其實非常的簡單, 只要你下載最新的 binary codes, 他有出 JBoss 及Tomcat 版本, 因為本專案大量利用許多明星級的 Opensource, 例如 XDoclet, Velocity, Hibernate 等等, 所以有興趣的人也可以下載 source 來研究.
安裝的方式, 其實只要先設定一下 hibernate 的 properties, 讓他可以存取你的資料庫, 執行 updateHibernatePropertiesWeb 讓他重新將 war 打包成新的, 再將該 war 檔放置在 %TOMCAT%/webapps/ 之下, 讓 tomcat 自動部署即可. 不過因為有一些 Resource 要設定在 server.xml, 就把server.xml.snippit 這檔案的內容放置在你的 <context> 之中即可. 最後修改一下 Mail 及 Fileuplad 的常數值, 重新啟動 server, 應該就可以正常執行了,
如果對於 Hibernate 不熟悉的, Dialect 的設定可以參考
http://www.hibernate.org/hib_docs/reference/en/html/session-configuration.html#configuration-optional-dialects
browser 連結
http://localhost:8080/coefficient/index.html 就可以看到下面畫面

選擇右邊的 Login, 使用 admin/admin 就可以登入系統了

Section 03 使用
每個使用者可以自行註冊, admin 可以建立相關專案, 並且分配專案給予使用者. 其他相關的執行狀況, 也包含了協同合作所需要的項目, 如討論版, 任務狀況, 檔案上傳等等, 這些功能非常地基本, 所以不特別另外介紹了.
不過目前沒有中文化的套件, 加上使用 ISO-8859-1 並沒有轉碼為 UTF-8, 這部分為他的缺點. 所以可以動手修改他的原始碼.
另外, 如果和 PHP 的協同合作平台相比較, coefficient 雖然已經足夠使用了, 但是還不足夠. 例如 wiki 甚至 CVS 的控制等等, 不過相信隨著其他 opensource project 成熟之後, 整合在一起也不是一件困難的事情了.
Section 04 自行定義安裝擴充模組
在 JavaWorld 有一篇 Coefficient 的報導 ~
http://www.javaworld.com/javaworld/jw-09-2004/jw-0920-coefficient.html,
特別說明了如何去開發 custom module, 作者建立了一個 wiki 範例, 按照他的步驟, 就可以建立出一個簡單的 wiki 了.
/**
* @pojo2ejb.class
* name="Wiki"* jndi-prefix="za/org/coefficient/navigation/"
* interface-extends="za.org.coefficient.interfaces.Module"
* interface-local-extends="za.org.coefficient.interfaces.ModuleLocal"
*
*/
public class Wiki extends BaseModule {
public Wiki() {
wikiText = "This is a *wiki* _page_ ";
} public String getModuleDisplayName () {
return "Wiki";
} public String getModuleDescription () {
return "Sample Module"; } public String getMainMethod () {
return "display";
} // ~~~
}
就是透過 XDoclet annotation 來執行相關的編譯動作, XDoclet 和 Ant 的合作, 未來將會在其他專題介紹.
其他如 James Mail Server 的整合, 在他的網頁中也可以查詢.
---
相關連結Coefficient Site :
http://coefficient.sourceforge.net/Hibernate Site :
http://www.hibernate.org/備註等到我最近將中文化搞定之後, 才發電子報吧 ^^~