距離之前研究也有一陣子,忽然發現狀態並不見得單純的branch而已。
無奈一心無法兩用~晚上來惡補一下。
xoops
英文版
狀態很穩定,除了2.2, 2.3, 2.4三個branch
各自在試探性地為未來的xoops4做打算。
原來大家都心照不宣知道xoops的code很亂。
中文版的狀況
http://freesf.tnc.edu.tw/modules/news/article.php?storyid=1592
http://www.xoopscube.tw/modules/news/article.php?storyid=407
最主要是這一篇
http://tw.xoops.org/modules/news/article.php?storyid=424
如此見來這已經不是之前死撐活撐的浪游者,記得那時候還經常有很多奇奇怪怪的人再討論xoops,
網站的速度又慢,中文版的對應也慢,tnc的一下子就追上了,翻譯水準也有差。
他什麼時候跟日本人合作去了?
不管怎樣說,表示我的印象太舊也是事實。
那再來看看程式碼吧:
使用ORM的方式還是沒有改變,不過位於class的一些舊的程式碼,有關於user和security很明顯地被合併到kernel下。
class已經很單純地變成外部函示庫擺放的地方,擺脫以往kernel和class混在一起的狀況。
include變成很雜亂,看起來已經變成共用區了,不過要注意的是,雖然不知道啥時改的,
comment已經變成很多系統共用的功能,因此要使用的話,就是include/comment_*.php
不過諸多模組的寫法還是沒有啥變,基本上只有comment被提取出來共用而已。
moodle
這是令我意外的教學用CMS
花了點時間看程式碼,很明顯是「大家辛苦的創意結晶」,從一個目錄一個模組可以很清楚的發現。
為啥這樣說?moodle並沒有啥系統架構,可以說是在php programming上沒啥概念的軟體,或者說是團隊協調度不高只好變成這樣。
一個一個獨立的功能,再由共用的資料庫存取副程式來抓資料,或者是管理URL。
不過他們的團對對於資料庫的想法很好,所以採用了postgresql,可能也是因為在資料庫管理上很有經驗所致。
採用了大量的外部函示庫,也很有勇氣地修改了ExcelWriter那個老程式,我覺得這很值得學習。
總之要擴充或是修改他可能要花上一段時間。
那Moodle要怎樣整合進xoops ?
有人做過moodle4xoops,不過也銷聲匿跡了,看樣子也是遭到困難。
最後一個是wiki
雖然他比較不像是CMS,不過應該也要歸納在內。
很高興地1.7正式地不再支援php4了,而看樣子他們也打算朝向PostgreSQL。
http://www.mediawiki.org/wiki/Important_Release_Notes#Current_Stable_Release但由於xoops2還是維持在php4,所以想要嘗試wiki,那就得使用最新的1.68(1.67 for xoops2)
http://www.xoops.org/modules/news/article.php?storyid=3167
程式碼的部分,中文語系還是一樣是從簡體版轉的,不過稍微有修正一點,沒有那樣怪的語意了。
不管怎樣說,wiki這個CMS在眾多軟體中還是很先進的,他並不太著重撰寫模組,雖然他也提供這功能。主要功能全部集中在includes目錄,包括資料庫驅動,文章,圖形,Sanitizer(就是檢查你是否輸入不該輸入的來破壞),搜尋引擎,特別頁面。
有趣的是他使用了Caml(http://caml.inria.fr/) scripts來將HTML或是MathML等無法無法正常顯示的文字,轉換成png。
此外,他也使用PHPUnit來進行單元測試,話說回來很多東西其實他也沒測。
URL管理其實很簡單,就是熟知的mod_rewrite,而他的進入點(index.php)加上功能只有一兩個參數,用rewrite可以輕鬆解決。
其實wiki的系統設計觀念是很值得學習的,沒有太花俏太離題的功能,全部著重在Ajax,Web 2.0,文字,圖像上。我想對於Web沒有深入瞭解HTML和HTTP本質,不瞭解物件導向...只是在乎外觀視覺,或是想要一步登天想要好開發,是絕對無法理解這樣的設計其偉大的地方。
而現在許多人追求方便好用的OpenSource CMS來作為門面,不管怎樣說都是好現象。實際上我相當認為在類似維護文件,或是交換情報上使用微軟的產品,是相當吃力不討好的事情,就好像花大錢買保時傑牛車一樣。看起來光鮮亮麗,可是卻花下很多時間在系統的龜速及無法擴充的功能上,到最後只會變成為了記錄而記錄,而不是希望資料能夠快速編輯保存而記錄。
我想服務終究是要給人使用,Web不也是如此?儘管背後可能是雜亂難分離的程式碼,可是整體功能滿足越多,外觀越好的話,使用者也不會太覺得這是一套爛軟體,我覺得Windows也是這樣做起來的。
反過來說,如同wiki給我的感覺就是整齊清潔,功能穩定到不知道bug究竟在哪,PostgreSQL也是給我這樣的感覺。但是,這樣子的軟體在OpenSource或是Web上發展,一開始就不是很吃香。直到有少數人發現他們的優點開始推廣,也才有可能有機會發展。
所以,MySQL或是XOOPS不強調程式碼穩定,而花時間在外觀介面上,再用「永遠的beta」觀念,招攬使用者,開發者,反而是加速他的推廣。
但是時間一久,也會慢慢有類似wiki或是wordpress這種強調本質性的軟體出來競爭。當然opensource不會有抗爭這回事,大家反而可以合作互相嵌入,所以都是使用者獲利。
沒有留言 :
張貼留言