Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 48 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
48
Dung lượng
3,74 MB
Nội dung
PHÁTTRIỂNWEBSITEVỚIDRUPAL7 ĐỀ TÀI: PHÁTTRIỂN WEBSTIE VỚI DRUPAL7 !"#$%THS.NGUYỄN MINH TÂM Sinh viên thực hiện : ĐỒNG QUANG TRỌNG &"'%47K - CNTT( )*+,, ĐỒNG QUANG TRỌNG 47K - CNTT TRANG 1 PHÁTTRIỂNWEBSITEVỚIDRUPAL7 L-./01 Sinh viên CNTT có hai mối quan tâm chính, đó là kiến thức trong quá trình học và việc làm sau khi ra trường. Về cả hai mặt này, mã nguồn mở là một lựa chọn rất xứng đáng. So với việc tự học và xây dựng sản phẩm, việc học và nghiên cứu một cách nghiêm túc một mã nguồn mở nào đó mang lại hiểu quả và nhiều ưu điểm hơn như: - Nắm bắt và hiểu được các mô hình, kiến trúc để xây dựng một sản phẩm phần mềm. - Học hỏi được kinh nghiệm, kiến thức, cách viết mã lệnh từ các lập trình viên kinh nghiệm lâu năm đang xây dựng dự án mã nguồn mở. - Có thể tham gia các dự án pháttriển của phần mềm mã nguồn mở như là một kinh nghiệm làm việc thực tế và tích lũy được kỹ năng làm việc từ đó. Ngày nay, với sự pháttriển của mạng Internet, việc pháttriển các web application, website đang có một nhu cầu rất lớn. Đối với các doanh nghiệp thì yêu cầu một website phải đáp ứng các vấn đề: - Giao diện đơn giản, thân thiện, dễ sử dụng. - Việc quản lý dễ dàng, không đòi hỏi cao về chuyên môn - Website có tính khả chuyển, phù hợp cho nhiều loại hàng hóa, chức năng - Chi phí pháttriển là thấp nhất Đề tài “Phát triểnwebsitevớiDrupal 7” sử dụng mã nguồn mở nhằm giải quyết các vấn đề trên. ĐỒNG QUANG TRỌNG 47K - CNTT TRANG 2 PHÁTTRIỂNWEBSITEVỚIDRUPAL7 Đề tài gồm 3 phần chính: - 0,giới thiệu, mô tả về các ưu điểm, tính năng, cách xử lý của hệ thống Drupal7. - 0* cách pháttriển mô-đun vớiDrupal7 bằng ví dụ minh họa cụ thể là mô-đun lấy thông tin thời tiết tự động. - 02mô tả cách xây dựng website cho bệnh viện 115. Em xin chân thành cảm ơn sự giúp đỡ nhiệt tình của cô giáo Ths.Nguyễn Minh Tâm đã đóng góp những ý kiến quý báu giúp em có thể hoàn thành để tài của mình. Một lần nữa em xin chân thành cảm ơn ! Sinh viên thực hiện Đồng Quang Trọng ĐỒNG QUANG TRỌNG 47K - CNTT TRANG 3 PHÁTTRIỂNWEBSITEVỚIDRUPAL7 345645 1 Giới thiệu Drupal 6 1.1 Drupal là gì? .6 1.1.1 Những ai sử dụng Drupal .7 1.1.2 Những đặc tính của Drupal .8 1.2 Drupal làm việc như thế nào .9 1.2.1 Nền tảng công nghệ .9 1.2.2 Phần nhân (core) .10 1.2.3 Giao diện quản trị 11 1.2.4 Mô-đun 11 1.2.5 Hooks .13 1.2.6 Giao diện (theme) 14 1.2.7 Node .17 1.2.8 Block 17 1.2.9 Cấu trúc thư mục 18 1.3 Xử lý một yêu cầu (request) .20 1.3.1 Vai trò của web server 21 1.3.2 Quá trình khởi động .21 1.3.3 Xử lý yêu cầu 24 1.3.4 Tạo giao diện cho dữ liệu 26 ĐỒNG QUANG TRỌNG 47K - CNTT TRANG 4 PHÁTTRIỂNWEBSITEVỚIDRUPAL7 2 Xây dựng mô-đun lấy thông tin thời tiết tự động .26 2.1 Phân tích yêu cầu .27 2.2 Làm việc với hệ thống menu 27 2.3 Làm việc với Blocks 32 2.4 Làm việc với Form API .33 2.5 Lấy thông tin thời tiết từ tuoitre.vn 39 3 Xây dựng website bệnh viện 115 42 3.1 Xây dựng websitevớiDrupal 42 3.2 Thiết kế website .43 Tài liệu tham khảo 48 ĐỒNG QUANG TRỌNG 47K - CNTT TRANG 5 PHÁTTRIỂNWEBSITEVỚIDRUPAL7 , "7 8191':6 ,(, 91':66;<= Drupal là một hệ quản trị nội dung (CMS) mã nguồn mở được sử dụng phổ biến nhất trên thế giới để xây dựng trang web. Xây dựng trang web vớiDrupal thì vấn đề cốt lõi là kết hợp nhiều “khối nội dung” (building block) với nhau để tùy biến website của theo các chức năng yêu cầu. Website xây dựng bởi Drupal có thể được bảo trì, pháttriển bằng những khung nhập nội dung trực tiếp (online form) mà không phải thay đổi mã nguồn (code) bằng tay. Drupal hoàn toàn miễn phí, ngay tại trang chủ của Drupal (drupal.org) có hàng ngàn thư viện để phục vụ cho các nhu cầu đa dạng trong việc xây dựng website. Nhờ những tính năng mạnh mẽ của mình, Drupal còn được coi là một khung sườn pháttriển phần mềm (Content Management Framework – CMF). Ngoài việc cung cấp cho những người quản trị trang web (webmasters) một công cụ xây dựng website, nó còn giúp cho các lập trình viên và nhà pháttriển nhiều cách để tùy biến Drupal sử dụng các mô-đun (plug-in module). Tất cả mọi thành phần của Drupal đều có thể được tùy biến sử dụng những mô-đun này. Điều đáng chú ý nhất là cộng đồng pháttriển Drupal, vốn được coi là điều thành công và đáng giá nhất của drupal. Khi Drupal 6 được phát hành tháng 2 năm 2008, có hơn 700 thành viên đã cùng nhau xây dựng nên phần lõi (core) của Drupal. Có hơn 2000 lập trình viên cùng nhau xây dựng các modules, tham gia trong các quá trình kiểm thử, viết tài liệu, hỗ trợ người dùng, dịch thuật và các công đoạn quan trọng khác của dự án. Ngày 5 tháng 1 năm 2011, cộng đồng Drupal trên toàn thế giới cùng với Hiệp hội Drupal đón chào việc công bố chính thức ra mắt Drupal 7, nền tảng web được đánh giá là mạnh nhất hiện nay. ĐỒNG QUANG TRỌNG 47K - CNTT TRANG 6 PHÁTTRIỂNWEBSITEVỚIDRUPAL7 Dự án pháttriểnDrupal7 kết hợp giữa các chỉ dẫn của các chuyên gia công nghệ, cùng với phản hồi của cộng đồng, để làm cho việc sử dụng được dễ dàng hơn. Việc cải tiến cách thức sử dụng bao gồm quản lý dễ dàng hơn, quản lý các cập nhật, truy xuất và tạo nội dung. Theo số liệu mới nhất, Drupal là phần mềm mã nguồn mở được sử dụng bởi hơn nửa tỉ người trên 200 quốc gia và 189 ngôn ngữ. Gần 1000 thành viên của cộng đồng Drupal đã và đang đóng góp trực tiếp pháttriển lõi Drupal7 và các module kèm theo. ,(,(, >:?@#491':6 Những năm gần đây, Drupal ngày càng pháttriển mạnh mẽ và trở nên rất phổ biến, điều này đã làm cho nhiều công ty lớn đặc biệt chú ý. Các công ty về lĩnh vực đa phương tiện như MTV UK, Lifetime và Sony BMG Records đang sử dụng Drupal để xây dựng cộng đồng cho các sản phẩm của họ. Các nhà xuất bản như New York Observer, The Onion, tạp chí Popular Science và tạp chí Fast Company cũng sử dụng drupal để xây dựng báo điện tử. Ngoài ra còn nhiều tổ chức như tổ chức ân xá quốc tế (Amnesty International), Liên Hợp Quốc (the United Nations) và hiệp hội công nghiệp điện tử (the Electronic Frontier Foundation) cũng sử dụng Drupal để xây dựng cổng thông tin (portal). Ubuntu Linux, Eclipse, Firefox và jQuery là những dự án mã nguồn mở hiện đang sử dụng Drupal để xây dựng trang cộng đồng pháttriển cho dự án. Ngoài ra còn có các trang web của các blogger nổi tiếng như Tim Berners-Lee, Heather B.Armstrong (Dooce), mạng xã hội BlogHer, và Merlin Mann cũng sử dụng Drupal để phát triển. ĐỒNG QUANG TRỌNG 47K - CNTT TRANG 7PHÁTTRIỂNWEBSITEVỚIDRUPAL7 ,(,(* >/A57B 5C:91':6 Drupal cung cấp nhiều tính năng mạnh mẽ, bao gồm: 87 DEFG/1EHE#IJ Mô-đun là những plug-in có thể được chỉnh sửa và thêm các tính năng cho các site sử dụng Drupal. Hầu hết những tính năng cần có đều có thể được đáp ứng bởi một mô-đun để giải quyết bài toán hoặc kết hợp nhiều mô-đun lại với nhau. 87 D:J#87KLMN Tất cả các đầu ra trong drupal đều hoàn toàn có thể được tùy biến, vì vậy có thể dễ dàng thay đổi mọi thành phần giao diện trong website theo yêu cầu. 87 D7OJP#1EQ9P Drupal có thể được định nghĩa nhiều loại nội dung mới (ví dụ như blog, sự kiện, bản tin…) mà không cần phải lập trình. Các mô-đun của Drupal có thể làm các điều này và chấp nhận cho người quản trị tạo ra các trường tùy biến trong các loại nội dung mới được tạo. ĐỒNG QUANG TRỌNG 47K - CNTT TRANG 8 PHÁTTRIỂNWEBSITEVỚIDRUPAL7 D!1 .:5F547<ERNE Drupal đã được hỗ trợ sẵn hệ thống tạo đường dẫn thân thiện (human-readable), và tất cả đầu ra của Drupal đều đạt chuẩn, những tính năng này làm cho các website được xây dựng bởi Drupal rất thân thiện với công cụ tìm kiếm. 87 D' ST1LH Các vai trò (role) và hệ thống phân quyền của Drupal rất mạnh mẽ. Quyền có thể được phân cho các vai trò khác nhau hoặc phân quyền đến tận các mô-đun. Các mô-đun đều có thể định nghĩa được quyền hạn và phân quyền theo các quyền hạn này. ,(* 91':66;E85 !7 N;J ,(*(, H75F 8 Mục tiêu thiết kế của Drupal bao gồm cả việc có thể chạy tốt trên những tài khoản chia sẻ của máy chủ web rẻ tiền và có thể mở rộng trên những website lớn dạng phân tán. Mục tiêu trước hết là có thể sử dụng những công nghệ phổ biến nhất, và sau đó là tính an toàn, bảo mật cao. Công nghệ của Drupal được thể hiện theo hình: U V ,H75F 8 ĐỒNG QUANG TRỌNG 47K - CNTT TRANG 9 PHÁTTRIỂNWEBSITEVỚIDRUPAL7 Hệ điều hành nằm ở mức thấp nhất và Drupal không cần quan tâm đến điều đó. Drupal có thể chạy thành công trên bất kỳ hệ điều hành nào hỗ trợ PHP. Web server được sử dụng phổ biến nhất vớiDrupal là Apache, tất nhiên những web server khác (như là Microsoft IIS) cũng có thể chạy được. Bởi vì sự liên kết chặt chẽ với Apache, Drupal được đóng gói kèm theo tệp tin .htaccess giúp bảo mật bản cài đặt cho Drupal. Đồng thời tính năng đường dẫn trong suốt (Clean Urls) – nhằm loại bỏ các dấu chấm hỏi (?), dấu nháy đơn (‘) và các ký tự nguy hiểm dẫn đến SQL Injection được sử dụng thành phần mod_rewrite của Apache. Drupal làm việc với cơ sở dữ liệu thông qua một lớp cơ sở dữ liệu trừu tượng được thiết kế theo hướng tối giản (lightweight database abstraction layer). Lớp này xử lý các truy vấn SQL và làm cho chúng trở nên khả dụng với các hệ quản trị cơ sở dữ liệu khác mà không cần phải code lại. Hệ quản trị cơ sở dữ liệu được sử dụng rộng rãi nhất vớiDrupal là MySQL và PostgreSQL. Và sự hỗ trợ cho hệ quản trị cơ sở dữ liệu Microsoft SQL Server và Oracle đang ngày càng tăng. Drupal được viết bằng ngôn ngữ PHP. Vì PHP là một ngôn ngữ rất dễ dàng để học, vì vậy có rất nhiều chương trình được viết bởi những lập trình viên còn thiếu kinh nghiệm. Do đó, chất lượng mã nguồn của các chương trình này thường tạo ra một ấn tượng xấu cho ngôn ngữ PHP. Tuy nhiên, toàn bộ phần mã của Drupal được viết theo những tiêu chuẩn viết mã chặt chẽ và các quy trình kiểm thử theo quy chuẩn mã nguồn mở. Tiếp cận vớiDrupal giúp cho chúng ta tìm hiểu thêm nhiều kinh nghiệm, kỹ năng trong việc viết mã nguồn, phân tích, thiết kế các hệ thống lớn. ,(*(* 0 SW5J9XY Phần nhân của Drupal là một khung sườn theo hướng tối giản (lightweight framework). Đây chính là phần mã mà chúng ta tải về từ drupal.org. Phần lõi cung ĐỒNG QUANG TRỌNG 47K - CNTT TRANG 10