Tải bản đầy đủ (.doc) (56 trang)

ĐỀ 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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.51 MB, 56 trang )

ĐẠ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:

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 các thầy cô giáo trong khoa Công Nghệ Thông Tin
cùng toàn thể thầy cô của trường Đại Học Bách Khoa Đà Nẵng đã truyền đạt cho
tôi những kiến thức quý giá trong suốt những 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 chỉ bảo và giúp đỡ
cho tôi hoàn thành luận văn này.
Cuối cùng tôi xin cảm ơn các bạn trong khoa công nghệ thông tin, những
người đã giúp đỡ, chia sẽ những kiến thức, kinh nghiệm, tài liệu…trong suốt quá
trình nghiên cứu thực hiện đề tài.


LỜI CAM ĐOAN
Tôi xin cam đoan :
1 Những nội dung trong báo cáo này là do tôi thực hiện dưới sự
hướng dẫn trực tiếp của thầy Võ Đức Hoàng.
2 Mọi tham khảo dùng trong báo cáo này đều được 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ố.
3 Mọi sao chép không hợp lệ, vi phạm quy chế đào tạo, hay gian trá, tôi
xin chịu hoàn toà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 bộ 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 bộ phản biện


MỤC LỤC
CHƯƠNG I: TỔNG QUAN VỀ ĐỀ TÀI..................................................................9
I.1 Đặt vấn đề........................................................................................................9
I.2 Lý do chọn đề tài............................................................................................10
I.3 Công cụ và môi trường phát triển...................................................................11
CHƯƠNG II: CƠ SỞ LÝ THUYẾT.......................................................................11

II.1 Wordpress và các chức năng.........................................................................11
II.1.1 Giới thiệu về Wordpress.........................................................................11
II.1.2 Các tính năng chính của 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 bản..........................................................................17
II.2.1 Hệ thống quản lý phiên bản là gì...........................................................17
II.2.2 Quản lý mã nguồn bằng subversion.......................................................17
II.2.3 Sử dụng phần mềm subversion dựa trên TortoiseSVN client................18
II.3 Giới thiệu một số công nghệ sử dụng trong đề 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 hiện trạng......................................................................................37
III.2 Yêu cầu chức năng.......................................................................................37


III.3 Use Case Diagram.......................................................................................38
III.4 Mô hình hóa yêu cầu người sử dụng...........................................................38
III.5 Danh sách các 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ế cơ sởdữ liệu...................................................................................41
IV.2 Xây dựng các tính năng khác.......................................................................43
IV.2.1 Xây dựng lớp tương tác với cơ sởdữ liệu DataLayer...........................43
IV.2.2 Xây dựng lớp File với những tác vụ thêm, sữa, xóa.............................46
IV.2.3 Các tác vụ cơ bản của 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 bản hiện tại..................................................................50
V.2.2 Thay đổi nội dung một file nào đó, chỉ số revision tự động tăng lên.....51
V.2.3 Đồng bộ dữ liệu từ ổ cứng và cơ 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 dữ 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 một project mới 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 của mã nguồn không bị thay đổi.............................................23
Hình 9: Biểu tượng của mã nguồn đã bị thay đổi....................................................23
Hình 10: Kiểm tra xem mã nguồn đã bị thay đổi những gì.....................................24
Hình 11: File đã bị thay đổi.....................................................................................25
Hình 12: Tìm xem thử chức năng nào đã bị thay đổi..............................................25
Hình 13: Những thông tin bị thay đổi sẽ hiện lên...................................................26
Hình 14: Tạo thêm một phiên bản mới....................................................................27
Hình 15: File cần tạo mới revision..........................................................................28
Hình 16: Hoàn thành tạo mới revision....................................................................29
Hình 17: Thêm 1 File mới vào dự án......................................................................30

Hình 18: Chọn File muốn thêm vào dự án..............................................................31
Hình 19: Hoàn thành việc thêm File........................................................................31
Hình 20: Tạo mới revision để hoàn tất việc thêm File............................................32
Hình 21: Lấy lại 1 revision cũ.................................................................................33
Hình 22: Tìm phiên bản muốn cập nhật..................................................................33
Hình 23: Chọn phiên bản ứng ý để cập nhật...........................................................34


Hình 24: Phiên bản được chọn mang số 11.............................................................35
Hình 25: Hoàn tất việc khôi phục phiên bả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ệ của 2 bảng chính hệ thống quản lý phiên bản..............44
Hình 28: Thêm một thư mục tại thư mục gốc.........................................................48
Hình 29: Cung cấp tên file hoặc upload một file.....................................................48
Hình 30: Tạo mới 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 bản......................................................................52
Hình 35: Thay đổi nội dung file, revision tự động tăng lên....................................53
Hình 36: Đồng bộ giữa database và đĩa cứng..........................................................54
Hình 37: Khôi phục lại revision 2...........................................................................55
Hình 38: Khôi phục lại phiên bản thứ 2..................................................................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ở càng ngày chúng ta càng có
nhiều nền tảng mã nguồn mở mạnh mẽ, đáng tin cậy hơn để sử dụng phát triển website.
Một trong những nền tảng đó là wordpress. Wordpress là một hệ thống phát xuất bản blog
được viết bằng ngôn ngữ lập trình PHP và sử dụng MySQL làm cơ sở dữ liệu. Wordpress



với tính năng 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 và có khả năng mở rộng với các plugins nên ngoài chức năng blog nó còn
được dùng như là một CMS để xây dựng website.
Đây là mã nguồn mở hoàn toàn miễn phí, nếu muốn sởhữu một blog của riêng
mình thì Wordpress hẵn sẽ là lựa chọn tối ưu nhất cho bạn. Yêu cầu của một blog cá nhân
là khá đơn giản và Wordpress hầu như đã hỗ trợ sẵn tất cả và ta chỉ việc chỉnh sữa một
vài chi tiết là có thể dụng được ngay.
Đối với những yêu cầu cơ bản của một Web blog là post bài, và cho người đọc
comment vào bài đó nếu muốn. Ngoài những chi tiết chính kể trên để cho người dùng
bình thường cũng có thể sử dụng được, bạn có thể thay đổi hoặc bổ sung một số chức
năng cho Wordpress. Phần này chỉ dành cho các lập trình viên có am hiểu về lập trình,
đó là phát triển các Plugin bổ sung vào cho Wordpress và tạo ra các Theme mới cho
Wordpress.
Hiện nay việc phát triển các Plugin và Theme cho Wordpress là công việc rất
thường xuyên của các lập trình viên đi về mảng lập trình PHP về mã nguồn mở.
Wordpress là mã nguồn mở, vì vậy bạn có thể thay đổi nội dung của phần “lõi” của nó,
nhưng thật sự không nên làm như vậy. Nếu muốn bổ sung phần nào cho Wordpress thì
nên viết thêm những Plugin mới cho nó thay vì thay đổi cấu trúc của phần “lõi”.

I.2 Lý do chọn đề tài
Tuy nhiên, sau một thời gian sử dụng wordpress, tôi nhận thấy nó vẫn còn có
những điểm chưa thật sự tốt sau:
- Hệ thống quản lý plugin cho phép chỉnh sửa trực tiếp mã nguồn trên nền web
nhưng có hạn chế là bộ soạn thảo của nó quá đơ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ả năng tạo và chỉnh sửa giao diện trực
tiếp trên nền web, đó là thiếu sót với những 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 được thực hiện
với mục đích khắc phục các nhược điểm trên của wordpress đồng thời bổ sung tính năng
của hệ thống quản lý phiên bản nhằm tăng cường khả năng làm việc nhóm, giảm thiểu rủi
ro trong quá trình phát triển.


I.3 Công cụ và môi trường phát triển
- Hệ quản trị cơ sởdữ liệu MySql.
- IDE Eclipse, công cụ viết mã PHP, Javascript, CSS…
- MySql Workbench, công cụ quản trị, thiết kế cơ sởdữ liệu
- Ngôn ngữ lập trình PHP 5

CHƯƠNG II: CƠ SỞ LÝ THUYẾT
II.1 Wordpress và các chức năng
II.1.1 Giới thiệu về Wordpress
WordPress là phần mềm mã nguồn mở được cung cấp miễn phí, sử dụng ngôn ngữ
lập trình PHP và hệ cơ sở dữ liệu MySQL. Do đó, nó thích hợp cho ai muốn đặt blog trên
chính website sử dụng tên miền của riêng mình. Tuy nhiên, nếu không có tên miền riêng
và chịu được một vài hình ảnh quảng cáo đôi khi xuất hiện, bạn vẫn có thể dùng chung
với nhà cung cấp Automattic Production tại địa chỉ tương tự các
nhà cung cấp khác.
Dịch vụ của Automattic Production đưa ra hơn 50 giao diện mẫu chất lượng cao.
Tuy vậy, để tùy biến giao diện bạn phải bỏ ra 15 USD mỗi năm để chỉnh sửa CSS.


WordPress không cho phép bạn thêm vào các đoạn mã JavaScript hay RSS bên ngoài
(đồng nghĩa với việc bạn không thể đặt bất cứ biển quảng cáo lên blog của mình), nhưng
nó cung cấp cho bạn một số ứng dụng nhỏ (widget) để lựa chọn và sử dụng bằng cách rê
và thả. Phần soạn thảo làm việc khá tốt khi kết hợp giữa chế độ soạn thảo toàn diện
(WYSIWYG) và mã HTML.

WordPress là một blogging platform có mã nguồn mở, một hệ thống quản trị nội
dung dành cho cá nhân sử dụng ngôn ngữ lập trình PHP và hệ quản trị CSDL MySQL.
WordPress có từ khoảng năm 2004, tiền thân của nó b2/cafelog. Tuy nhiên đến
khoảng tháng 2.2005, với phiên bản 1.5 thì WordPress mới được nhiều người biết đến bởi
sự ưu việt và nổi bật trong chức năng của nó.
Phiên bản hiện tại, WordPress 2.5 (ra mắt ngày 29.3.2008 ) thật sự gây được dấu
ấn nơi người dùng, nổi trội nhất là Dashboard đã được re-design hoàn toàn, cực kỳ trực
quan và thân thiện.
II.1.2 Các tính năng chính của Wordpress
Có thể điểm qua một số chức năng của WordPress:
 Hệ thống Template riêng biệt với HTML/CSS. Cho phép người dùng chỉnh sửa,
tùy biến giao diện của blog mình ở một mức độ khá thoáng.
 Hỗ trợ các tính năng kèm thêm plugin/widget. Plugin dùng cho WordPress.org,
Widget dùng cho WordPress.com
 Hỗ trợ tag. Quá quen thuộc với người dùng blog Yahoo! 360.
 Hỗ chợ tạo chuyên mục. Cho phép một bài viết nằm ở nhiều chuyên mục khác
nhau. Kết hợp với tag, đây thật sự là một chức năng đáng giá.
 Hỗ trợ Trackback/Pingback. Đây là một tính năng còn tương đối mới mẻ với
những ai đã quen dùng Yahoo! 360. Đây là những phương thức cho phép tác giả
nhận được những thông báo khi một ai đó link đến một trong những entry của họ.
 Hỗ
trợ
link
dạng
SEO.

dụ
Tính năng này tăng cường độ thân thiện với người xem và cả máy tìm
kiếm như Google, Yahoo…



 Trình soạn thảo tuyệt vời: nhanh và nhẹ. Đổi từ chế WYSIWYG sang HTML
Code một cách hoàn hảo chứ không bị thay đổi cấu trúc như Yahoo! 360.
II.1.3 Ứng dụng Wordpress xây dựng Website
a) Tạo tài khoản Wordpress :
 Ở trình duyệt, gõ địa chỉ URL
 Đăng ký tài khoản

Hình 1: Đăng ký tài khoản
 Cung cấp username, password và địa chỉ Email để đăng ký tài khoản.
 Ở khung Blog Domain , cung cấp địa chỉ của blog.
 Chọn ngôn ngữ của Blog.
 Click Sign-Up để hoàn thành đăng ký, sau khi kích hoạt có thể sử dụng
Wordpress.
 Một số chức năng chính của Dashboard.
Những module của Dashboard có thể được cấu hình, có thể điều chỉnh trong trong
Dashboard để thay đổi cách mà các module hiển thị ra bên ngoài.


Hình 2: Giao diện Dashboard
 The number of posts: Số lượng các post hiện tại sẵn có trong blog đã
được đăng ký.
 The number of pages: Số lượng các trang ở blog, số lượng này sẽ thay
đổi nếu thêm hay xóa trang.
 The number of categories: Số lượng danh mục có trong blog’.
 The number of comments: Số lượng của tất cả các comment hiện tại
của blog.
 Which WordPress theme you’re using

Recent Comments

 Most recent comments published to your blog: Wordpress hiển thị
nhiều nhất 5 comments.
 The author of eac h comment: hiển thị tên của người comment. Ở
vùng này cũng hiển thị ảnh của người viết (avatar).


 A link to the post the comment was left on: Tiêu đề của bài viết hiện
lên bên phải của tên comment.
 An excerpt of the comment: đây là một đoạn ngắn của comment.
 Comment management links: rê chuột qua 1 comment bất kỳ, sẽ có 5
đường links hiện lên để quản lý các comment.
o Unapprove: link chỉ hiển thị nếu được bật lên (moderation turn
on).
o Edit: hiện lên trang Edit comment, nơi mà có thể thay đổi nội
dung của comment.
o Reply: hiện lên một textbox để trả lời comment.
o Spam: click link này để đánh dấu comment rác.
o Trash: xóa comment.

Setting Important Option Before You Blog
 Cấu hình ngày và thời gian
o Timezone section: chọn giờ chuẩn của địa điểm người đăng blog
để lấy giờ chính xác.
o Date Format: lựa chọn định dạng hiển thị ngày giờ, mặc định là
F j, Y (F = tên tiếng anh của tháng; J = 2 số của ngày, Y = 4 số
của năm).
o Time Format: lựa chọn định dạng hiển thị thời gian, mặc định là
g:i a (g = 2 số của giờ, i = 2 số của phút, a = a.m or p.m).

Setting your public profile : Tell us a little about yourself

 Những thông tin cơ bản
o Username: hiển thị tên hiện tại, và không thể thay đổi.
o First Name: cung cấp tên của người sởhữu blog.
o Last Name: cung cấp họ của người sởhữu blog.
o Full Name: tên đầy đủ.
o Location: cung cấp địa chỉ của người sởhữu blog.
o About you: tiểu sử .
 Liên hệ
o Home Phone, Work Phone, Mobile Phone: cung cấp số điện thoại
nếu muốn.
o Public Email: cung cấp địa chỉ Email.
o Gtalk and Skype.
o AIM, Live Messenger, Yahoo!, ICQ, Jabber.


II.1.4 Wordpress Plugin
a) Giới thiệu wordpress plugin
Wordpress Plugin là một chương trình, hoặc là một bộ hoặc nhiều chức năng,
được viết bởi những đoạn script PHP, nhằm thêm vào những chức năng được chỉ
định hoặc những dịch vụ Wordpress weblog, có thể được tích hợp vào weblog sử
dụng những phương thức được cung cấp bởi Wordpress API.
Wordpress plugin được cho phép sửa đổi, tùy biến, và nâng cấp đến Wordpress
blog, thay vì thay đổi phần “lõi” lập trình (core programming) của Wordpress, ta
có thể thêm vào những chức năng với Wordpress Plugin.
b) Download Wordpress Plugin
Những Plugin được viết sẵn và sẵn sàng download ở trang chủ của Wordpress
tại địa chỉ : . Sau đây là một số Plugin đã
được tích hợp sẵn khi cài đặt Wordpress.
 Akismet: dùng để kiểm tra những commet dựa vào Wordpress Web
Service, kiểm tra những comment xem chúng trông có giống là những

spam hay không. Những comment được xem là spam sẽ bị xóa tự động
sau 15 ngày.
 Hello Dolly: đây không chỉ là một plugin, nó là biểu tượng của niềm
hy vọng và nhiệt huyết, nhằm ca ngợi toàn bộ những thế hệ tổng hợp.
c) Viết một Plugin đơn giản:
 Nhiệm vụ đầu tiên của việc tạo Wordpress Plugin là suy nghĩ về chức
năng của Plugin, Plugin sẽ làm gì sau khi cài đặt và đặt cho nó một tên
riêng. Kiểm tra xem nguồn chứa Plugin đã có sẵn tên vừa đặt hay chưa,
để kiểm tra tên Plugin là không bi trùng.
 Bước tiếp theo là tạo file và đưa vào thưc mục wp-content/plugins,
Plugin có thể được chia ra làm nhiều file riêng lẽ : file Javascript, file
CSS, thư mục chứa ảnh… Nếu phân ra làm nhiều file, thì việc đầu tiên
là tạo mộ thư mục để chứa các file và đặt vào thư mục wpcontent/plugins.


 Nếu muốn đăng tài Plugin vừa viết được lên trang chủ của Wordpress
thì việc cần thiết là tạo một file readme.txt, ghi lại hướng dẫn sử dụng
Plugin đó.

II.2 Hệ thống quản lý phiên bản
II.2.1 Hệ thống quản lý phiên bản là gì
Trong kỹ nghệ phần mềm, một hệ thống quản lý phiên bản (còn viết là VCS
theo từ tiếng Anh version control system) là một hệ thống lưu giữ các phiên bản của mã
nguồn của sản phẩm phần mềm, giúp các lập trình viên có thể dễ dàng lấy lại phiên bản
mong muốn.
Hệ thống này có thể được sử dụng bởi một nhóm các lập trình viên, mỗi thành
viên trong nhóm thường không được phép thay đổi mã nguồn của các thành viên khác,
mà chỉ có thể xem. VCS cho phép người quản trị phân chia các tập tin cho từng thành
viên tương ứng. Nó cũng cho phép các thành viên chia sẻ một số tập tin cho nhau trong
khi phát triển. Các thành viên có thể phát hiện lỗi và sửa lỗi thuận tiện trong VCS.

Trưởng nhóm phải có nhiệm vụ cập nhật lại nội dung của các tập tin đó. VCS giúp cho
công việc này được thực hiện một cách tự động.
Khi các thành viên hiệu chỉnh mã của cùng một tập tin tại cùng một thời điểm, để
tránh sửa đổi xung đột, họ sẽ phải so sánh xem có gì khác biệt giữa các sửa đổi của các
thành viên hay không. VCS giúp cho việc này được thực hiện tự động.
II.2.2 Quản lý mã nguồn bằng subversion
a) Ưu điểm của subversion
 Trong quá trình lập trình, lập trình viên có thể đưa ra nhiều cách giải
cho một bài toán cụ thể, nên cùng giải quyết 1 vấn đề có thể có nhiều
đoạn mã, subversion quản lý những phiên bản đó dựa trên việc quản lý
version.
 Trong khi phát triển dự án, thường thì phải làm theo đội (team), công
việc có thể được chia ra nhiều module để phân ra cho nhiều người làm,
subversion có sẵn một kho lưu trữ trên mạng, và các lập trình viên khác
có thể vào xem những đoạn của của lập trình viên khác, nhưng không
thể thay đổi.


II.2.3 Sử dụng phần mềm subversion dựa trên TortoiseSVN client
Các chức năng mà các bạn cần quan tâm nhất là chức năng Commit – để đưa các
dữ liệu của các bạn lên thư mục dự án (chú ý là mỗi lần các bạn đưa lên thì sẽ là một
phiên bản (revision) của dự án nên các bạn chỉ nên đưa lên server một khi đã hoàn thành
cơ bản chạy được một tính năng nào đó không có lỗi để tránh trường hợp có người khác
update về chạy bị lỗi ở phần của các bạn mà chương trình không chịu chạy, như vậy rất
nguy hiểm). Và tính năng thứ 2, là update, để cập nhập tài nguyên của dự án, phần mềm
sử tự so sánh mã nguồn từ server và của các bạn và tìm ra chỗ nào khác sẽ tự động nối
(merge) vào mã nguồn của các bạn đảm bảo không bị lỗi). Các bạn mỗi khi commit
khuyến khích nên update xong rồi hãy update để tránh tình trạng bị lỗi.
 Quản lý phiên bản của 1 file nào đó vào server SVN. Quá trình kiểm tra sẽ
được kiểm tra tại 2 nơi : thư mục dự án( nơi dự án được thực hiện) và thông

tin dự án được lưu trữ trên server.
a) Đưa 1 project vào SVN server:
Mở Windows Explorer, chọn thư mục của dự án thực hiện “right click” và
chọn TortoiseSVN → Import...


Hình 3: Đưa một project mới vào SVN server
 Điền các thông tin cần thiết (khi truy cập vào url server thì sẽ có dialog yêu
cầu nhập thông tin username + password đã gửi).

Hình 4: Điền thông tin
 Ngồi chờ đợi và kết thúc
b) Lấy một project từ SVN
 Khi cần lấy source từ SVN thì ta làm các bước sau: mở Windows Explorer
lên, chọn (hoặc tạo mới) một thư mục để chứa các source code của dự án
(có thể là thư mục của webserver).
 Chọn thư mục của dự án.


Hình 5: Lấy project từ SVN server
 Chọn thông tin dự án trên server


Hình 6: Kiểm tra nguồn để checkout

 Thông tin của dự án trên máy tính của mình

Hình 7: Lấy thông tin project từ SVN server



c) Kiểm tra file bị thay đổi bởi server SVN
 Kiểm tra sự thay đổi của source nguồn. Nếu chưa có bất kỳ sự thay đổi nào
thì icon của thư mục dự án như sau:

Hình 8: Biểu tượng của mã nguồn không bị thay đổi

 Nếu có một file, hay một thư mục nào có sự thay đổi thì icon cùa thư mục
như sau:

Hình 9: Biểu tượng của mã nguồn đã bị thay đổi

 Cho biết file bị thay đổi, xem file đó bị thay đổi nội dung gì


Hình 10: Kiểm tra xem mã nguồn đã bị thay đổi những gì
 Thông tin đã bị thay đổi


Hình 11: File đã bị thay đổi

 Tìm xem thử chức năng nào đã bị thay đổi

Hình 12: Tìm xem thử chức năng nào đã bị thay đổi


 Xem chính xác cái gì đã thay đổi

Hình 13: Những thông tin bị thay đổi sẽ hiện lên
d) Đưa thông tin bị thay đổi vào server SVN
 Dùng chức năng commit để đưa thông tin bị thay đổi vào server SVN



×