Cũng giống như các hệ thống quản trị nội dung hiện đại khác, Drupal cho phép người quản trị hệ thống tạo và tổ chức dữ liệu, tùy chỉnh cách trình bày, tự động hóa các tác vụ điều hành v
Trang 1Tìm hiệu Drupal CMS
Trang 3Tổng quan về Drupal
Drupal là gì: Drupal là một khung sườn phát triển
phần mềm hướng mô-đun (module), một hệ thống quản trị nội dung miễn phí và mã nguồn mở Cũng giống như các hệ thống quản trị nội dung hiện đại khác, Drupal cho phép người quản trị hệ thống tạo và
tổ chức dữ liệu, tùy chỉnh cách trình bày, tự động hóa các tác vụ điều hành và quản lý hệ thống.
Drupal có cấu trúc lập trình rất tinh vi, dựa trên đó,
hầu hết các tác vụ phức tạp có thể được giải quyết với rất ít đoạn mã được viết, thậm chí không cần Drupal cũng được gọi là "khung sườn phát triển ứng dụng web", vì kiến trúc thông minh và uyển chuyển của nó
Trang 4Tổng quan về Drupal
Lịch sử Drupal:
Đầu tiên, nó được Dries Buytaert, một lập trình viên mã nguồn mở, tạo ra theo dạng một hệ thống bảng tin Đến năm 2001, Drupal trở thành một công trình nguồn mở
Drupal, trong tiếng Anh, được chuyển ngữ từ từ liệu
"druppel" của tiếng Hà Lan, nghĩa là "giọt nước"
Từ tháng bảy 2007 đến tháng sáu năm 2008, mã nguồn Drupal đã được tải về từ website drupal.org hơn 1,4 triệu lần Hiện nay, có một cộng đồng rộng lớn đang giúp đỡ phát triển Drupal
Tháng giêng năm 2009, Drupal 6.9, phiên bản mới nhất,
đã được công bố
Trang 6Tổng quan về Drupal
Mô hình MVC:
Trang 7Tổng quan về Drupal
Đặc điểm:
Xây dựng nội dung theo “Kiểu nội dung”
Phân luông nội dung theo “Kho từ” và “Tư liệu”
Chức năng phản hổi cho mọi nội dung
Các kiểu nội dung cơ bản: Page(trang tĩnh), story (tin tức), forum (diễn đàn)…
Quản lý người dùng dựa trên vai trò
Hệ thống phân quyền dựa trên bộ ba: module + thao tac + vai trò Hệ thống này
có thể mở rộng rất uyển chuyển
Nhiều module cộng thêm đáp ứng nhiều nhu cầu: sự kiện, lịch biểu, thương mại
điện…
Trang 8Tổng quan về Drupal
Đặc điểm 2:
Xử lý tốt tính bảo mật phổ biến: SQL injectioon, truy cập file…
Thao tác với CSDL dễ dàng
Sử dụng phptemplate, tách bạch xử lý logic và html, tích hợp Form API, hỗ trợ
tạo và xử lý form nhanh chóng
Nền tảng hướng module, xây dựng ứng dụng nhiều chức năng nhanh chóng, bảo mật, kế thừa cao, giao diện uyển chuyển…
Tích hợp thư viện Jquery vào hệ thống
Xử lý sẵn các yêu cầu phổ biến: quản lý nội dung, quản lý người dùng, phân
Trang 9cộng đồng Website nội bộ (Intranet), website doanh nghiệp
Trang 10Một số khái niệm Drupal
User: khái niệm chỉ về người sử dụng ứng dụng Có một số thuộc tính cơ bản như sau:
User ID: mã số người dùng
Username: tên đăng nhập vào hệ thống
Password: mật khẩu, thiết lập tính bảo mật
Email: địa chỉ email của người dùng, để khôi phục lại mật khẩu
…
Role:
Vai trò (quyền hạn) của người dùng
Mỗi một người dùng có thể có một hoặc nhiều vai trò khác nhau
Người điều hành site phân quyền sử dụng các chức năng hệ thống dựa theo vai trò
Trang 11Một số khái niệm Drupal
Role - tiếp:
Drupal xây dựng sẵn 3 vai trò cốt lõi, không thể xóa được:
Admin: một vai trò trừu tượng, không hiển thị ra giao diện; Hệ thống chỉ có một người có vai trò admin; Người điều hành site
sẽ có toàn quyền sử dụng mọi chức năng trên hệ thống
Anonymous: người sử dụng chưa đăng nhập vào hệ thống
Authenticated: người sử dụng ghi danh và đăng nhập vào hệ thống
Người điều hành có thể xây dựng thêm/sửa/xóa một/nhiều vai trò
mới cho phù hợp nhu cầu
Trang 12Một số khái niệm Drupal
Mô hình phân quyền
Trang 13Một số khái niệm Drupal
Theme:
Theme là giao diện người dùng, site drupal có thể có một
hoặc nhiều theme
Người điều hành site có thể bật/tắt (những) theme sử dụng
Người dùng có thể chọn sử dụng một theme trong những
theme hợp lệ (theme được kích hoạt)
Theme định nghĩa cách trình bày tổng quan của site:
sitename, slogan, layout, css, block style, node style
Trang 14Một số khái niệm Drupal
Kiến trúc theme
Trang 15Một số khái niệm Drupal
Block: những khối nội dung bao gồm các thuộc tính
Region: (Vị trí trình bày) được trình bày ở
trên/dưới/trái/phải/ở giữa/….
Weight: (Thứ tụ trình bày) xác định thứ tự trình bày block
Weight càng nhỏ thì độ ưu tiên càng cao
Title: tiêu đề của block
Body: nội dung trình bày chính của block
Access: xác định những vai trò nào thì được phép xem block
…
Trang 16Một số khái niệm Drupal
Region block
Trang 17Một số khái niệm Drupal
Menu:
Hệ thống có một hoặc nhiều menu
Menu title: tên phân biệt các menu, có thể chứa môt/nhiều menu item
Mỗi menu tự tạo ra một block tương ứng với nội dung là một cây phân
nhánh gồm những menu item
Menu item:
Là một siêu lên kết được định nghĩa trong menu
Thuộc tính: Status - được kích hoạt hay không; Title - tiêu đề của menu;
Description - mô tả cho menu item; Path - đưỡng dẫn liên kết; weight:
xác định vị trí menu item; Expanded - có được duỗi ra hay không
Trang 18Một số khái niệm Drupal
Module: là một nhóm chức năng nhất định, gồm các thuộc tính sau:
Name: tên chính thức của module, ảnh hưởng trực tiếp tới hàm liên kết với hệ thống
Display name: tên gợi nhớ, được trình bày ở trang điều hành
Description: giới thiệu ngắn gọn về chức năng module, trình bày ở trang điều hành
Version: mã số phiên bản module
Dependencies: phụ thuộc các module khác Module sẽ không kích hoạt được nếu module phụ thuộc không kích hoạt
Package: phân nhóm chức năng chứa đựng module
Trang 19Một số khái niệm Drupal
Hook: Hook được xem như là các event bên trong bộ nhân Drupal
Chúng được gọi là các hàm callbacks
Ví dụ : khi một user login vào drupal, Drupal sẽ phát ra hook user, nghĩa là lúc này tất cả các hàm hook user có trong tất cả các moudle sẽ được gọi
Đây là cách phổ biến nhất để tương tác với nhân Drupal
Mỗi hàm hook có những tham số quy ước và gia trị trả về nhất định, có thể tham khảo http://api.drupal.org/api/group/hooks/6
Node: Các kiểu nội dung trong Drupal đều kế thừa từ kiểu cơ bản là node
Ví dụ : blog entry, post, page, recipe… tất cả đều có cùng cấu trúc bên dưới giống nhau là node.
Trang 20Một số khái niệm Drupal
Node:
Cách tương tác với node là
mở rộng chúng
Ví dụ : các developer có thể
thêm vào các node như :
comment, file attachment,
rate…
Bất kỳ node nào cũng có
thể được đưa ra frontpage
(trang chủ)
Trang 21Mô hình site Drupal
Trang 22Hướng dẫn cài đặt
Khởi động vertrigo
Download phiên bản Drupal 6 tại: http://drupal.org/
Giải nén vào thư mục www của vertrigo, ví dụ: đặt tên project mydrupal
Vào thư mục mydrupal/sites/default -> copy file default.settings.php đổi tên thành settings.php
Truy cập vào phpmyadmin -> tạo csdl (ví dụ: mydrupal)
Sau đó mở trình duyệt chạy trang: http://localhost/mydrupal/
(Tham khảo video đính kèm)
Trang 23Các module hệ thống
Drupal là một framework hướng module, những nhóm chức năng từ hệ thống cũng được xây dựng theo hướng này, thích hợp để sử dụng hầu hết các site và để tham khảo
Aggregator: lấy tin các website khác thông qua RSS
Block: điều khiển các ô hiển thị xung quanh nội dung chính
Blog: tạo các blog entry
Book: hỗ trợ người dùng công tác tạo những trang sách
Color: hỗ trợ người dùng thay đổi tông màu của theme
Locale:cho phép người dùng dịch giao diện sang ngôn ngữ khác
Menu: cho phép quản trị hệ thống tùy biến menu
Trang 24Các module hệ thống
Node: cho phép người dùng gửi đến và hiển thị trên các trang
Path: cho phép người dùng đổi đường dẫn url
Ping: nhắn tin đến những site khác khi hệ thống cập nhật
Poll: chức năng bình chọn trên site
Profile: tùy biến profile(thông tin) người sử dụng
Search: hỗ trợ tìm kiếm từ khóa trên toàn hệ thống
Statistic: ghi lại thống kê truy cập hệ thống
System: điều khiển cấu hình chung dành cho quản trị hệ thống
Taxonomy: hỗ trợ phân luồng nội dung
Trang 25Các module hệ thống
Throttle: hỗ trợ xử lý một số tháo tác ở các site khi có lượng truy cập lớn
Tracker: theo dõi vết nội dung hiện thời của người dùng
Upload: cho phép người dùng tải và đính kèm tệp tin vào nội dung
User: quản lý thông tin đăng nhập và đăng ký người dùng
Wacthdog: ghi lại sự việc diễn ra trên hệ thống
Trang 26Một số khái niệm Drupal
Trang 27Một số khái niệm Drupal
Trang 28Một số khái niệm Drupal