版權所有:(xiaodaoxiaodao)藍小刀 ?? xiaodaoxiaodao@gmail.com

http://www.tkk7.com/xiaodaoxiaodao/archive/2007/09/24/147911.html ? ??? ??

轉載請注明來源/作者

?

關于使用alfresco開發WCM的思考

?

關于WCM的開發首次接觸,使用alfresco一段時間了,感覺WCM其實就是一個抽象的過程,實際門戶網站的開發中,可能由UI團隊提供一些靜態html頁面,然后把這些靜態頁面抽象成相應的模板(在alfresco中表現為 FreeMarker/XSLT/XSL-FO + XSD 的組合),然后再根據模板生成靜態html頁面,即整個流程如下:

?

靜態頁面 ——〉抽象:模板——〉具體化:靜態頁面

?

又想起武俠小說里面的主角,剛開始什么都不會,一招一式都是跟別人學,這就好比先寫一個個靜態頁面,然后從招式中找出共同點,發現所有的招式也不過如此,無非是動靜結合、攻守兼備、剛柔并濟,于是就抽象出了一個個模板,然后根據模板又可以創造出新的招式(靜態頁面)。

?

和設計模式中工廠的概念聯系在一起,這里的模板其實很象一個工廠,這個工廠就是造靜態頁面的,那么,這個工廠又是怎么建立起來的呢,自然,你要先給我一件產品,這里的產品就是UI團隊提供的靜態html頁面了,我先看看這些靜態頁面(如新聞)需要哪些東西,比如標題、圖片、新聞內容,這樣我創建工廠(模板)的時候就可以給這個工廠一個清楚的,定義,定義只要由這個工廠創建的產品(靜態頁面),就最少包括三個元素:titlepicturecontent,這樣以后產品的生產過程就會流程化,大量節約了每個產品(靜態頁面)的生產時間(開發時間)。

?

對于需要經常更新的門戶網站來說,只要提供了一個新聞頁面,就可以利用其生成相應的模板,以后如果需要再次更新這個新聞頁面,就可以利用生成的模板直接生成,對于sohusina這樣大型的門戶網站來說,這種方法大大節約了新聞錄入人員的時間,在alfresco中,這個模板表現為一個可視化的新聞錄入表單,填寫表單信息,然后提交,相應的新聞頁面就直接在后臺生成,而利用相應的WSF提供的標簽很容易可以在前臺顯示最近更新的新聞。

?

訪問一下sohu的新聞,發現它的目錄結構也比較有規律,例如:http://news.sohu.com/20070923/n252304978.shtml,給每天建一個目錄,然后在該目錄下生成當天的新聞,這樣看起來目錄結構比較清楚,以后也方便查找,而且避免了在一個目錄中文件過多的問題,alfresco中使用${date?string("yyyy-MM-dd")}做到這一點。

?

感覺alfresco使用起來比較麻煩,用來開發涉及到的知識點比較多,如XSL/FO語法、FreeMakerXHTML1.0規范、JSP規范、JSP語法、SSI指令、alfresco自定義標簽使用等等,上手比較困難,而且實際調錯也比較麻煩,可能要經常借助于XMLSpyWinMerge等工具,對于開發人員來說創建web formweb content感覺也是一件繁瑣的事情。

?

個人不是很喜歡這個東西,感覺比較浪費時間,而且alfresco一旦啟動,CPU占用率比較高,對于WCM來說要啟動兩個tomcat,而且最重要的是目前國內沒有相關的中文使用和開發文檔,開發的話只能借助于它的官方wiki http://wiki.alfresco.com/wiki/Main_Page ),WSF目前也不算很成熟,研究它實在是一件吃力不討好的事情,希望能有越來越多的人參與到其中吧。

?

?

?

版權所有:(xiaodaoxiaodao)藍小刀 ?? xiaodaoxiaodao@gmail.com