Tài liệu đồ án phân tích thiết kế website tin tức dựa trên mã nguồn wordpressMỤC LỤCDANH SÁCH HÌNH VẼ6DANH SÁCH TỪ VIẾT TẮT8LỜI CẢM ƠN9CHƯƠNG 1:TỔNG QUAN VỀ ĐỀ TÀI101.1.Lý do chọn đề tài101.2.Mục tiêu của đề tài101.3.Giới hạn và phạm vi của đề tài101.4.Nội dung thực hiện111.5.Phương pháp tiếp cận11CHƯƠNG 2:TỔNG QUAN VỀ NGÔN NGỮ LẬP TRÌNH PHP VÀ CƠ SỞ DỮ LIỆU MYSQL122.1.Tổng quan về ngôn ngữ PHP122.1.1Hoạt động của ngôn nghữ PHP122.1.2Những điểm mạnh của PHP142.2.Tổng quan về cơ sở dữ liệu MySQL152.3.Tổng quan về mã nguồn mở162.4.Tổng quan về Wordpress192.4.1Lịch sử phát triển202.4.2Các đặc tính nổi bật của CMS Wordpress212.4.3Thành phần của Wordpress22CHƯƠNG 3:XÂY DỰNG WEBSITE TIN TỨC CHO HUYỆN HIỆP HÒA TỈNH BẮC GIANG283.1.Khảo sát283.1.1Thông tin chung283.1.2Yêu cầu của khách hàng283.2.Phân tích yêu cầu303.2.1Chức năng quản lý tin tức303.2.2Chức năng quản lí media313.3.Thiết kế323.3.1Biểu đồ tuần tự333.3.2Biểu đồ usecase343.3.3Biểu đồ lớp383.3.4Thiết kế cơ sở dữ liệu413.4.Giao diện website423.4.1Giao diện cho người dùng42CHƯƠNG 4:KẾT LUẬN454.1.Kết quả đạt được của đề tài454.2.Hạn chế của đề tài454.3.Hướng phát triển của đề tài45TÀI LIỆU THAM KHẢO46DANH SÁCH HÌNH VẼHình 2 1: Hoạt động của website viết bằng HTML13Hình 2 2: Hoạt động của website viết bằng PHP14Hình 2 3: Giao diện quản lí bài viết (post)23Hình 2 4: Hệ thống quản lí Media23Hình 2 5: Hệ thống quản lí Pages24Hình 2 6: Hệ thống quản lí Comments25Hình 2 7: Hệ thống quản lí Appearance25Hình 2 8: Hệ thống quản lí Plugins26Hình 2 9: Hệ thống quản lí người dung26Hình 2 10: Công cụ Tool27Hình 2 11: Giao diện Settings27Hình 3 1: Sơ đồ phân cấp danh mục tin31Hình 3 2: Sơ đồ chức năng website32Hình 3 3: Các nhóm tin được tạo33Hình 3 4: Mô hình truy xuất thông tin33Hình 3 5: Biểu đồ usecase tổng quát34Hình 3 6: Sequence diagram Đăng nhập34Hình 3 7: Sequence diagram Thêm thể loại tin35Hình 3 8: Sequence diagram Cập nhật thể loại tin35Hình 3 9: Sequence diagram Xóa thể loại tin36Hình 3 10: Sequence diagram Thêm tin tức36Hình 3 11: Sequence diagram Cập nhật tin37Hình 3 12: Sequence diagram Xóa tin37Hình 3 13: Sequence diagram Tìm kiếm tin38Hình 3 14: Class diagram Đăng nhập38Hình 3 15: Class diagram Thêm thể loại39Hình 3 16: Class diagram Cập nhật thể loại39Hình 3 17: Class diagram Xóa thể loại39Hình 3 18: Class diagram Thêm tin40Hình 3 19: Class diagram Cập nhật tin40Hình 3 20: Class diagram Xóa tin41Hình 3 21: Class diagram Tìm kiếm tin41Hình 3 22: Danh sách các bảng trong cơ sở dữ liệu42Hình 3 23: Giao diện trang chủ43Hình 3 24: Giao diện trang liên hệ44Hình 3 25: Giao diện đăng nhập hệ thống44 DANH SÁCH TỪ VIẾT TẮTTừ viết tắtTừ đầy đủGiải thíchCMSContent Management SystemHệ quản trị nội dungCSDLCơ sở dữ liệuFOSSFree Open Source SoftwarePhần mềm nguồn mở và tự doGNUGeneral public licenseGiấy phép mã nguồn mởHTMLHyper Text Maker LanguageNgôn ngữ đánh dấu siêu văn bảnLAMPLinux Apache MySQL PHPOSSOpen Source SoftwarePhần mềm nguồn mởPHPPersonal Home PageNgôn ngữ web PHPPMNMPhần mềm nguồn mở LỜI CẢM ƠNĐầu tiên, tôi chân thành cảm ơn Ban giám hiệu, quý thầy cô trường Đại Học Sư phạm kỹ thuật Hưng Yên, đặc biệt là thầy cô trong khoa Công Nghệ Thông Tin đã tận tình giảng dạy và truyền đạt cho tôi những kiến thức quý báu trong những năm học vừa qua.Xin chân thành gửi lời cảm ơn đến thầy Phạm Quốc Hùng giảng viên khoa Công Nghệ Thông Tin đã tận tình hướng dẫn, giúp đỡ tôi trong quá trình định hướng, nghiên cứu và hoàn thiện đồ án này một cách tốt so với những gì đã đặt ra.Xin cảm ơn tất cả bạn bè đã giúp đỡ tôi trong thời gian vừa qua.Trong quá trình thực hiện đồ án, mặc dù đã có nhiều cố gắng tuy nhiên vẫn còn có nhiều thiếu sót và hạn chế, kính mong các thầy (cô) và các bạn đóng góp ý kiến để đồ án này được hoàn thiện hơn.
Trang 1TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT HƯNG YÊN
LÊ XUÂN THỰC
XÂY DỰNG WEBSITE TIN TỨC CHO HUYỆN
HIỆP HÒA TỈNH BẮC GIANG
ĐỒ ÁN TỐT NGHIỆP
HƯNG YÊN - 2015
Trang 3TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT HƯNG YÊN
LÊ XUÂN THỰC
XÂY DỰNG WEBSITE TIN TỨC CHO HUYỆN
HIỆP HÒA TỈNH BẮC GIANG
NGÀNH: CÔNG NGHỆ THÔNG TINCHUYÊN NGÀNH: MẠNG MÁY TÍNH VÀ TRUYỀN THÔNG
ĐỒ ÁN TỐT NGHIỆP
NGƯỜI HƯỚNG DẪN
GS VŨ ĐỨC THI ThS PHẠM QUỐC HÙNG
HƯNG YÊN – 2015
Trang 4TRƯỜNG ĐẠI HỌC SPKT HƯNG YÊN CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT
NAM KHOA CÔNG NGHỆ THÔNG TIN Độc lập – Tự do – Hạnh phúc
ĐỀ TÀI TỐT NGHIỆP ĐẠI HỌC Sinh viên thực hiện:
Họ và tên: Lê Xuân Thực Mã SV: N0112056
Ngày
sinh:
Trình độ, loại hình đào tạo: ĐHLT từ CĐN
Ngành đào tạo: Công nghệ thông tin
Chuyên ngành: Mạng máy tính và truyền thông
Khóa học: 2012 - 2015
Tên đề tài: XÂY DựNG XÂY DỰNG WEBSITE TIN TỨC CHO HUYỆN
HIỆP HÒA TỈNH BẮC GIANG
Mục tiêu:
- Nghiên cứu tìm hiểu kiến thức về mã nguồn mở.
- Phân tích được cơ sở dữ liệu MySQL và ngôn ngữ PHP
- Xây dựng được website tin tức cho huyện Hiệp Hòa tỉnh Bắc Giang sử dụng ngôn ngữ PHP trên nền tảng mã nguồn mở Wordpress đáp ứng được yêu cầu
cơ bản của website.
Nội dung cần hoàn thành:
- Nắm được kiến thức ngôn ngữ PHP và hệ hệ quản trị cơ sở dữ liệu My SQL.
- Xây dựng được website tin tức cho huyện Hiệp Hòa tỉnh Bắc Giang.
Sản phẩm dự kiến:
- Website tin tức cho huyện Hiệp Hòa đáp ứng được yêu cầu thực tế.
- Đĩa CD chứa mã nguồn website
- Cuốn báo cáo đồ án hoàn chỉnh
Thời gian thực hiện: Ngày giao: 01/12/2014, ngày hoàn thành: ……… Người hướng dẫn:
Thứ nhất: Ký xác nhận: Thứ hai: Ký xác nhận:
Đề tài đã được Hội đồng Khoa học và Đào tạo Khoa thông qua
Trang 5HỘI ĐỒNG KH&ĐT KHOA TRƯỞNG BỘ MÔN
MỤC LỤC
DANH SÁCH HÌNH VẼ 6
DANH SÁCH TỪ VIẾT TẮT 8
LỜI CẢM ƠN 9
CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI 10
1.1 Lý do chọn đề tài 10
1.2 Mục tiêu của đề tài 10
1.3 Giới hạn và phạm vi của đề tài 10
1.4 Nội dung thực hiện 11
1.5 Phương pháp tiếp cận 11
CHƯƠNG 2: TỔNG QUAN VỀ NGÔN NGỮ LẬP TRÌNH PHP VÀ CƠ SỞ DỮ LIỆU MYSQL 12
2.1 Tổng quan về ngôn ngữ PHP 12
2.1.1 Hoạt động của ngôn nghữ PHP 12
2.1.2 Những điểm mạnh của PHP 14
2.2 Tổng quan về cơ sở dữ liệu MySQL 15
2.3 Tổng quan về mã nguồn mở 16
2.4 Tổng quan về Wordpress 19
2.4.1 Lịch sử phát triển 20
2.4.2 Các đặc tính nổi bật của CMS Wordpress 21
2.4.3 Thành phần của Wordpress 22
CHƯƠNG 3: XÂY DỰNG WEBSITE TIN TỨC CHO HUYỆN HIỆP HÒA TỈNH BẮC GIANG 28
Trang 63.1 Khảo sát 28
3.1.1 Thông tin chung 28
3.1.2 Yêu cầu của khách hàng 28
3.2 Phân tích yêu cầu 30
3.2.1 Chức năng quản lý tin tức 30
3.2.2 Chức năng quản lí media 31
3.3 Thiết kế 32
3.3.1 Biểu đồ tuần tự 33
3.3.2 Biểu đồ use-case 34
3.3.3 Biểu đồ lớp 38
3.3.4 Thiết kế cơ sở dữ liệu 41
3.4 Giao diện website 42
3.4.1 Giao diện cho người dùng 42
CHƯƠNG 4: KẾT LUẬN 45
4.1 Kết quả đạt được của đề tài 45
4.2 Hạn chế của đề tài 45
4.3 Hướng phát triển của đề tài 45
TÀI LIỆU THAM KHẢO 46
Trang 7DANH SÁCH HÌNH VẼ
Hình 2-1: Hoạt động của website viết bằng HTML 13
Hình 2-2: Hoạt động của website viết bằng PHP 14
Hình 2-3: Giao diện quản lí bài viết (post) 23
Hình 2-4: Hệ thống quản lí Media 23
Hình 2-5: Hệ thống quản lí Pages 24
Hình 2-6: Hệ thống quản lí Comments 25
Hình 2-7: Hệ thống quản lí Appearance 25
Hình 2-8: Hệ thống quản lí Plugins 26
Hình 2-9: Hệ thống quản lí người dung 26
Hình 2-10: Công cụ Tool 27
Hình 2-11: Giao diện Settings 27
Hình 3-1: Sơ đồ phân cấp danh mục tin 31
Hình 3-2: Sơ đồ chức năng website 32
Hình 3-3: Các nhóm tin được tạo 33
Hình 3-4: Mô hình truy xuất thông tin 33
Hình 3-5: Biểu đồ use-case tổng quát 34
Hình 3-6: Sequence diagram Đăng nhập 34
Hình 3-7: Sequence diagram Thêm thể loại tin 35
Hình 3-8: Sequence diagram Cập nhật thể loại tin 35
Hình 3-9: Sequence diagram Xóa thể loại tin 36
Hình 3-10: Sequence diagram Thêm tin tức 36
Hình 3-11: Sequence diagram Cập nhật tin 37
Trang 8Hình 3-13: Sequence diagram Tìm kiếm tin 38
Hình 3-14: Class diagram Đăng nhập 38
Hình 3-15: Class diagram Thêm thể loại 39
Hình 3-16: Class diagram Cập nhật thể loại 39
Hình 3-17: Class diagram Xóa thể loại 39
Hình 3-18: Class diagram Thêm tin 40
Hình 3-19: Class diagram Cập nhật tin 40
Hình 3-20: Class diagram Xóa tin 41
Hình 3-21: Class diagram Tìm kiếm tin 41
Hình 3-22: Danh sách các bảng trong cơ sở dữ liệu 42
Hình 3-23: Giao diện trang chủ 43
Hình 3-24: Giao diện trang liên hệ 44
Hình 3-25: Giao diện đăng nhập hệ thống 44
Trang 9DANH SÁCH TỪ VIẾT TẮT
Từ viết tắt Từ đầy đủ Giải thích
CMS Content Management System Hệ quản trị nội dung
OSS Open Source Software Phần mềm nguồn mở
PHP Personal Home Page Ngôn ngữ web PHP
PMNM Phần mềm nguồn mở
Trang 10LỜI CẢM ƠN
Đầu tiên, tôi chân thành cảm ơn Ban giám hiệu, quý thầy cô trường Đại Học
Sư phạm kỹ thuật Hưng Yên, đặc biệt là thầy cô trong khoa Công Nghệ Thông Tin
đã tận tình giảng dạy và truyền đạt cho tôi những kiến thức quý báu trong nhữngnăm học vừa qua
Xin chân thành gửi lời cảm ơn đến thầy Phạm Quốc Hùng giảng viên khoaCông Nghệ Thông Tin đã tận tình hướng dẫn, giúp đỡ tôi trong quá trình địnhhướng, nghiên cứu và hoàn thiện đồ án này một cách tốt so với những gì đã đặt ra.Xin cảm ơn tất cả bạn bè đã giúp đỡ tôi trong thời gian vừa qua
Trong quá trình thực hiện đồ án, mặc dù đã có nhiều cố gắng tuy nhiên vẫncòn có nhiều thiếu sót và hạn chế, kính mong các thầy (cô) và các bạn đóng góp ýkiến để đồ án này được hoàn thiện hơn
Hưng Yên, tháng 03 năm 2015
Sinh viên thực hiện
Lê Xuân Thực
Trang 11CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI
1.1 Lý do chọn đề tài
Công nghệ thông tin là một trong các động lực quan trọng nhất của sự pháttriển, cùng với một số ngành công nghệ cao khác đang làm biến đổi sâu sắc đờisống kinh tế, văn hoá, xã hội của thế giới hiện đại Ứng dụng và phát triển côngnghệ thông tin là một nhiệm vụ ưu tiên trong chiến lược phát triển kinh tế-xã hội, làphương tiện chủ lực đi tắt đón đầu, rút ngắn khoảng cách phát triển so với các nước
đi trước Mọi lĩnh vực hoạt động kinh tế, văn hóa, xã hội, an ninh, quốc phòng đềuphải ứng dụng công nghệ thông tin để phát triển
Một trong những lĩnh vực quan trọng như việc ứng dụng công nghệ thông tinvào quản lí cũng như để phát triển đất nước đó là hành chính công trong chiến lượcphát triển một chính phủ điện tử đồng bộ từ trung ương đến địa phương Để có thểứng dụng công nghệ thông tin vào lĩnh vực này cần có sự cho phép và hỗ trợ rấtnhiều từ chính phủ cũng như các cơ quan quản lí nhà nước Cũng bởi vì vấn đề cấpthiết đó mà em đã lựa chọn đề tài: “Xây dựng website tin tức cho huyện Hiệp Hòatỉnh Bắc Giang” trên mã nguồn mở Wordpress
1.2 Mục tiêu của đề tài
Xây dựng dựng một website trên nền tảng mã nguồn mở Wordpress
Hệ thống website triển khai tại huyện Hiệp Hòa nhằm tạo ra website tin tứcphục vụ hoạt động của huyện
1.3 Giới hạn và phạm vi của đề tài
Đề tài xây dựng dựng một website sử dụng các công nghệ mới trong lập trìnhnhư PHP, MySQL, và bộ mã nguồn mở Wordpress
Hệ thống website triển khai tại huyện Hiệp Hòa nhằm tạo ra website tin tứcphục vụ nhu cầu của huyện và một số cơ quan trực thuộc huyện
Trang 121.4 Nội dung thực hiện
Website trong hệ thống website chính phủ và bộ máy hành chính đang lànhững bước đổi mới trong việc tiếp cận những tri thức cũng như kinh tế, chính trị,
xã hội, pháp luật của người dân
Việc cung cấp hệ thống thông tin giữa người dân và các cấp chính quyền làmột việc đúng đắn giúp cho người dân và các tổ chức chính phủ có thể trao đổi rútkinh nghiệm và hoạt động tốt hơn
Nội dung thực hiện cụ thể như sau:
Nghiên cứu các hệ thống trên các nền tảng công nghệ php, java, net
Tìm hiểu hoạt động của hệ thống website ngôn ngữ php, sử dụng cơ
sở dữ liệu (CSDL)
Phân tích chức năng hoạt động của hệ quản trị nội dung mã nguồn mởWordpress
Phân tích bài toán thiết kế website tin tức
Xây dựng biểu đồ chức năng use – case đặc tả hệ thống website tintức
Khảo sát phân tích thiết kế hệ thống website tin tức cho huyện HiệpHòa tỉnh Bắc Giang
1.5 Phương pháp tiếp cận
Cách tiếp cận: Nghiên cứu các hệ thống website trên các nền tảng công nghệkhác nhau
Sử dụng các phương pháp nghiên cứu:
Phương pháp đọc tài liệu
Phương pháp phân tích mẫu website và cơ sở dữ liệu
Phương pháp thực nghiệm
Trang 13CHƯƠNG 2: TỔNG QUAN VỀ NGÔN NGỮ LẬP TRÌNH PHP VÀ
CƠ SỞ DỮ LIỆU MYSQL
2.1 Tổng quan về ngôn ngữ PHP
Cái tên PHP ban đầu được viết tắt bởi cụm từ Personal Home Page và đượcphát triển từ năm 1994 bởi Rasmus Lerdorf Lúc đầu chỉ là bộ đặc tả Perl, được sửdụng để lưu dấu vết người dùng trên các web Sau đó Rasmus Lerdorf đã phát triểnPHP như là một máy đặc tả (Scripting engine) Vào giữa năm 1997, PHP đã pháttriển nhanh chóng trong sự yêu thích của nhiều người PHP đã không còn là một dự
án cá nhân của Rasmus Lerdorf mà đã trở thành công nghệ web quan trọng ZeevSuraski và Andi Gutmans đã hoàn thiện việc phân tích cú pháp cho ngôn ngữ để rồitháng 6 năm 1998, PHP3 đã ra đời (phiên bản này có phần mở rộng là *.php3) Chođến tận thời điểm đó, PHP chưa 1 lần được phát triển chính thức, một yêu cầu viếtlại bộ đặc tả được đưa ra, ngay sau đó PHP4 ra đời (phiên bản này có phần mở rộngkhông phải là *.php4 mà là *php) PHP4 nhanh hơn PHP3 rất nhiều PHP bây giờđược gọi là PHP (Hypertext PreProcesor)
2.1.1 Hoạt động của ngôn nghữ PHP
Như chúng ta đã biết, rất nhiều website được xây dựng bởi ngôn ngữ HTML(Hypertext Markup Language) Đây chỉ là những website tĩnh, nghĩa là chúng chỉchứa đựng một nội dung cụ thể với những dòng văn bản đơn thuần, hình ảnh và cóthể được hỗ trợ bởi ngôn ngữ JavaScript hoặc Java Apple Tuy nhiên, website cầnđược cập nhật nội dung một cách linh hoạt dễ dàng, vì vậy nó cần tới cơ sở dữ liệu.Các website như vậy được gọi là website động Bởi nội dung của chúng luôn thayđổi tuỳ thuộc vào dữ liệu và người sử dụng PHP là ngôn ngữ đáp ứng được nhữngyêu cầu trên Bằng cách chạy chương trình PHP trên máy chủ Web Sever, chúng ta
có thể tạo ra ứng dụng có sự tương tác với cơ sở dữ liệu
Chúng ta hãy xem xét cách hoạt động của những trang web được viết bằngngôn ngữ HTML và PHP như thế nào:
Trang 14a) Cách thức hoạt động của trang HTML
Khi có yêu cầu tới mọi trang web từ phía người sử dụng (browser) Webserver thực hiện ba bước sau:
Đọc yêu cầu từ phía browser
Tìm trang web trên server
Gởi trang web đó trở lại cho browser nếu tìm thấy
Hình 2-1: Hoạt động của website viết bằng HTML b) Cách thức hoạt động của trang PHP
Khác với các trang HTML, khi một trang PHP được yêu cầu, web server phântích và thi hành các đoạn mã PHP để tạo ra trang HTML Điều này được thực hiệnbằng bốn bước sau:
Đọc yêu cầu từ phía browser
Tìm trang web trên server
Trang 15 Thực hiện các đoạn mã PHP trên trang web đó để sửa đổi nội dungcủa trang.
Gửi nội dung cho browser ở dạng HTML
Hình 2-2: Hoạt động của website viết bằng PHP
Tóm lại, sự khác nhau giữa HTML và PHP là HTML không được thực hiện
xử lý trên máy chủ Web server còn các trang viết bằng mã PHP được thực hiện và
xử lý trên máy chủ Web server, do đó PHP linh động và mềm dẻo hơn
Trang 16PHP cung cấp một hệ thống thư viện phong phú và ngày càng phát triển DoPHP ngay từ đầu được thiết kế nhằm mục đích xây dựng và phát triển các ứng dụngtrên web nên PHP cung cấp rất nhiều hàm xây dựng sẵn giúp thực hiện các côngviệc rất dễ dàng: gửi, nhận mail, làm việc với cookie…
PHP là một ngôn ngữ rất dễ dùng, dễ học và đơn giản hơn nhiều so với cácngôn ngữ khác như Perl, Java
Đặc biệt, PHP là ngôn ngữ mã nguồn mở Có rất nhiều phần mềm website mãnguồn mở được viết trên nền tảng của PHP như Wordpress, Wordpress, Drupal,Nukeviet
2.2 Tổng quan về cơ sở dữ liệu MySQL
MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở phổ biến nhất thế giới vàđược các nhà phát triển rất ưa chuộng trong quá trình phát triển ứng dụng VìMySQL là cơ sở dữ liệu tốc độ cao, ổn định và dễ sử dụng, có tính khả chuyển, hoạtđộng trên nhiều hệ điều hành cung cấp một hệ thống lớn các hàm tiện ích rấtmạnh.Với tốc độ và tính bảo mật cao, MySQL rất thích hợp cho các ứng dụng cótruy cập cơ sở dữ liệu trên internet MySQL miễn phí hoàn toàn, có rất nhiều phiênbản cho các hệ điều hành khác nhau: Phiên bản Win32 cho các hệ điều hành dòngWindows, Linux, Mac OS X, Unix, FreeBSD, NetBSD, Novell NetWare, SGI Irix,Solaris, SunOS, …
Sự kết hợp tuyệt vời giữa PHP và MySQL đã cho ra đời phần mềm mã nguồn
mở Wordpress
Các đặc điểm của MySQL:
MySQL là một trong những ví dụ rất cơ bản về Hệ Quản trị Cơ sở dữliệu quan hệ sử dụng Ngôn ngữ truy vấn có cấu trúc (SQL)
MySQL là một phần mềm quản trị CSDL mã nguồn mở, miễn phínằm trong nhóm LAMP (Linux - Apache -MySQL - PHP)
Trang 17 MySQL là một hệ quản trị nhỏ, bảo mật và rất dễ sử dụng Thường sửdụng cho các ứng dụng nhỏ và trung bình Nó được sử dụng cho các ứngdụng client-server với máy chủ mạnh như UNIX, Windows, và đặc biệt
Ngôn ngữ lập trình được sử dụng để viết các hàm API để nhập cơ sở
dữ liệu MySQL có thể là C, Perl, PHP
Cơ sở dữ liệu MySQL rất dễ quản lý và có tốc độ xử lý cao hơn tớ babốn lần so với các hệ quản trị cơ sở dữ liệu khác
MySQL không cho phép thực hiện các câu lệnh SQL select truy vấncon
MySQL không hỗ trợ Stored Procedures, Triggers, Transactions,Foreign Keys và Views như các hệ quản trị cơ sở dữ liệu khác
2.3 Tổng quan về mã nguồn mở
Phần mềm nguồn mở là phần mềm với mã nguồn được công bố và sử dụngmột giấy phép nguồn mở Giấy phép này cho phép bất cứ ai cũng có thể nghiên cứu,thay đổi và cải tiến phần mềm, và phân phối phần mềm ở dạng chưa thay đổi hoặc
đã thay đổi
Năm 1998 một nhóm người chủ trương rằng thuật ngữ phần mềm tự do nênđược thay thế bằng phần mềm nguồn mở vì thuật ngữ này ít mơ hồ hơn và dễ sửdụng hơn cho giới doanh nghiệp
Chúng ta thường nghe nói tới các phần mềm nguồn mở OSS (Open SourceSoftware) Tuy nhiên còn một cụm từ thường được sử dụng khác là FOSS (Free &
Trang 18Open Source Software), có nghĩa là các phần mềm nguồn mở và tự do, dùng để chỉcác phần mềm có giấy phép sử dụng theo kiểu GNU Những phần mềm này chophép người sử dụng quyền tự do chạy, quyền tự do sao chép, quyền tự do phân phốilại, nghiên cứu, thay đổi và cải tiến cho phù hợp với nhu cầu sử dụng của mình màkhông cần phải tới sự cho phép, hoặc phải trả tiền, cho bất cứ cá nhân hoặc nhómngười nào
Cụm từ “tự do” trong FOSS không ám chỉ sự miễn phí, mà chỉ nói về cácquyền tự do mà FOSS mang lại cho người sử dụng Cụm từ nguồn mở nhấn mạnhđến quyền của người sử dụng được nghiên cứu, thay đổi và cải tiến mã nguồn – cónghĩa là cả thiết kế chi tiết của các ứng dụng FOSS Các phần mềm tự do thườngmang yếu tố mã nguồn mở và ngược lại, vì cả hai loại phần mềm này đều nằm trongcùng một tập hợp các quyền tự do dành cho người sử dụng phần mềm và đã đượcRichard Stallman định nghĩa từ cuối những năm 1980
a) Lợi ích
Chi phí thấp: PMNM được dùng miễn phí về bản quyền và nếu có
chi phí thì cũng chỉ là chi phí cho đóng gói sản phẩm và dịch vụ cho sảnphẩm Vì vậy, chi phí rất thấp so với các phần mềm thương mại
Độc lập: PMNM không bị lệ thuộc vào bất kỳ một nhà cung cấp nào.
Sự độc lập này là rất quan trọng vì các cơ quan Nhà nước đều cần cónhững giải pháp chung, chuẩn hóa và không muốn phụ thuộc vào các sảnphẩm sở hữu riêng của các nhà cung cấp
Tính thích ứng và sáng tạo: Thực tế đã cho thấy rất ít chương trình
có thể tồn tại không cần thay đổi, nâng cấp trong một thời gian dài Vìthế, khả năng cho phép lập trình viên xác định và sửa các lỗi cũng nhưthích ứng phần mềm với các yêu cầu mới phát sinh là một vấn đề rấtquan trọng Sự sẵn sàng có mã nguồn và có quyền thay đổi chúng giúpcho công việc này dễ dàng hơn Việc có được mã nguồn cũng giúpnhững nhà lập trình sáng tạo ra phần mềm riêng của mình, đặc biệt đối
Trang 19với thế hệ trẻ và các doanh nghiệp phục vụ các yêu cầu đa dạng củakhách hàng.
Chất lượng tin cậy: Nhiều phần mềm có chất lượng và độ tin cậy
cao Các PMNM khi đã hoàn thành thông thường sẽ được thử nghiệm,đánh giá, phát hiện lỗi và hoàn thiện bổ sung bởi nhiều rất nhiều nhà pháttriển khác nhau trên toàn thế giới và công việc này cũng không bị áp lực
về thời gian Các nhà sản xuất phần mềm thương mại lại thường công bốthời điểm ra đời của một phiên bản nào đó rồi sau đó buộc phải tung rathị trường những sản phẩm vẫn còn có lỗi để giữ đúng thời hạn đã côngbố
Tính lâu dài: PMNM không có một chủ sở hữu duy nhất là lý do bảo
đảm để không ai có thể làm ngừng hoặc “giết chết” sản phẩm này Việcsản phẩm bị ngừng hay bị “giết chết” dễ dàng xảy ra đối với phần mềmthương mại như ở trong các trường hợp sau: công ty bị phá sản, hoặc sátnhập, hoặc bán lại cho một công ty khác, hoặc thay đổi chiến lược vàphương hướng kinh doanh Do đó người sử dụng PMNM sẽ không bị longại xảy ra trường hợp bị bắt buộc chuyển sang giải pháp khác như đốivới phần mềm thương mại khi nhà cung cấp phần mềm thương mại quyếtđịnh ngừng hỗ trợ kỹ thuật
Phát triển dễ dàng: Những dự án và phát triển phần mềm mới có thể
được thực hiện mà không cần phải xin phép ai trước khi triển khai Việcnày phù hợp với các kỹ thuật phát triển mới: tạo ra giải pháp bằng cáchtập hợp nhiều đối tượng đã có mà không sợ rủi ro bị ngừng giữa chừng vìnhững hạn chế pháp lý và những qui định về sở hữu trí tuệ đối với phầnmềm
b) Hạn chế
Đa dạng và phức tạp: Cộng đồng mã nguồn mở đã phát triển nhiều
ứng dụng đa dạng với những chức năng tương tự nhau Điều này gây khókhăn cho những người mới sử dụng trong việc chọn lựa
Trang 20 Sự dư thừa: Sự chia nhánh mã nguồn có thể dẫn đến sự lãng phí
trong quá trình phát triển nó Nếu các nguồn phát triển được kết hợp và
tổ chức lại một cách tốt hơn thì hiệu suất sẽ được nâng cao
Thiếu các ứng dụng: Vẫn còn những lĩnh vực vắng bóng các
PMNM (VD: một trình biên soạn HTML như MS Frontpage)
Bất tiện: Mã nguồn mở thường chỉ tập trung vào các mã của nó mà ít
chú ý đến thiết kế giao diện và phát triển các tiện ích
Thực ra Wordpress lúc đầu mới công bố ra nó không được xem như là mộtCMS vì sức mạnh của nó cũng có giới hạn ít nhiều nên lúc đó cộng đồng xemWordpress chỉ là một mã nguồn được lựa chọn để phát triển blog cá nhân bìnhthường với các tính năng rất cơ bản là hỗ trợ tạo trang tĩnh, tạo bài viết có nhúngtính năng bình luận bài viết để thành viên có thể tương tác
Tuy vậy, so với công nghệ lúc bấy giờ thì Wordpress cũng đã có những bướctiến vượt bậc so với những đối thủ khác mà cái quan trọng nhất là tính tương táchoàn toàn đơn giản để có thể gần gũi với người sử dụng không chuyên Vì vậy lúc
đó Wordpress đã bắt đầu trở thành một mã nguồn mở được nhiều người chú ý đến
và nhận đóng góp từ những người sử dụng để có thể phát triển được tốt hơn
Theo một số Webmaster có kinh nghiệm thì Wordpress hoạt động nhẹ nhàng,
ít tốn tài nguyên Wordpress dễ sử dụng nhất trong 3 CMS, nó giúp bạn có một
Trang 21Blog trong vài phút Hơn nữa các plugin của wordpress có rất nhiều và 99% là miễnphí và bạn có thể cài đặt và nâng cấp các plugin này ngay trong phần quản lý củaWordpress mà không cần phải download.
Wordpress được chính thức phát hành vào năm 2003, nhưng thực tế thì tiềnthân của nó đã có mặt vào năm 2001 Lúc đó thì sự phát triển của Internet ở ViệtNam chưa cao, con số người sử dụng các dịch vụ blog miễn phí là khá lớn, chủ yếu
là dựa vào dịch vụ blog miễn phí của Yahoo Đối với cộng đồng người dùngWordpress trong thời điểm này cũng còn hạn chế bởi những phiên bản đầu tiên củaWordpress chưa thật sự thu hút người dùng như bây giờ Và sau thời gian hơn 10năm hình thành và phát triển, cho tới thời điểm hiện tại thì Wordpress được sử dụngtrên hàng nghìn blog lớn nhỏ và có tới hơn 10 triệu lượt truy cập vào trang chủ củaWordpress mỗi ngày
Wordpress là một bộ mã nguồn mở, có lẽ vì điều này mà tạo nên sự thànhcông của Wordpress như ngày hôm nay Điều này có nghĩa là Wordpress được tạo
ra bởi cộng đồng và phục vụ cho lợi ích của cộng đồng, nó được phát triển bởi hàngtrăm tình nguyện viên trên thế giới và rất rất nhiều lập trình viên khác đã đóng gópvào đây Và để sử dụng Wordpress thì bạn không cần phải trả bất kỳ chi phí nào cho
bộ mã nguồn này
2.4.1 Lịch sử phát triển
B2/cafelog thường được biết đến với cái tên đơn giản là B2 hay cafelog là tiềnthân của wordpress B2/cafelog theo ước lượng đã sử dụng 2000 blog trong tháng 5năm 2003 Nó đã được viết bằng ngôn ngữ lập trình PHP sử dụng với MySQL bởiMichel Valdrighi, người đã trở thành nhà phát triển chính của Wordpress hiện nay Mặc dù Wordpress là hậu duệ chính thức nhưng một dự án khác, b2evolution,cũng đang được song song phát triển
Năm 2004, thời hạn cấp phép của gói sản phẩm cạnh tranh Movable type bịthay đổi bởi Six Apart, nhiều người dùng chuyển sang sử dụng Wordpress, tạo nênmột bước ngoặt lớn trong sự phát triển và phổ biến của Wordpress
Trang 22Năm 2007 Wordpress giành giải thưởng Packt Open Source CMS , năm 2009Wordpress dẫn đầu về mã nguồn mở CMS tốt nhất
Năm 2011, số người sử dụng Wordpress đã lên đến con số 50 triệu site
2.4.2 Các đặc tính nổi bật của CMS Wordpress
Hệ thống Plugin phong phú và cập nhật liên tục, bạn cũng có thể tựviết plugin cho mình
Hỗ trợ nhiều ngôn ngữ (bao gồm cả Tiếng Việt)
Được cập nhật, vá lỗi và hỗ trợ liên tục
Có rất nhiều Themes miễn phí, chuyên nghiệp và SEO rất tốt
Dễ dàng quản lý và thao tác, việc quản lý blog, bài viết giống như cácphần mềm thiết kế web chuyên nghiệp
Tích hợp sẵn Latex- công cụ soạn thảo công thức toán học, bạn có thểviết công thức toán học ngay trong bài viết
Upload và quản lý hình ảnh một cách dễ dàng, đặc biệt là chức năngtạo thumbnail rất hay
Có một hệ thống Widget đa dạng ( ứng dụng tạo thêm ) như Thống
kê số người truy cập, Danh sách các bài viết mới, các bài viết nổi bật,được xem nhiều, được comment nhiều, Liệt kê các chuyên mục , Liệt kêcác trang, Bài viết theo ngày…
Thống kê số truy cập từng ngày đối với mỗi bài viết của blog Trên
cơ sở đó bạn có thể định hướng viết gì tiếp theo
Hệ thống quản lý và duyệt Comment rất hay, có thể chặn spam theoIP
Hệ thống phân quyền với nhiều cấp độ khác nhau như : Administraor,Author, Edittor, Contributer, Subcriber Mỗi phân quyền sẽ có các quyền
Trang 23hạn khác nhau như được phép đăng bài viết, sửa bài viết, xóa bài viết,duyệt comment.
Sao lưu dữ liệu một cách dễ dàng để backup hoặc chuyển nhà sangmột nơi khác
Hỗ trợ import đa năng từ các blog khác như Blogspot, Tumblr,Blogger, LiveJournal…
Wordpress hỗ trợ 3G để lưu hình ảnh và văn bản Hằng ngàyWordpress sẽ thống kê 100 bài viết trên các blog Tiếng Việt được nhiềungười đọc nhất Nhờ đó bạn biết được các thông tin quan trọng nhất đangdiễn ra
Và đặc biệt mới đây nhất Wordpress hỗ trợ việc quản lý blog quamobile rất thuận tiện và dễ dàng
2.4.3 Thành phần của Wordpress
Wordpress xây dựng hệ thống bao gồm các thành phần cơ bản như : Hệ thốngquản lí bài viết (post), Media, Pages, Comments, Plugins, Theme, User, Tool hỗ trợkhác Trong mỗi thành phần đó lại bao gồm các chức năng nhỏ hơn cụ thể như:
a) Hệ thống quản lí bài viết
Hệ thống quản lí bài viết được chi nhỏ ra bao gồm quản lí Categories, quản lípost, quản lí thẻ (tags), thêm bài viết mới
Đây là thành phần quan trọng tạo nên nội dung website, kết hợp với một sốplugins sẽ giúp các bàn viết được phân loại và hiển thị một cách khoa học và giúpngười xem tiếp cận được đúng nội dung cần tìm hiểu
Chức năng viết bài được tối ưu với hệ soạn thảo tích hợp nhiều công cụ biêntập nội dung, viết bài tùy chỉnh thời gian, hệ thống lưu tạm bài viết giúp cho việc xử
lí dễ dàng khi cập nhật mà mất mạng Ngoài ra nó còn tích hợp công cụ SEO giúpbài viết được index lên công cụ tìn kiếm nhanh hơn
Trang 24Hình 2-3: Giao diện quản lí bài viết (post)
Categories được phân cấp giúp quản lí dễ dàng và cập nhật chính xác từng nộidung cụ thể
Thẻ tags giúp tăng khả năng tìm kiếm và giúp bài viết thân thiện với các công
cụ tìm kiếm như Google, Bing, Yahoo,
b) Hệ thống quản lí Media
Hệ thốngquản lí media là hệ thống giúp chúng ta quản lí được các lại tài liệu
đa phương tiện như hình ảnh, văn bản, video, file nhạc,
Hình 2-4: Hệ thống quản lí Media