版權(quán)所有:(xiaodaoxiaodao)藍(lán)小刀
??
xiaodaoxiaodao@gmail.com
http://www.tkk7.com/xiaodaoxiaodao/archive/2007/09/24/147911.html
?
???
??
轉(zhuǎn)載請注明來源/作者
?
關(guān)于使用alfresco開發(fā)WCM的思考
?
關(guān)于WCM的開發(fā)首次接觸,使用alfresco一段時(shí)間了,感覺WCM其實(shí)就是一個(gè)抽象的過程,實(shí)際門戶網(wǎng)站的開發(fā)中,可能由UI團(tuán)隊(duì)提供一些靜態(tài)html頁面,然后把這些靜態(tài)頁面抽象成相應(yīng)的模板(在alfresco中表現(xiàn)為
FreeMarker/XSLT/XSL-FO
+ XSD
的組合),然后再根據(jù)模板生成靜態(tài)html頁面,即整個(gè)流程如下:
?
靜態(tài)頁面 ——〉抽象:模板——〉具體化:靜態(tài)頁面
?
又想起武俠小說里面的主角,剛開始什么都不會,一招一式都是跟別人學(xué),這就好比先寫一個(gè)個(gè)靜態(tài)頁面,然后從招式中找出共同點(diǎn),發(fā)現(xiàn)所有的招式也不過如此,無非是動(dòng)靜結(jié)合、攻守兼?zhèn)洹側(cè)岵?jì),于是就抽象出了一個(gè)個(gè)模板,然后根據(jù)模板又可以創(chuàng)造出新的招式(靜態(tài)頁面)。
?
和設(shè)計(jì)模式中工廠的概念聯(lián)系在一起,這里的模板其實(shí)很象一個(gè)工廠,這個(gè)工廠就是造靜態(tài)頁面的,那么,這個(gè)工廠又是怎么建立起來的呢,自然,你要先給我一件產(chǎn)品,這里的產(chǎn)品就是UI團(tuán)隊(duì)提供的靜態(tài)html頁面了,我先看看這些靜態(tài)頁面(如新聞)需要哪些東西,比如標(biāo)題、圖片、新聞內(nèi)容,這樣我創(chuàng)建工廠(模板)的時(shí)候就可以給這個(gè)工廠一個(gè)清楚的,定義,定義只要由這個(gè)工廠創(chuàng)建的產(chǎn)品(靜態(tài)頁面),就最少包括三個(gè)元素:title、picture、content,這樣以后產(chǎn)品的生產(chǎn)過程就會流程化,大量節(jié)約了每個(gè)產(chǎn)品(靜態(tài)頁面)的生產(chǎn)時(shí)間(開發(fā)時(shí)間)。
?
對于需要經(jīng)常更新的門戶網(wǎng)站來說,只要提供了一個(gè)新聞頁面,就可以利用其生成相應(yīng)的模板,以后如果需要再次更新這個(gè)新聞頁面,就可以利用生成的模板直接生成,對于sohu、sina這樣大型的門戶網(wǎng)站來說,這種方法大大節(jié)約了新聞錄入人員的時(shí)間,在alfresco中,這個(gè)模板表現(xiàn)為一個(gè)可視化的新聞錄入表單,填寫表單信息,然后提交,相應(yīng)的新聞頁面就直接在后臺生成,而利用相應(yīng)的WSF提供的標(biāo)簽很容易可以在前臺顯示最近更新的新聞。
?
訪問一下sohu的新聞,發(fā)現(xiàn)它的目錄結(jié)構(gòu)也比較有規(guī)律,例如:http://news.sohu.com/20070923/n252304978.shtml,給每天建一個(gè)目錄,然后在該目錄下生成當(dāng)天的新聞,這樣看起來目錄結(jié)構(gòu)比較清楚,以后也方便查找,而且避免了在一個(gè)目錄中文件過多的問題,alfresco中使用${date?string("yyyy-MM-dd")}做到這一點(diǎn)。
?
感覺alfresco使用起來比較麻煩,用來開發(fā)涉及到的知識點(diǎn)比較多,如XSL/FO語法、FreeMaker、XHTML1.0規(guī)范、JSP規(guī)范、JSP語法、SSI指令、alfresco自定義標(biāo)簽使用等等,上手比較困難,而且實(shí)際調(diào)錯(cuò)也比較麻煩,可能要經(jīng)常借助于XMLSpy、WinMerge等工具,對于開發(fā)人員來說創(chuàng)建web form和web content感覺也是一件繁瑣的事情。
?
個(gè)人不是很喜歡這個(gè)東西,感覺比較浪費(fèi)時(shí)間,而且alfresco一旦啟動(dòng),CPU占用率比較高,對于WCM來說要啟動(dòng)兩個(gè)tomcat,而且最重要的是目前國內(nèi)沒有相關(guān)的中文使用和開發(fā)文檔,開發(fā)的話只能借助于它的官方wiki(
http://wiki.alfresco.com/wiki/Main_Page
),WSF目前也不算很成熟,研究它實(shí)在是一件吃力不討好的事情,希望能有越來越多的人參與到其中吧。
?
?
?
版權(quán)所有:(xiaodaoxiaodao)藍(lán)小刀
??
xiaodaoxiaodao@gmail.com