Drupal是一個高度客製化、模組化的內容管理系統。仔細考量您所需要的特色和功能,Drupal有可能是您的最佳選擇。 在您回答Drupal是否適合您之前,我們有問題要先問您:您是哪一種類型的Drupal使用者?您的需求是什麼? 我是一個Blogger,我想要...
所需技術等級:一般使用者、管理者 我正在替我的組織/公司評估Drupal,我們想要...
所需技術等級:評估人員、一般使用者 我是社群創辦人,我想要...
所需技術等級:評估人員、一般使用者、管理者、網站開發人員(某種程度) 我是小公司的老闆,我想要...
所需技術等級:評估人員、一般使用者、管理者、網站開發人員(有限程度) 我替客戶建置或設計網站,我想要...
所需技術等級:評估人員、管理者、網站開發人員(某種程度) 我是一個程式設計師,我需要...
所需技術等級:管理者、程式設計師 您知道您想要成為哪一種類型的Drupal使用者嗎?如果您知道,請看看下面的技術等級說明,以瞭解您的Drupal使用者類型所可能需要的項目。
現在,您已經知道您可以成為哪一種類型的Drupal使用者,接下來,您應該花一點時間,瞭解Drupal。 在案例研究部份,將檢視Drupal常見的應用方式,並針對所提到的運用方式展示一些實際採用Drupal的網站。這裡也會列出其他許多採用Drupal的網站。 在功能總覽部份,我們會介紹Drupal裡最重要以及最常被使用的功能。 關於使用Drupal來架設網站、而非從頭撰寫一套網站的優點,則會在自行開發vs.使用Drupal這篇文章裡進行討論。
花點時間瀏覽一下這些Drupal網站,它們展現了Drupal的多樣面貌。這些網站展示了Drupal網站可以如何地建置,以符合各個不同的功能和需求,同時仍保有設計感與動感。
我不太確定這是不是一篇回娘家文似的討論文章,不過我還是決定試著發表出來。
前幾天在我自己的小站上頭,有一位 Zerro 的網友留了一段話:
Drake,看過一些你在DTW上的文章,讓我這樣的菜鳥非常容易搞懂。
你寫的文章非常到位,很喜歡,我個人希望你能介紹幾個“DRUPAL網站案例的構建”過程文章。并且給予一定的提示幫助。比如:目前大多數的網站大致分為幾類:
1:新聞模式的
2:blog日志模式的
3:圖片/相冊模式的(也許是模板展示之類的)
4:論壇/BBS/FORUM
5:購物、商品展示之類的(這一累類似商業網站)用到的模組,和難點,以及實現同一個展示/外觀效果使用的不同方式、不同方式的利弊共用等。
親自動手實驗室學習的最基礎,但像我等初學乍練的新手,往往是不知道從何處入手,所以提了這個要求,希望 Drake有空的時候考慮一下,為我們好好講講。
先謝謝哦!
廣邀大家來一起替他(或更多人)給些建議 :)
Drupal可以符合幾種不同類型的網站的需求:
社群入口網站
如果你想要一個是由使用者來提供內容的網站,Drupal可以滿足你的需求。投稿的作品可以開放給網友進行投票,得票數高的文章將可以出現在首頁上。不好的作品和回應在獲得一定的負面評分後,會自動地隱藏起來。
範例網站:Debian Planet | Kerneltrap
個人網站
Drupal很適合只想要架設一個個人網站的使用者,你可以撰寫部落格、張貼照片,或是收集一些網站連結。
範例網站:urlgreyhot | Langemarks Cafe
嗜好網站
Drupal也很適合用來讓使用者分享他們對於某一主題的專精與熱衷。
範例網站:ia/ | Dirtbike
企業內部/企業網站
企業可以採用Drupal來建置他們的內部與外部網站。Drupal很適合這些用途,因為它的權限系統很有彈性,而且以網站為基礎的出版方式非常地便利。花不了多久時間,你的網站管理人員就能把企業網站做好。
範例網站:Sudden Thoughts | Tipic
資源分類目錄
如果你想要一個特定主題的分類目錄,Drupal也可以滿足你。使用者可以自行註冊並提供資料,編輯則能過濾這些資料。
範例網站:Entomology Index
國際化網站
當你開始使用Drupal,你就加入了一個大型的使用者與開發者的跨國性社群。要感謝Drupal的本土化功能,有許多Drupal網站是採用各種不同的語言所建置的。
範例網站:PuntBarra | cialog
教育網站
Drupal可以用來建立動態的學習社群,作為面對面教學的補充方式,或是作為遠距教育課程的平台。教育機構也可以善用其互動功能,以及提供公開內容、僅供會員瀏覽的資訊、或是會員訂閱管理等功能。
範例網站:ENGL 420S | WPA
以下是與Drupal相關的、不同軟體和平台的檢視和分析。
Telecentre.org替其位在世界各地的網站規劃一個分散式的網路。這份文件勾勒出選擇telecentre.org的網站平台時所依循的過程;我們最後的選擇正是Drupal。
要瞭解特定的需求和引領這過程的整體網站策略,請看看個別的telecentre.org網站上的策略文件。整體的願景是一個可能是在不同的平台上運作的網站網絡,包括運行在我們以Drupal為基礎的「一站支援網路」上數量不斷成長的網站。
上週末去中部某教育網路中心,講了一遍 Drupal 的簡介。學校應用我真是不太熟,不過在準備的過程中,倒是看到一些學校的範例很不錯 :)
這裡會介紹Drupal如何能夠解決你的問題的真實案例。也歡迎你與我們分享你的Drupal成功經驗。
這篇寫的太好了,讓我不得不花上睡覺時間來分享一下! (原文: http://drupal.org/node/233090 )
PSM是一個線上雜誌,因為網站經營了很久,所以擁有固定的讀者,高流量、高造訪率,也一定有廣告版位等著,有分散各處的編輯,也因為long term的考量,打算用open source陣營的產品已經很久了。在這樣的背景之下,他們選上了Drupal,但整個開發過程中也碰到了一些難題~ 這個分享就是很好的一個case study,說明open source怎麼幫助產品,而需要怎樣的know how/work才有可能達成。
因此,PCS找來的開發團隊pingVision,規劃了7種content type來達成網站的整合
他們的概念也是由Drupal的核心概念出發,把各種規劃都整合進node和CCK
因此可以注意到,圖片和相簿都是個別的node,可以透過node reference來整合
而articles裡頭也有reference到圖片的欄位,可以把文章的標題image做起
而Current Issue則規格化了最新消息的美化版本,善用既有的欄位工具,來讓編輯輕易產生好的最新消息
最後Featured Tout則是為了他們貢獻的node carousel module,專門用來產生Jquery滑動圖片的效果
讓廣告或其他想要提昇的特輯,可以吸引使用者的目光
這些難不難呢?包含gallery的頁面、image的頁面,以及Current Issue的layout,都需要花功夫
但畢竟Drupal已經把後台整理好了,而pingVision的開發團隊真的妥當了利用這樣的概念。
因此整個線上雜誌的首頁,就可以安然操縱在編輯的手中了,有圖為證:
在以往的經營,他們是整合許多發文管道,主要有Vignette 7 CMS和Typepad,因此轉移的複雜性就多了很多。
在轉移資料的過程裡,他們用了MySQL Migration Toolkit從Oracle把資料轉移到Mysql,再寫模組來跑cron把舊db的資料撈出來,餵進新的db中,並且寫了script來做圖片轉移的動作,整個從1.66Gb的Oracle資料庫中,轉移整整花上了兩天才完成所有data的import。因此轉移資料並不是一件容易,可以輕易testing的事情。
整個轉移中,非常專業的部份是就系統的URL如何Redirect到新的網站中,這是SEO的關鍵點。他們也考量於此,把舊的URL/Article id mapping到新的Drupal文章,而Google也因此在短短的時間內,可以把所有對PSM的index更新妥當,不會有死連結,更有好的SEO,維持廣告和流量。
動態網站的痛,一直以來就是效率問題。要不就花大把的銀子砸機器,database用來做多個資料庫,要不就要在規劃時一切都設想週到。PSM是一個很好的例子,一開始就打算買機器做memory cache,並且用了Drupal的Memcached模組,讓Drupal優秀的cache可以發揮作用,也是一個真正可scale的long term solution。
這樣是否真的有改善?舉例而言,page loading的時候需要做700 網址別名(path alias)的資料庫讀取,因為memcache的幫助,將這些結果cache至memory中,讓網站的效能可以到每秒60-70 request。
(譯著:純靜態網頁的效能可以是每秒3000 requet以上,drupal未開任何cache的效能可能每秒只有0.5-1個request,甚至更低。)
部份翻譯自: Popular Science Magazine (PopSci.com) Case Study
原文還有更詳細的module listing
可以由這個case探看怎麼善用一個好的Open Source工具當作基礎,用Drupal來實現媲美大型報業網站水準的雜誌。
然而能夠成功的關鍵點,還是在於網站經營者的具體想像,如何規格化、模組化(化繁為簡),以及開發團隊對於專案的認識度、背後的技術基礎、Drupal熟悉度、Open Source社群的溝通度(如何有效的取得資源、有效回饋),才能造就一個好的case,好的long term solution。
藉由啟用與設定個別的模組,管理者可以設計出一個獨特的網站,例如一個結合了知識管理、網站發佈和社群互動的網站。所以你最好能多瞭解這許多的可能性,以下就是以常見的網站平台特性來做區分的功能列表:
想要更完整的功能列表,請參考我們的功能概觀。想要參考實際的應用範例,可以瀏覽範例研究裡特別介紹的網站,或是看看一些採用Drupal的網站。
有時你們可能會考慮自行開發自己的系統,而不使用Drupal。Drupal社群非常希望你的加入,因此我們會從你的觀點來呈現一些使用Drupal的好處,而不是自行開發。我們鼓勵你在動手前,思考下列項目:
當你還在努力掙扎於讓網站符合你的需求、處在使用單純的程式語言的低階環境裡,Drupal卻有更好的方式。如果你使用Drupal,你會經歷並學習到一個被證明為強大且受歡迎的系統的內部運作方式。這對於你未來的專案,會很有幫助。
當撰寫系統架構時,處理一些無關緊要的細節常會令人感到挫折。有了Drupal,架構已經建好,你可以專注在專案裡的「牛肉」。有了Drupal,你可以減少完成工作所需的煎熬。
有數以萬計的網站在使用Drupal,drupal.org上常常同時有超過700個使用者在瀏覽資訊。這讓你在採用Drupal時,擁有以下優勢:
每一個安裝了Drupal的網站,都有一個監視模組(watchdog)。這個模組會紀錄錯誤,並在管理者進入管理介面時回報給管理者。此外,對於Drupal系統的使用者來說,網站能如預期所想的方式運作,是非常重要的一件事。因此使用者會把錯誤回報給Drupal的維護人員和模組開發者。為了使這個過程變得簡易順暢,Drupal的維護人員已經建立了一套系統,可以追蹤特殊狀況,並將問題回報給有能力解決的人。
我收集了一些範例網站,可以用來支持我的說法。請注意,他們都是很不一樣的網站哦!
想要看更多的例子,可以在範例研究和Drupal網站列表裡找到。
通常選擇自行開發系統的一個重要原因,是因為這樣可以精確地符合自己的需求。然而,Drupal本來就是設計為可以符合各種廣泛的需求,其中一個重要功能,就是彈性。事實上,你是很有機會可以採用Drupal來達成你的目標的。除了前面已經提過的模組、以及可以修改模組以符合你的需求之外,你也很容易就可以設計自己的模組。通常這是透過在檔案裡設計一些導入了某些hooks的函式。以下的函式導入了help hook,可以讓Drupal的核心程式和其他模組來呼叫。
<?php
function mymodule_help($section) {
switch($section) {
case 'admin/help#block':
return 'My module will help you get laid';
break;
}
}
?>
這種讓模組與Drupal核心進行互動的方式,已經被證明是非常好的作法。藉由使用hooks,模組可以彼此互動,並利用Drupal的基礎元件,例如節點、分類、管理和使用者系統。
Drupal已經誕生超過五年了,並且持續地在吸引有興趣且活躍的開發人員。有了這樣良好的紀錄,你可以放心地相信它會繼續成長茁壯。持續不斷的開發,對於網站的建置與規劃而言是很重要的。對於「客製化的程式」,你必須知道是否有人提供適當的文件或回應,才不會導致「維護惡夢」。
網際網路上充滿著關於溝通的想法和作法,Drupal把重點放在與未來一同成長,提供相容於標準的解決方案。以RSS為例,Drupal 4.6版就升級到RSS 2.0的標準。
我們不知道未來的網路標準或想法會是如何,一個客製化網站若要隨之更新,你可能得重寫所有的程式碼。有了Drupal,你可以確定它的彈性和模組化功能,足以隨之成長,並很容易地就能做出改變。
資訊架構(Information Architecture, I.A.)是結構化資訊(知識或資料)的實做。常根據其在使用者互動或大型資料庫裡的脈絡來進行結構化。
-Wikipedia.com
Drupal提供了一些方法將資訊進行結構化,包括版型、導覽、樣式和應用系統。它提供了一個框架,可以透過可延伸的應用系統(也就是模組),將資訊視為內容來進行管理,模組提供了使用者與內容互動的機會,例如志工管理應用系統。每一個模組都提供一個可設定的管理介面,以客製化此應用系統的行為。每一個模組的權限,也可以針對每個使用者角色來進行設定。
目前(2006/2)有大約370個模組可供Drupal 4.6版來使用,不需要特別的程式設計,就可以進行高度的客製化。你可以用CSS、PHP和AJAX來進行完整的客製化。儘管每個網站有其自己的複雜性,不過一個採用修改過版型、設定了使用者權限與模組的客製化網站,可以在幾個小時內建置完成。
排版
Drupal以三種方式支援內容的排版:區塊、邊欄和選單。4.7版有五種預設的區塊:左、右、頁首、頁尾和內容。這還可以延伸成更多區域。你可以修改Drupal的版型,使用最普遍的變動欄寬的三欄版型,修改成各種變化的排版方式。你可以使用PHP和CSS來調整Drupal的佈景主題系統。Drupal也有一個可設定的選單系統,讓你可以在區塊裡提供導覽選單。
Drupal有一個還在發展中的線框(wireframe)模組,可以讓資訊架構師使用HTML產生使用介面的元件,然後在網站上設定這些元件,以進行使用者測試。這個線框佈景樣式是可以選擇的,屬於CivicSpace版型的一部分。
導覽
Drupal支援多種導覽方式,包括全局、本地、脈絡和情境導覽。Drupal的版型系統可以設定主要和次要導覽,它們是獨立於其他導覽,在版型管理裡進行設定。
以版型為依據的導覽,常常作為全局導覽,不論是放在頁首、標籤或頁尾裡。本地導覽常會動態地被運用在分類、選單裡的子連結或動態區塊裡。脈絡導覽,例如現在位置(breadcrumb),則可以顯示目前使用者位在網站的什麼地方,也常在版型裡出現。情境導覽則是利用所出現的訊息,用來指出操作錯誤或成功。常見的情境導覽例子是使用者表單裡面的說明導覽資訊。
樣式
Drupal隨付幾套預設的佈景主題,可以讓網站進行設定,並可讓使用者來選擇。Drupal的版型範本,利用PHP來協助Drupal和其模組裡的xHTML的樣式化。階層式樣式表被用來調整顏色、色系和排版格式。佈景主題是可客製化的,可以針對網站位置、使用者狀態或內容類型設計特殊的樣式。圖形和影像可以坎入到佈景主題或內容裡。
分類
資訊架構裡的架構資訊中最主要的一個來源,就是透過使用Drupal的分類功能,以及強化了分類功能的20個以上的模組。Drupal允許你管理分類(在這裡稱為taxonomy),可以使用標籤、無階層式、階層式或多層次式的分類詞彙。資訊可以透過內容分類來進行結構化,可以在內容裡加上語意資訊。資訊架構師和網站開發人員常常會使用分類導覽的方式,讓Drupal可以符合他們的組織對於資訊流或營運模式的需求。
應用系統
Drupal大約有570個應用系統,也就是所謂的模組,而4.6版大約有360個模組可供使用。這些模組可以被區分為以下幾種類型:
本頁內容是由CivicSpace Labs的Kieran Lal所撰寫,如果你想要將資訊架構方面的專長提供給Drupal,或是對本頁內容有意見,請聯絡Kieran Lal。
當要指定專案的需求時,大多數客戶都會詢問許多同樣的問題,不論該專案是一個電子商務網站或是一個社交網路。以下所列出的是大多數專案所關心的項目,以及本手冊裡其他部份所提供的相關資訊。
注意:本文所列出的是主題,而非該項主題的教學指引。例如,「延展性:案例研究」而非「延展性:如何調校伺服性」。有些教學連結暫時還存在,但以後會移除。
Platform Support
Scalability
Security & Access Control
Administration Overhead
Auditing
Disaster Recovery
Maintenance
Documentation
Accessibility Legal Compliance
Professional support
Interoperability