SlideShare a Scribd company logo
1 of 37
CMS 內容管理系統
DRUPAL
臺師大圖資所
陳恆毅




             0
內容大綱

傳統網站開發流程

內容管理系統 (CMS) 簡介與比較

Drupal 簡介

用 Drupal 架設新網站




                      1
傳統網站開發流程




           2
傳統網站開發五大步驟

網站企畫
網頁設計
程式開發
發佈網站
內容維護




             3
網站設計四大原則(1/2)          (ROSLYN RAWARD. 2001)




 找到網站資訊內容的能力   (Finding the information)

   是否有網站地圖
   索引
   站內查詢
   網站內容目錄
 了解網站資訊內容的組織與結構           (Understanding the information)

   標題是否具有直覺性
   文字清晰度
   用語是否一致




                                                             4
網站設計四大原則 (2/2)

支援使用者的能力       (Supporting user tasks)
  是否有途徑可供提問及建議
  常問問題集
  輔助說明
呈現資訊內容的表現能力 (Presenting the
 information)
  檔案下載的時間
  檔案與圖檔的大小
  是否有圖表
  跨平台的相容性…



                                          5
互動式網頁程式設計(1/4)

系統(需求) 分析
   使用者需要哪些資訊?!
   管理者需要哪些資料?!
HTML 語法
  HTML , DHTML, XML
網頁編輯軟體的應用
  Front Page
  Dreamweaver
  記事本 …..



                       6
互動式網頁程式設計(2/4)

多媒體的應用
  Flase
  PhotoImpac …..
程式開發
   使用何種語言
     ASP
     PHP
     JAVA
     其他 (VB, JSP, Delphi,……)




                                7
互動式網頁程式設計(3/4)

資料庫規畫
  選用使用何種資料庫
    Access
    MS SQL
    Sybase
    Oracle
    My SQL ….
  正規化
  SQL 語法




                 8
互動式網頁程式設計(4/4)

系統維護
  程式更新 & 資料更新
  需求分析等資料的保存,有利於後續的維護
  程式註解
作業系統
  網站管理
  權限管理




                         9
內容管理系統 – CMS




               10
CMS 內容管理系統

可將相關內容集中儲存並具有群組管理、版本
 控制等功能。
版本控制是內容管理系統的一個主要優勢。
內容管理系統在物品、文案或資料的儲存、掌
 管、修訂、文檔釋出等方面有廣泛的應用。




                        11
常見 CMS 比較表
                                         WordPres           Joomla Drupal Plone
                                         s                  !
    裝置、架站的難度                                    4               4             4        2
    架一個單純網站的難度                                  4               3             3        2
    架設複雜網站的難度                                   4               4             3        3
    內容編輯使用難度                                    4               3             3        4
    網站管理的難度                                     4               3             3        3
    視覺化的彈性                                      4               4             4        4
    SEO                                         3               3             2        4
    結構的彈性                                       3               3             4        4
    使用者角色及流程管理                                  2               2             3        4
    社群 / web 2.0 功能                             4               3             4        3
    未來延展性及系統一致性                                 4               4             4        4
    安全性                                         2               3             3        4
    後續支援 / 社群的力量                                4               4             4
資料來源:2010 Comparing Open Source Content Management System: WordPress, Joomla, Drupal
                                                                                       4
and Plone http://www.idealware.org/reports/2010-os-cms                                     12
到底該用哪一個軟體架站?
 WordPress:
   簡單、好入手,會HTML及css可得心應手架站,主要是部落格及簡單頁
    面架站用。未來擴張彈性不及其他三個軟體。
 Joomla:
   架站不難,系統分為三種頁面:區塊、類別、文章,一但清楚,就可入
    手。Joomla彈性比WordPress大,卻不如Drupal、Plone。不易將內容以
    不同面貌呈現在不同頁面上。
 Drupal:
   強而有力又有彈性,也因而複雜。管理頁有許多選項,一定得想好才動
    手。Drupal的流程控制不如Plone。
 Plone:
   強有力、有彈性、強韌。適合非常複雜網站。裝置Plone很難,需要特定
    的主機,以Python語言編寫也不如其他三個軟體用PHP方便。



                                              13
DRUPAL 簡介




            14
DRUPAL 簡介
 Drupal, 水滴
 Drupal 是一套開放原始碼的內容管
  理系統( CMS ),以PHP為基礎,採
  用模組化的架構,可在一般作業系
  統上運行。
 目前使用Drupal的人總計超過50萬,
  遍及全球200多個國家,180多種語
  言,Drupal 7 的開發集結了近千名
  會員的心力,而貢獻模組的會員更
  有數千名,Drupal 7 可擴充的模組
  已有超過 850 個。



                         15
DRUPAL 的用途
 社群入口網站      內容管理
 公司網站        網誌
 企業內部網站      論壇
 電子商務平台      電子報
 討論型網站
              播客 (Podcast)
 數位典藏網站
              多媒體展示
 個人網誌
              檔案分享
 圖書館網站
              ….
…



                              16
DRUPAL 的特色 (1/2)

核心模組已涵蓋大多數應用之所需
以 node 為主的架構─簡單而富有彈性
彈性的分類機制
具文件版本管理功能
獨特的 Hook system─提高模組整合度
功能強大的 API─方便模組開發




                           17
DRUPAL 的特色 (2/2)

各式豐富好用的模組─CCK、Views…
可自定會員資料欄位
詳細的日誌記錄
程式、內容與版型獨立
權限控制、選單、區塊、搜尋、輸入過濾、快
 取、負載機制等




                        18
NODES

Drupal將每一個紀錄都視
 為一個Node(節點)
基本資料結構是相同的,
 擴展性高,使用者可以自
 行開發、添加資料,不用
 擔心資料類型是否相同。
任何一個節點都可以被放
 在首頁,發表,甚至運用
 在搜尋上面。


                  19
DRUPAL NODE 的概念




                  20
21
DRUPAL框架




           22
HOOKS

模組與模組之間的連結,稱為hooks(掛勾)
掛勾在Drupal當中是非常便利的,不論你是要
 下載並且使用Drupal的模組都需要透過hooks這
 一動作連結,一些功能是不需要自己下去寫程
 式只要透過少許的修改,就可以很方便的使用,
 你也可以自己客製化一個屬於自己的模組寫出
 來,並且掛勾使用。




                              23
BLOCKS

一個block就是一個資訊,建構在模組之上,可
 以啟用或禁用在任何一個模組。
一個block可以設置顯示任何類型的node,像是
 行程表,當前的使用者人數之類的訊息。




                             24
讓DRUPAL如虎添翼的模組
 CCK (Content Construction Kit)
    可依個別需求定義內容型態(node type)
    支援各式型態欄位
 Views
    可依個別需求建立資料庫的views
    支援網址參數及動態篩選
    提供頁面與區塊兩大呈現方式
 Panels
    可將多個內容、區塊或Views擺在同一個頁面的任何位置,
     非常適用於網站首頁




                                    25
用 DRUPAL 架設新網站




                 26
DRUPAL 新網站的規劃

內容類型(node type)規劃
分類(taxonomy)設計規劃
角色與權限規劃
區塊與選單規劃
選一個適用的版型風格再自行修改CSS
首頁設計(可利用panels模組)




                      27
版型修改與設計

修改版型CSS (通常為style.css)
修改版型樣板
  頁面樣板:page.tpl.php
  內容樣板:node.tpl.php
  區塊樣板:block.tpl.php
  首頁樣板:page-front.tpl.php
  回應樣板:comment.tpl.php
複寫版型函式(overriding theme func.)
  於template.php重新定義自己的版型函式




                                  28
更多可擴充的模組




           29
內容呈現客製

內容呈現客製方式
  直接以php語法在頁面或區塊內容撰寫程式
  利用CCK+Views或其他第三方模組
  自行開發模組




                          30
模組開發簡介

.info 檔案
   提供模組資訊
.install 檔案
   模組安裝/解除安裝使用
   通常用來建立資料表、移除資料等
.module 檔案
   主要的模組程式檔
   利用 hook system 完成模組程式架構




                              31
善用HOOK SYSTEM

Hook可想像成Drupal的內部事件,又稱為
 callbacks
客製模組時只須定義相關hook function,不必
 更改核心模組的程式碼
例如會員登入時,會觸發 user hook,所有的模
 組,只要有定義 user hook function,該
 function 均會被執行


           http://api.drupal.org/api/5/group/hooks


                                                     32
HOOK_MENU 範例

在選單
 Administer->Settings->Annotation settings
 就會出現 annotation 設定表單




                                             33
HOOK_MENU 範例




               34
HOOK_MENU 範例




               35
謝謝大家仔細聆聽!!!!
   Q&A




               36

More Related Content

Similar to 內容管理系統 - Drupal入門

introduction of web 2.0
introduction of web 2.0introduction of web 2.0
introduction of web 2.0soboring
 
twMVC#04 | ASP.NET MVC 4 新功能介紹(快速上手)
twMVC#04 | ASP.NET MVC 4 新功能介紹(快速上手)twMVC#04 | ASP.NET MVC 4 新功能介紹(快速上手)
twMVC#04 | ASP.NET MVC 4 新功能介紹(快速上手)twMVC
 
ASP.NET MVC 4 新功能介紹(快速上手) -twMVC#4
ASP.NET MVC 4 新功能介紹(快速上手) -twMVC#4ASP.NET MVC 4 新功能介紹(快速上手) -twMVC#4
ASP.NET MVC 4 新功能介紹(快速上手) -twMVC#4twMVC
 
D2-ETao-show
D2-ETao-showD2-ETao-show
D2-ETao-showleneli
 
Ibmzf2
Ibmzf2Ibmzf2
Ibmzf2daoopp
 
基于 MySQL 的B2C电商系统前端数据层架构
基于 MySQL 的B2C电商系统前端数据层架构基于 MySQL 的B2C电商系统前端数据层架构
基于 MySQL 的B2C电商系统前端数据层架构Sky Jian
 
深入研究雲端應用程式平台-AppFabric
深入研究雲端應用程式平台-AppFabric深入研究雲端應用程式平台-AppFabric
深入研究雲端應用程式平台-AppFabricJohn Chang
 
MySQL 網路參考架構
MySQL 網路參考架構MySQL 網路參考架構
MySQL 網路參考架構郁萍 王
 
Chapter 4 models
Chapter 4 modelsChapter 4 models
Chapter 4 modelsEkman Hsieh
 
浅谈伪分布式数据库架构
浅谈伪分布式数据库架构浅谈伪分布式数据库架构
浅谈伪分布式数据库架构mysqlops
 
Drupal - 課程網站與班級社群
Drupal  - 課程網站與班級社群Drupal  - 課程網站與班級社群
Drupal - 課程網站與班級社群Charles Chuang
 
選一個框架當好朋友,讓您成為開心攻城獅
選一個框架當好朋友,讓您成為開心攻城獅選一個框架當好朋友,讓您成為開心攻城獅
選一個框架當好朋友,讓您成為開心攻城獅Shengyou Fan
 
My sql overview 2012 04-25 by scott chen - 30min - tw-1
My sql overview 2012 04-25 by scott chen - 30min - tw-1My sql overview 2012 04-25 by scott chen - 30min - tw-1
My sql overview 2012 04-25 by scott chen - 30min - tw-1Ivan Tu
 
01 orm概述及持久化介绍
01 orm概述及持久化介绍01 orm概述及持久化介绍
01 orm概述及持久化介绍Zelin Wang
 
NPO 網站改造觀摩賽 - Day 3 - Drupal Team Report by TKY
NPO 網站改造觀摩賽 - Day 3 - Drupal Team Report by TKYNPO 網站改造觀摩賽 - Day 3 - Drupal Team Report by TKY
NPO 網站改造觀摩賽 - Day 3 - Drupal Team Report by TKYCharles Chuang
 
培训第一周
培训第一周培训第一周
培训第一周SDtoo
 
基于Symfony框架下的快速企业级应用开发
基于Symfony框架下的快速企业级应用开发基于Symfony框架下的快速企业级应用开发
基于Symfony框架下的快速企业级应用开发mysqlops
 
MySQL5.6&5.7 Cluster 7.3 Review
MySQL5.6&5.7 Cluster 7.3 ReviewMySQL5.6&5.7 Cluster 7.3 Review
MySQL5.6&5.7 Cluster 7.3 Review郁萍 王
 
部落格建置經驗分享
部落格建置經驗分享部落格建置經驗分享
部落格建置經驗分享Winnie Hsu
 
新浪微博大规模基于Docker的混合云应用实践 -王关胜
新浪微博大规模基于Docker的混合云应用实践 -王关胜新浪微博大规模基于Docker的混合云应用实践 -王关胜
新浪微博大规模基于Docker的混合云应用实践 -王关胜Weibo Corporation
 

Similar to 內容管理系統 - Drupal入門 (20)

introduction of web 2.0
introduction of web 2.0introduction of web 2.0
introduction of web 2.0
 
twMVC#04 | ASP.NET MVC 4 新功能介紹(快速上手)
twMVC#04 | ASP.NET MVC 4 新功能介紹(快速上手)twMVC#04 | ASP.NET MVC 4 新功能介紹(快速上手)
twMVC#04 | ASP.NET MVC 4 新功能介紹(快速上手)
 
ASP.NET MVC 4 新功能介紹(快速上手) -twMVC#4
ASP.NET MVC 4 新功能介紹(快速上手) -twMVC#4ASP.NET MVC 4 新功能介紹(快速上手) -twMVC#4
ASP.NET MVC 4 新功能介紹(快速上手) -twMVC#4
 
D2-ETao-show
D2-ETao-showD2-ETao-show
D2-ETao-show
 
Ibmzf2
Ibmzf2Ibmzf2
Ibmzf2
 
基于 MySQL 的B2C电商系统前端数据层架构
基于 MySQL 的B2C电商系统前端数据层架构基于 MySQL 的B2C电商系统前端数据层架构
基于 MySQL 的B2C电商系统前端数据层架构
 
深入研究雲端應用程式平台-AppFabric
深入研究雲端應用程式平台-AppFabric深入研究雲端應用程式平台-AppFabric
深入研究雲端應用程式平台-AppFabric
 
MySQL 網路參考架構
MySQL 網路參考架構MySQL 網路參考架構
MySQL 網路參考架構
 
Chapter 4 models
Chapter 4 modelsChapter 4 models
Chapter 4 models
 
浅谈伪分布式数据库架构
浅谈伪分布式数据库架构浅谈伪分布式数据库架构
浅谈伪分布式数据库架构
 
Drupal - 課程網站與班級社群
Drupal  - 課程網站與班級社群Drupal  - 課程網站與班級社群
Drupal - 課程網站與班級社群
 
選一個框架當好朋友,讓您成為開心攻城獅
選一個框架當好朋友,讓您成為開心攻城獅選一個框架當好朋友,讓您成為開心攻城獅
選一個框架當好朋友,讓您成為開心攻城獅
 
My sql overview 2012 04-25 by scott chen - 30min - tw-1
My sql overview 2012 04-25 by scott chen - 30min - tw-1My sql overview 2012 04-25 by scott chen - 30min - tw-1
My sql overview 2012 04-25 by scott chen - 30min - tw-1
 
01 orm概述及持久化介绍
01 orm概述及持久化介绍01 orm概述及持久化介绍
01 orm概述及持久化介绍
 
NPO 網站改造觀摩賽 - Day 3 - Drupal Team Report by TKY
NPO 網站改造觀摩賽 - Day 3 - Drupal Team Report by TKYNPO 網站改造觀摩賽 - Day 3 - Drupal Team Report by TKY
NPO 網站改造觀摩賽 - Day 3 - Drupal Team Report by TKY
 
培训第一周
培训第一周培训第一周
培训第一周
 
基于Symfony框架下的快速企业级应用开发
基于Symfony框架下的快速企业级应用开发基于Symfony框架下的快速企业级应用开发
基于Symfony框架下的快速企业级应用开发
 
MySQL5.6&5.7 Cluster 7.3 Review
MySQL5.6&5.7 Cluster 7.3 ReviewMySQL5.6&5.7 Cluster 7.3 Review
MySQL5.6&5.7 Cluster 7.3 Review
 
部落格建置經驗分享
部落格建置經驗分享部落格建置經驗分享
部落格建置經驗分享
 
新浪微博大规模基于Docker的混合云应用实践 -王关胜
新浪微博大规模基于Docker的混合云应用实践 -王关胜新浪微博大规模基于Docker的混合云应用实践 -王关胜
新浪微博大规模基于Docker的混合云应用实践 -王关胜
 

More from Hen Chen

20131031 drupal meeting
20131031 drupal meeting20131031 drupal meeting
20131031 drupal meetingHen Chen
 
Drupal7第二堂
Drupal7第二堂Drupal7第二堂
Drupal7第二堂Hen Chen
 
Drupal7第三堂
Drupal7第三堂Drupal7第三堂
Drupal7第三堂Hen Chen
 
20112011年暑期泰北建華高中圖書館志工成果報告
20112011年暑期泰北建華高中圖書館志工成果報告20112011年暑期泰北建華高中圖書館志工成果報告
20112011年暑期泰北建華高中圖書館志工成果報告Hen Chen
 
卡片分類法資料分析方式探討
卡片分類法資料分析方式探討卡片分類法資料分析方式探討
卡片分類法資料分析方式探討Hen Chen
 
社群網站對社會資本的影響
社群網站對社會資本的影響社群網站對社會資本的影響
社群網站對社會資本的影響Hen Chen
 

More from Hen Chen (6)

20131031 drupal meeting
20131031 drupal meeting20131031 drupal meeting
20131031 drupal meeting
 
Drupal7第二堂
Drupal7第二堂Drupal7第二堂
Drupal7第二堂
 
Drupal7第三堂
Drupal7第三堂Drupal7第三堂
Drupal7第三堂
 
20112011年暑期泰北建華高中圖書館志工成果報告
20112011年暑期泰北建華高中圖書館志工成果報告20112011年暑期泰北建華高中圖書館志工成果報告
20112011年暑期泰北建華高中圖書館志工成果報告
 
卡片分類法資料分析方式探討
卡片分類法資料分析方式探討卡片分類法資料分析方式探討
卡片分類法資料分析方式探討
 
社群網站對社會資本的影響
社群網站對社會資本的影響社群網站對社會資本的影響
社群網站對社會資本的影響
 

內容管理系統 - Drupal入門