您在這裡

思考Drupal的缺點,一篇來自大陸的文章

mrmu's 的頭像
mrmu 在 2010-04-06 (二) 14:43 發表

描述Drupal特色、優點的文章很容易就能找到,反倒是中肯描述Drupal缺點的文章不好找。
我們應該都能同意,不可能有完美的系統能解決所有問題 (即沒有最佳解,只有最適解)。
我自己是學習Drupal的新手,很想了解除了所謂學習曲線徒峭這種說法之外,Drupal還有什麼嚴重的先天缺點呢?

最近發現了一篇文章,名稱及連結是:Drupal惡夢的開始,在中國請不要再學習Drupal

以個人粗淺的經驗來看,文中確有部份的問題描述是確實存在的,
不過還是很想知道社群中有一定資歷的中文developer,對此文中所述的缺點有什麼樣的看法?
謝謝各位。

參考:
http://drupaltaiwan.org/forum/20090328/3258

任何一個已經存在許久的應用,要深入其中都會有其包袱存在,而會想要深入都是因為看到包袱之外的好處,這本來就是相對的。不過對 Drupal 能夠有著足夠掌握度的開發人員或設計師確實不容易找,我們也一直在找合適的設計師配合 ;)

這篇文章也是看得我直冒冷汗。 Drupal 學到半吊子, 就是這樣的結果,可悲。

裏面提到的好多問題(說什麽還要自己開發),其實Drupal (community) 早有解決方法。Drupal 其實是一個很大的開發團隊,就是因爲人很多,力量才大。這些人把自己関在小團體裏,用自己習慣的工作方式去看Drupal, 難怪無法了解Drupal的威力了。

在這邊看過:
http://drupalchina.org/node/8045

九成都不是問題,不過如果是書籍作者,很值得看這文章,點出了新手面對的問題

Drupal 真的產生很多廢的 HTML CODE,要移除不易 (不是不能)

剛好最近我也寫了一篇 Drupal 架設流程的東西,給給意見。

Drupal 網站跟其他網站最不同的可能是 MENU 問題, Drupal MENU 不能隨便增加一個就掛起來

Drupal 是模組化,但不是只能使用 Drupal.org 上的模組,你還要按自己需求去開發新的,狂拿模組拼砌會有不良效果

而中文化是一個問題,沒有人去翻譯嘛,哈哈,不能跟本土的 CMS 比。

Drupal 問題,可以參考這文章看看:
http://developmentseed.org/blog/2009/mar/01/limitations-drupal-theme-layer

---
notaBlueScreen | 訂閱RSS | Plurk | twitter

我是學習Drupal的新手(四個月+),應該不夠資格發表回應。這一篇文章drupal惡夢的開始,在一開始學drupal時就看過,因為自已對網站開發的了解有限,因而很多地方看不懂,尤其是psd-->html-->php vs psd-->drupal-->html這一個關鍵,經樓上Kay.L說明(看他blog上文章),至今才了解,原來網站外觀很乾淨(clean)是用photoshop產生psd然後轉出來的,看來這是門大學問,十分有趣,如果drupalcamp時能有題目講這個就太棒了。

如果不管psd-->html-->php vs psd-->drupal-->html這個"關鍵",選一個theme,做個人網站,例如我剛做的:http://愛瘋手機.tw/,在專家眼中必有許多待改進之處(我自己也認為有許多地方未來一定得改),但能將原先在xuite的平台中部落格4664抽離出來,已非常高興了。因為,兩相比較,已clean許多,更重要的是--我擁有了自已的網域。

從十多年前,曾用frontpage第一代做過自己static網站,與專業網站相去甚遠。五年前學dreamweaver+php+mysql,進入dynamic架站的領域,覺得仍不夠專業。接著學了一下xoops,覺得架站軟體做出來的竟也和專業網站有一大段距離,因此放棄自己架站,轉投無名再轉xuite。這一次用drupal架設的http://愛瘋手機.tw/,雖然離專業網站仍有一段距離,卻是第一次讓我感到,可能再經過兩、三年的學習,網站可以看起來像專業網站。

有一天,等到我很專業時,說不定,會了解drupal有許多缺點,但是目前看來,用drupal替自己架個站應該是很好用的(如http://愛瘋手機.tw/)。我猜(因沒做過):

  • 替100人以下的公司或者大些的公司(1000~5000人或更大一些)但網站非其主要收入來源的,用drupal架站應是綽綽有餘。
  • 不太確定若是個以網站為其主要收入來源的公司(例ebay、amazon..)、Drupal可以適用嗎?及報社電視台等等媒體、Drupal可以適用嗎?

寫下這一段過程,是想和新手分享,當時看到drupal惡夢的開始,稍稍困惑了一下,幸好,繼續嘗試了四個月,才能架好http://愛瘋手機.tw/。,所以,用drupal架個小站應是可行。同時,因為我將分拆4664成為大約20~30個站。因而,我做了個基本站,這個基本站就是把一些需要的模組都放好了,例如:fckeditor、imce、imagefield、filefeed、token...等等,如此一來,不用所有2、30個站都從第一步開始,節省時間。
但是,需注意,我以前曾寫過程式,有電腦基礎知識,且了解一些html,css,php,javascript, mysql等等,並可閱讀英文說明,所以初學drupal不會太挫折。如果你不具備電腦基礎知識,可能會困難一些,說不定,先惡補一下html,css(上網w3c school),或買本html,css語法辭典(例:博碩文化出的詳解 javascript、html、css,日本人大藤幹、半場方人著的中譯本)當參考書。再加上樓上這幾位(樓上發言諸位都幫過我,謝!)的幫忙,應該是可以完成架個小站的夢想。

很簡單,但設計花的時間比我轉換版型還多,其實加個底圖就全然不同,會變成似類這樣的了:
http://ma.tt/
http://www.webdesignerwall.com/

我覺得學 HTML / CSS 最好的方法:
下載一個結構好的純 HTML / CSS 網頁,然後打開慢慢研究
但如果你在 CSS 中見到 margin: -100xp 這類負值的不要選,會令初學者失去方向
個人覺得看書不太能學會,你要做什麼效果,直接去 Google 更快

我記得自己初時接觸 HTML / CSS 時是透過 Dreamwaver 學
直接在 Dreamwaver 亂按,產生現成的代碼,然後就學什麼會出什麼效果

到自己完全會了,來到近年的 semantic codes 時代,我才去看看 http://www.w3.org/ 看看 HTML TAG 的真正意義..etc...

(遲一點看看,可能會將那篇 BLOG 影像化)

---
notaBlueScreen | 訂閱RSS | Plurk | twitter

Kay, 謝。load了webdesignerwall的底圖,400+k,怕頁面未來太慢,記得jenny在john上回演講中提過,盡量用小圖及css repeat。頁面太慢是我主要害怕的,目前作法是少block、少module、少圖,不知對不對了!

bobju,謝。先將Aegir記下了。看了一下,雖然第一個會用的os是unix,但現巳被windows腐化,只會點來點去了,unix距我甚遠。drupler愛的是CMS,而我卻對CMS中的C有較大興趣。對於我,CMS只是工具,為了架個自己的站,才用了四個月來學的。我已用太多時間在drupal上,其他一切停擺,得收收網,不再玩,只是用它了。並且仍有下列concern:

  • 對host一直有疑慮,很可能未來將站分在不同host上。所以,計劃每個網站的.sql徹底分開,不共用,以免共用.sql,分拆時又得花一堆力氣。這麼做頗ed hoc。不過...
  • host對.sql size有限制(50M左右),試做了幾個站。目前的.sql大約只有4~5M(大多數應是drupal自已的table),未來再加入內容,應不致於超過50M。曾看過我目前blog在xuite上的統計,相簿用了567M,日誌用了142M,影音用了979M,總計約1.7G。相當好奇,百萬字的blog應只有2M byte內容,為何日誌是142M?看來overhead很大(html code....)!未來drupal可能也類似(學了drupal,覺得xuite頗像drupal架的,用firebug又測不出!),所以不敢放在一個.sql內,如此一來,苦的是code部份,每個站一份code,頗浪費的!這種code、data全部分開,真是有些不得已。

看了本文,似乎先進們都一致看到"Drupal 真的產生很多廢的 HTML CODE",突然想到以前學compiler,在code gen後有code optimization。有個朋友專攻code optimization,並寫論文拿到博士。不知druple是否有"code optimization module"之類的?呵!

xuite 是計算你的圖片吧 ??

這個不清楚。xuite的作法是:假設某文A用到圖B,我都先到相簿內產生一相簿X,將圖B上傳入X,再到文A中去插入X內的B相簿。以前未仔細想過,但的確插圖的url非B的url,所以,你講得對,應是包含文中圖片。(若不產生相簿X,文A中插入的圖片亦可直接自pc上傳)

Jesse, 如果你學習Drupal 的目的,只是爲了架個自己用來發表content的網站,我覺得有點殺雞用牛刀的感覺。

我自己用PHP寫過網站,但是覺得一個人力量太薄弱,所以才開始學CMS (借用別人的力量,來減少自己重復開發的時間。這樣我的時間可以用來做更有意義的事情。)。 我用過WORDPRESS, JOOMLA, 還有DRUPAL. 我的心得是, 沒有一個CMS是十全十美的。端看自己的需求是什麽

WP很適合架設部落格網站,就是一人管理,一人發表文章的站 (多人參與的權限控制有很多缺陷)。WP 也可以架設多blog網站(wp mu), 也有很多的模組可以套用,就你目前在drupal 裏面所用到的模組,你用wp一天就可以搞定了。而且wp 的版型都很美,使用者界面也很絢麗。 WP用來做功能要求不多的櫥窗網站,是綽綽有餘了。

Joomla 適合少數人參與管理的網站,可讓一些人發表文章,但是太多人管理或是太多人參與的角色權限設定就不容易了(要另外買module, 但是很不好用)。適合做櫥窗網站,或是權限設定不用太複雜的站。

Drupal 比較適合做企業内部資訊系統 (information system / intranet), 只做網站當然也行,但是很累人。 有很多企業網站就把對外和對内的站用不同的系統架設, 因爲這兩個系統要交錯的機會其實不多。不過 目前的社交網站,一般的user 參與性很高,這就是drupal 最有用的地方(角色權限設定)。

還有一些專門作ecommerce 的網站,在他們特定的領域裏,都比其他的cms要好用。 要用什麽來架站,完全是看個人或是客戶的需求來選擇最適合的方案。

可能我現在太常講部落格,所以大部份的人都跟我介紹wp,而我也試過wordpress部落格(and無名...)。五年前,想設個網站賣賣東西,試了dreamweaver + php + mysql,覺得自己去搞php code,大約其他事都不必做了。又試了xoops,雖已模組化,但不夠"專業",以目前來看,xoops果真大約都是學校網。
另一問題,是廣告,即便搞了個網站,如何在幾億個網站中出頭?大約只有買廣告。那就別說賣賣東西"賺錢",可能倒貼都不夠。
所以,最好是自己設法吸引顧客,若能吸引某個客層的客戶喜愛你的網站,那麼,要賣賣東西就有一撇了。這時,知道了部落格這東西,正是我所要的,可以免除一堆架站overhead,立刻上手寫文章、拍照片、錄影、做flash,在xuite上多媒體地試玩,看看是否能吸引某個客層。一玩五年,部落格也有了百萬字千篇文三千照片百個錄影。
五年來,一直仍想架個自己的站,不是xuite不好(事實上它相當好,而且我在xuite全網排名一百多,也算ok),只是:

  1. 經過五年的了解,發現"流量"是個buz model,可惜我的部落格在xuite上,流量都算在xuite上了。
  2. 我的部落格看似很雜,其實有很多無心插柳而成的單元,在單一的部落格上,太可惜了!xuite雖可設許多格,但因其限制,若我去maintain多部落格(e.g.二十個blog),我會累死。
  3. 玩到"百萬字千篇文三千照片百個錄影"後,xuite的限制已大於其方便了。例如,不能隨意貼adsense,我在http://愛瘋手機.tw/上就可貼在每一文之後;沒有book module,寫書翻譯書無法管理;沒有像drupal這麼flexible的taxonomy,分類十分困難;沒有cck,自然無法隨心所欲地利用cck玩出各種view,連寫個小說都很難分章節;沒有view,等於想做的任何事都沒輒;更不用說絢絢的cumulus、討論區、shopping cart、社群...。
  4. 另有許許多多,想做卻做不到的,隨便舉個例子 http://blog.xuite.net/jesselue/4664 右下"部落格的朋友們"下的link,mouse over時會出現圖,是用javascript,因xuite限制,搞死我才做到,maintain又很累。

.....bla bla bla

總之,和drupal有緣啦!

Views其實可以透過theme來把一堆html消除,而且步驟很易懂(只是要複製很多檔案),

1.打開theme information
2.複製裡面顯示的檔案到theme資料夾
3.打開這些檔案然後修改

我覺得還滿有彈性的...

但是透過theme來減少輸出,可能不代表減少query數...

有一個版型 mothership 號稱可以將多餘不必要的html 和classes 給清除掉。就像垃圾魚一樣。

使用起來很方便,不需要enable這個theme, 只要在我們用的theme .info裏面, 加上base theme 為mothership 就好了。所以如果你用的是zen subtheme "Mytheme", 那麽這個theme 就是zen 的theme base. (zen 是Mytheme的媽媽,mothership 就是Mytheme的祖母)

我覺得這個theme的idea 很不錯,不過測試了一下,發現還是有很多細節的地方,要慢慢調整, 而且和cck , views 不太相容。也許等到將來版型更成熟,再來用它。

思考和討論都是好的。

我覺得Drupal的核心價值是:

  1. 能Scale的Framework+CMS,代價是一些東西複雜(但也比很多OO方式開發的Lib / CMS 簡單)
  2. 社群
  3. 永續性

學習Drupal若只是為了應付3-5個案子,最後的結論都會怪罪在軟體上...

一家技術為主的企業、公司,選擇一個solution,應該考量的是軟體本身的長期帶來的進展和好處。如公司或個人需要投入投資資源、回收的時間點、技術力的提升等等。如果某案用wordpress,另一案用joomla,另一案用drupal,然後大部分還是自己硬code...最後得到的結果就是,不斷花費時間學習無法累積的知識,造成效能低落。

知道自己為什麼做選擇,比做出選擇後來抱怨來的重要吧...

--
from open mind to open source~

如果某案用wordpress,另一案用joomla,另一案用drupal,然後大部分還是自己硬code...最後得到的結果就是,不斷花費時間學習無法累積的知識,造成效能低落。

CMS, 我以前就是東玩玩,西玩玩,3個月就感到無聊, 然後就換新的。直到遇到 Drupal,這情況才改變。認識 drupal 差不多一年了,還覺得自己是個初學者, 還是出不去,因爲太好玩了。

真的要持續下去,才能累積知識。

有時刻,我覺得 HARD CODE 是沒問題的
好比 Drupal ,
當由 D5 升級至 D6,不知要做多少修正才能成功,有些模組也沒落
跟 HARD CODE 升級,幾乎沒有差

HACK CORE 也不一定殺死貓,怎麼 HACK 及有效管理才重要
好像 pressflow 就是一個好例子
drupal.org 也好像是 hack core 來的

(不過我想 jimmy 說的 hard code 不是我這說的)
---
notaBlueScreen | 一天一翻譯,好過吃蘋果

唔... 被點名了~
的確,我的硬寫程式,意思就是沒有善用工具的意思
當然,硬寫有硬寫的好處
不過大部分人,利用工具應該就足夠滿足需求
這樣大家才有時間寫出各種不同取向的軟體,而不是到頭來所有人都花時間做類似的事情...

--
from open mind to open source~

--
from open mind to open source~