Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 56 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
56
Dung lượng
1,75 MB
Nội dung
ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA CÔNG NGHỆ THÔNG TIN Tel (84-511) 736 949, Fax (84-511) 842 771 Website: itf.ud.edu.vn, E-mail: cntt@edu.ud.vn LUẬN VĂN TỐT NGHIỆP KỸ SƯ NGÀNH CÔNG NGHỆ THÔNG TIN MÃ NGÀNH : 05115 ĐỀ TÀI : TÌM HIỂU WORDPRESS ỨNG DỤNG XÂY DỰNG HỆ THỐNG QUẢN LÝ PHIÊN BẢN CHO VIỆC PHÁT TRIỂN PLUGIN Mã số : 06T3 - 017 Ngày bảo vệ : 15/06/20011 SINH VIÊN : NGÔ QUỐC KHÁNH LỚP : 06T3 CBHD : ThS VÕ ĐỨC HOÀNG ĐÀ NẴNG, 05/20011 LỜI CẢM ƠN Tôi xin chân thành cảm ơn thầy cô giáo khoa Công Nghệ Thông Tin tồn thể thầy trường Đại Học Bách Khoa Đà Nẵng truyền đạt cho kiến thức quý giá suốt năm học vừa qua Xin chân thành cảm ơn thầy: Võ Đức Hoàng tận tình bảo giúp đỡ cho tơi hồn thành luận văn Cuối xin cảm ơn bạn khoa công nghệ thông tin, người giúp đỡ, chia kiến thức, kinh nghiệm, tài liệu…trong suốt trình nghiên cứu thực đề tài LỜI CAM ĐOAN Tôi xin cam đoan : Những nội dung báo cáo thực hướng dẫn trực tiếp thầy Võ Đức Hoàng Mọi tham khảo dùng báo cáo trích dẫn rõ ràng tên tác giả, tên cơng trình, thời gian, địa điểm cơng bố Mọi chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, xin chịu hồn tồn trách nhiệm Sinh viên Ngơ Quốc Khánh NHẬN XÉT CỦA CÁN BỘ HƯỚNG DẪN Đà Nẵng ngày … tháng … năm 2011 Cán hướng dẫn ThS Võ Đức Hoàng NHẬN XÉT CỦA CÁN BỘ PHẢN BIỆN Đà Nẵng, ngày … tháng … năm 2011 Cán phản biện MỤC LỤC CHƯƠNG I: TỔNG QUAN VỀ ĐỀ TÀI I.1 Đặt vấn đề I.2 Lý chọn đề tài 10 I.3 Công cụ môi trường phát triển 11 CHƯƠNG II: CƠ SỞ LÝ THUYẾT .11 II.1 Wordpress chức .11 II.1.1 Giới thiệu Wordpress .11 II.1.2 Các tính Wordpress .12 II.1.3 Ứng dụng Wordpress xây dựng Website 13 II.1.4 Wordpress Plugin 16 II.2 Hệ thống quản lý phiên 17 II.2.1 Hệ thống quản lý phiên 17 II.2.2 Quản lý mã nguồn subversion .17 II.2.3 Sử dụng phần mềm subversion dựa TortoiseSVN client 18 II.3 Giới thiệu số công nghệ sử dụng đề tài 34 II.3.1 Kiến trúc mơ hình Client - Server .34 II.3.2 AJAX (Asynchronous JavaScript and XML) 35 II.3.3 Giới thiệu opensource CodeMirror 36 CHƯƠNG III: ĐẶC TẢ CHỨC NĂNG HỆ THỐNG 37 III.1 Khảo sát trạng 37 III.2 Yêu cầu chức .37 III.3 Use Case Diagram .38 III.4 Mơ hình hóa u cầu người sử dụng 38 III.5 Danh sách lớp đối tượng .40 CHƯƠNG IV: THIẾT KẾ CƠ SỞ DỮ LIỆU VÀ CÁC CHỨC NĂNG 41 IV.1 Thiết kế sởdữ liệu 41 IV.2 Xây dựng tính khác .43 IV.2.1 Xây dựng lớp tương tác với sởdữ liệu DataLayer 43 IV.2.2 Xây dựng lớp File với tác vụ thêm, sữa, xóa 46 IV.2.3 Các tác vụ hệ thống 46 CHƯƠNG V: XÂY DỰNG VÀ TRIỂN KHAI HỆ THỐNG .50 V.I Giao diện Web Editor xây dựng để phát triển Plugin (dựa vào mã nguồn mỡ CodeMirror) .50 V.2 Demo hệ thống 50 V.2.1 Nhận diện phiên 50 V.2.2 Thay đổi nội dung file đó, số revision tự động tăng lên 51 V.2.3 Đồng liệu từ ổ cứng sởdữ liệu 52 V.2.4 Khôi phục lại nội dung cho file 54 V.2.5 Khôi phục liệu thành công 54 CHƯƠNG VI: KẾT LUẬN 56 VI.1 Đánh giá nội dung đề tài 56 VI.2 Hướng phát triển .56 DANH MỤC CÁC HÌNH Hình 1: Đăng ký tài khoản .14 Hình 2: Giao diện Dashboard 15 Hình 3: Đưa project vào SVN server 20 Hình 4: Điền thơng tin 20 Hình 5: Lấy project từ SVN server 21 Hình 6: Kiểm tra nguồn để checkout .22 Hình 7: Lấy thơng tin project từ SVN server 22 Hình 8: Biểu tượng mã nguồn khơng bị thay đổi 23 Hình 9: Biểu tượng mã nguồn bị thay đổi 23 Hình 10: Kiểm tra xem mã nguồn bị thay đổi 24 Hình 11: File bị thay đổi 25 Hình 12: Tìm xem thử chức bị thay đổi 25 Hình 13: Những thông tin bị thay đổi lên 26 Hình 14: Tạo thêm phiên 27 Hình 15: File cần tạo revision 28 Hình 16: Hồn thành tạo revision 29 Hình 17: Thêm File vào dự án 30 Hình 18: Chọn File muốn thêm vào dự án 31 Hình 19: Hồn thành việc thêm File 31 Hình 20: Tạo revision để hoàn tất việc thêm File 32 Hình 21: Lấy lại revision cũ .33 Hình 22: Tìm phiên muốn cập nhật 33 Hình 23: Chọn phiên ứng ý để cập nhật 34 Hình 24: Phiên chọn mang số 11 35 Hình 25: Hồn tất việc khơi phục phiên 11 35 Hình 26: Kiến trúc Client - Server, với cơng nghệ ngơn ngữ phía Server 36 Hình 27: Mơ hình quan hệ bảng hệ thống quản lý phiên 44 Hình 28: Thêm thư mục thư mục gốc .48 Hình 29: Cung cấp tên file upload file 48 Hình 30: Tạo thư mục 49 Hình 31: Nhập tên thư mục 49 Hình 32: Thay đổi tên file 50 Hình 33: Web Editor cho Wordpress .51 Hình 34: Hệ thống quản lý phiên 52 Hình 35: Thay đổi nội dung file, revision tự động tăng lên 53 Hình 36: Đồng database đĩa cứng 54 Hình 37: Khơi phục lại revision 55 Hình 38: Khơi phục lại phiên thứ 56 CHƯƠNG I: TỔNG QUAN VỀ ĐỀ TÀI I.1 Đặt vấn đề Cùng với việc phát triển cộng đồng mã nguồn mở ngày có nhiều tảng mã nguồn mở mạnh mẽ, đáng tin cậy để sử dụng phát triển website Một tảng wordpress Wordpress hệ thống phát xuất blog viết ngơn ngữ lập trình PHP sử dụng MySQL làm sở liệu Wordpress với tính phong phú, dung lượng nhỏ, tốc độ cao, đặc biệt dễ tùy biến giao diện mức tối đa có khả mở rộng với plugins nên ngồi chức blog dùng CMS để xây dựng website Đây mã nguồn mở hồn tồn miễn phí, muốn sởhữu blog riêng Wordpress hẵn lựa chọn tối ưu cho bạn Yêu cầu blog cá nhân đơn giản Wordpress hỗ trợ sẵn tất ta việc chỉnh sữa vài chi tiết dụng Đối với yêu cầu Web blog post bài, cho người đọc comment vào muốn Ngồi chi tiết kể người dùng bình thường sử dụng được, bạn thay đổi bổ sung số chức cho Wordpress Phần dành cho lập trình viên có am hiểu lập trình, phát triển Plugin bổ sung vào cho Wordpress tạo Theme cho Wordpress Hiện việc phát triển Plugin Theme cho Wordpress công việc thường xuyên lập trình viên mảng lập trình PHP mã nguồn mở Wordpress mã nguồn mở, bạn thay đổi nội dung phần “lõi” nó, thật không nên làm Nếu muốn bổ sung phần cho Wordpress nên viết thêm Plugin cho thay thay đổi cấu trúc phần “lõi” I.2 Lý chọn đề tài Tuy nhiên, sau thời gian sử dụng wordpress, tơi nhận thấy có điểm chưa thật tốt sau: - Hệ thống quản lý plugin cho phép chỉnh sửa trực tiếp mã nguồn web có hạn chế soạn thảo đơn giản, gây khó khăn cho người phát triển - Hệ thống quản lý giao diện khơng có khả tạo chỉnh sửa giao diện trực tiếp web, thiếu sót với người phát triển từ xa khơng có điều kiện truy cập trực tiếp vào máy chủ web Đề tài nghiên cứu, phát triển wordpress để xây dựng website thực với mục đích khắc phục nhược điểm wordpress đồng thời bổ sung tính hệ thống quản lý phiên nhằm tăng cường khả làm việc nhóm, giảm thiểu rủi ro trình phát triển file_permission int quyền file Để quản lý phiên bản: hệ thống quản lý số chức sau đây: Đánh số thứ tự phiên để lúc cần khơi phục lại liệu dựa vào số thứ tự phiên Đánh dấu việc nội dung file có hiển thị bên ngồi hay khơng Một file sau bị chỉnh sữa lưu lại số thứ tự phiên (revision) tăng lên, nội dung củ khơng bị xóa mà bị đánh dấu disabled Một file khơng bị xóa thật mà bị đánh dấu khơng hiển thị bên Để lấy lại phiên (revesion) dựa vào số thứ tự phiên Để hiển thị cần đánh dấu cho phiên published đánh dấu phiên disabled Bảng wp_file_content: lưu trữ thông tin việc quản lý phiên bản, cho phép phiên có hiển thị bên ngồi hay không, sau số mô tả bảng wp_file_content Tên trường Kiểu trả Mô tả id int auto_increment, primary key content_revision int phiên ứng với file content_status varchar(20) quy định việc hiển thị content_created datetime ngày tạo file content_text text nội dung ứng với phiên file_id int foreign key Hình 27: Mơ hình quan hệ bảng hệ thống quản lý phiên IV.2 Xây dựng tính khác IV.2.1 Xây dựng lớp tương tác với sởdữ liệu DataLayer Lớp DataLayer thực tất thao tác thêm, sữa, xóa liệu, lớp sởđể lớp khác thừa kế Sau mô tả chi tiết lớp Một số thuộc tính DataLayer Thuộc tính Kiểu trả Mơ tả $table String Trả tên bảng thao tác $where Array Trả mệnh đề WHERE câu lệnh sql $fields Array Trả tên trường câu lệnh sql $values Array Trả giá trị trường câu lệnh sql $order Array Trả mệnh đề ORDER câu lệnh sql $page_size $page Int Một số phương thức DataLayer Phương thức Kiểu trả DataLayer add_where Mô tả Phương thức khởi tạo Void Gán vào thuộc tính $where chuỗi mệnh đề WHERE câu lệnh sql add_field Void Gán vào thuộc tính $fields trường cần thao tác add_field_value Void Gán vào thuộc tính $fields tương ứng với giá trị $value build_where String Trả chuỗi mệnh đề WHERE câu lệnh sql build_fields String Trả vể chuỗi trường cần thao tác build_order String Trả chuỗi mệnh đề WHERE câu lệnh sql build_update String Trả chuỗi mệnh đề UPDATE câu lệnh sql build_insert String Trả chuỗi mệnh đề INSERT câu lệnh sql get_select_query String Trả câu lệnh SELECT do_open String Mở kết nối đến Database do_delete String Trả câu câu truy vấn DELETE do_update String Trả câu truy vấn UPDATE do_insert String Trả câu truy vấn INSERT IV.2.2 Xây dựng lớp File với tác vụ thêm, sữa, xóa Lớp File thừa kế từ lớp DataLayer, nhằm lưu trữ thơng tin lập trình viên tác động thực vào file Sau mơ tả chi tiết lớp Một số phương thức Phương thức Kiểu trả Mô tả File() get_dir($path) Phương thức khởi tạo Array Trả thư mục Database ứng với $path get_file($path) Array Trả tên file ứng với $path get_item($id) Array Trả mẫu tin tương ứng với $id mkdir($name, $parentId) Array Tạo thư mục ứng với tên thư mục cha ls($dirId, $type, $sort) Array Liệt kê tất thư mục cha $dirId rename($srcId, $newname)Array Đổi tên thưc mục move($srcId, $descDirId) Array Di chuyển thư mục đến thư mục khác IV.2.3 Các tác vụ hệ thống Hệ thống quản lý phiên xây dựng để quản lý mã nguồn cách cập nhật liên tục nội dung Client Server, thay đổi phía Client đồng với Server thông qua gọi AJAX Tạo thêm thư mục (mk.php) Cung cấp tên đường dẫn thư mục tên file, upload lên từ file sẵn có Hình 28: Thêm thư mục thư mục gốc Hình 29: Cung cấp tên file upload file Tạo thư mục Cung cấp tên thư mục tên thư mục Hình 30: Tạo thư mục Thay đổi tên file Hình 31: Nhập tên thư mục Hình 32: Thay đổi tên file CHƯƠNG V: XÂY DỰNG VÀ TRIỂN KHAI HỆ THỐNG V.I Giao diện Web Editor xây dựng để phát triển Plugin (d ựa vào mã nguồn mỡ CodeMirror) Hình 33: Web Editor cho Wordpress V.2 Demo hệ thống V.2.1 Nhận diện phiên Hình 34: Hệ thống quản lý phiên V.2.2 Thay đổi nội dung file đó, số revision tự động tăng lên Hình 35: Thay đổi nội dung file, revision tự động tăng lên V.2.3 Đồng liệu từ ổ cứng sởdữ liệu Muốn cập nhật thực nội dung từ database đĩa phải đồng database đĩa cứng Thì nội dung file thực thay đổi Hình 36: Đồng database đĩa cứng V.2.4 Khôi phục lại nội dung cho file Hình 37: Khơi phục lại revision V.2.5 Khơi phục liệu thành cơng Hình 38: Khơi phục lại phiên thứ CHƯƠNG VI: KẾT LUẬN VI.1 Đánh giá nội dung đề tài Hệ thống quản lý phiên cho Wordpress giải số vấn đề sau Xây dựng Web Editor đơn giản cho việc phát triển Plugin, việc phát triển thực trực tiếp mạng, lập trình viên có tài khoản mật Admin Nội dung Plugin cập nhật tự động nhờ chức Synchronous Quản lý phiên cho file Plugin, nội dung file không bị hồn tồn Delete, mà bị đánh dấu Disable VI.2 Hướng phát triển Tuy thực số thao tác việc quản lý phiên bản, hệ thống chưa thực hồn thiện, nhiều thiếu sót, cần phát triển tiếp tục Web Editor cần có thêm chức Auto Complete (thư việ CodeMirror phiên thứ hỗ trợ tính này) Việc quản lý phiên cho toàn thư mục chưa xây dựng Thao tác xóa file, muốn khôi phục lài cần viết thêm chức khơi phục, phiên chưa viết module Phiên chi tảng, ý tưởng để phát triển thành phiên hồn thiện hơn, ứng dụng thực TÀI LIỆU THAM KHẢO [1] Professional Wordpress Design and Development [2] Wordpress for Dummies [3]. Wordpress Plugin Development [4]. Javascript and CSS Development with jQuery [5].http//:www.w3schools.com [6] Và số tài liệu khác