Đồ án Ứng dụng mã nguồn mở xây dựng cổng thông tin điện tử về đào tạo và hỗ trợ việc làm cho Trung tâm Phát triển nội dung và Đào tạo trường CĐ CNTT Hữu Nghị Việt - Hàn
Xây dựng cổng thông tin điện tử về đào tạo và hỗ trợ việc làm cho TT PT Nội Dung và Đào Tạo
LỜI CẢM ƠN
Đầu tiên, Tôi xin chân thành cảm ơn Ban giám hiệu, quy thầy cô trường Cao
đẳng CNTT hữu nghị Việt Hàn, đặc biệt là thầy cô trong khoa Khoa học máy tính đã
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 Nguyễn Vũ Giảng viên khoa Khoa Học
Máy Tính, thầy Trần Thanh Tuấn Giám đốc trung tâm phát triển nội dung và đào tạo
đã 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 tốt nghiệp này.
Con xin gửi lòng biết ơn sâu sắc và sự kính trọng gia đình đã sinh thành, nuôi
dưỡng con trưởng thành như ngày hôm nay.
Xin cảm ơn tất cả bạn bè đã giúp đỡ 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 của
mình để hệ thống được hoàn thiện hơn.
Đà Nẵng, tháng 03 năm 2011
Sinh viên thực hiện
Bùi Tấn Việt
Bùi Tấn Việt – MM02A
Trang
i
Xây dựng cổng thông tin điện tử về đào tạo và hỗ trợ việc làm cho TT PT Nội Dung và Đào Tạo
MỤC LỤC
LỜI CẢM ƠN ..................................................................................................................i
MỤC LỤC.......................................................................................................................ii
DANH MỤC CÁC TỪ VIẾT TẮT................................................................................iv
DANH MỤC HÌNH ẢNH...............................................................................................v
DANH MỤC BẢNG BIỂU ..........................................................................................vii
MỞ ĐẦU......................................................................................................................viii
DỮ LIỆU MYSQL......................................................................................................1
1.1.1.2. Tại sao phải sử dụng PHP .......................................................................1
1.1.1.3. Những điểm mạnh của PHP....................................................................3
1.1.2. Giới thiệu hệ cơ sở dữ liệu MySQL...............................................................3
1.2.1. Giới thiệu hệ quản trị nội dung ......................................................................5
1.2.3. Các Phiên Bản Của Joomla............................................................................7
1.2.4. Các loại thành phần mở rộng của joomla ......................................................8
1.2.4.2. Modules...................................................................................................9
DUNG VÀ ĐÀO TẠO .............................................................................................15
2.1.1. Giới thiệu Trung tâm....................................................................................15
2.1.1.1. Nhiệm vụ của trung tâm........................................................................15
2.1.1.2. Quyền hạn của Trung tâm .....................................................................17
2.1.2.2. Diễn giải lưu đồ.....................................................................................19
2.1.3.2. Diễn giải lưu đồ.....................................................................................23
2.1.4. Kết luận........................................................................................................25
2.2.1. Xác định chức năng của hệ thống...............................................................27
2.2.2. Chức năng quản lý tin tức............................................................................28
2.2.3. Tính năng đăng ký khoá học trực tuyến.......................................................30
2.2.3.1. Phân tích yêu cầu...................................................................................30
2.2.3.2. Đề xuất giải pháp...................................................................................31
2.2.4. Tính năng cổng thông tin việc làm ..............................................................33
2.2.4.1. Phân tích yêu.........................................................................................33
Bùi Tấn Việt – MM02A
Trang
ii
Xây dựng cổng thông tin điện tử về đào tạo và hỗ trợ việc làm cho TT PT Nội Dung và Đào Tạo
2.2.4.2. Đề xuất giải pháp...................................................................................34
2.2.5. Sơ đồ các quy trình đăng ký thực tập...........................................................35
2.2.6. Tính năng đăng ký thực tập trực tuyến ........................................................36
2.2.6.1. Mô hình hoá yêu cầu.............................................................................36
2.2.6.2. Mô hình khái niệm ................................................................................44
2.2.6.3. Biểu đồ trình tự .....................................................................................45
2.2.6.4. Biểu đồ lớp chi tiết................................................................................48
3.1. YÊU CẦU HỆ THỐNG.....................................................................................49
3.2. GIỚI THIỆU CHƯƠNG TRÌNH.......................................................................49
3.2.1. Trang chủ .....................................................................................................49
3.2.2. Trang đăng ký khoá học trực tuyến .............................................................52
3.2.2.1. Giao diện cho người dùng.....................................................................52
3.2.2.2. Giao diện cho người quản trị.................................................................55
3.2.3. Trang hỗ trợ việc làm...................................................................................60
3.2.3.1. Giao diện người dùng............................................................................60
3.2.3.2. Giao diện cho người quản trị.................................................................66
3.3. BẢO MẬT CỔNG THÔNG TIN ......................................................................69
3.3.1. Các nguy cơ bảo mật....................................................................................69
3.3.2. Đề xuất giải pháp bảo mật ...........................................................................70
KẾT LUẬN...................................................................................................................73
TÀI LIỆU THAM KHẢO.............................................................................................74
Bùi Tấn Việt – MM02A
Trang
iii
Xây dựng cổng thông tin điện tử về đào tạo và hỗ trợ việc làm cho TT PT Nội Dung và Đào Tạo
DANH MỤC CÁC TỪ VIẾT TẮT
Từ viết tắt Ý
Ý nghĩa
Người được Hiệu trưởng ủy quyền
TUQHT
Phó Hiệu trưởng phụ trách chuyên môn – người được Hiệu trưởng
phân công quản lý công tác đào tạo ngắn hạn
Lãnh đạo phụ trách
HPCM
LĐPT
CVĐT
Chuyên viên phụ trách từng mảng công việc đào tạo ngắn hạn tại
Trường hoặc tại Địa phương
CVHS
Chuyên viên quản lý văn bằng chứng chỉ, hồ sơ đào tạo
Chuyên viên phụ trách công tác Nghiên cứu thị trường và Quảng cáo
Lãnh đạo đơn vị triển khai đào tạo
CVNC
LĐĐP
TT PTND
DTNH
Trung tâm phát triển nội dung và đào tạo
Đào tạo ngắn hạn
CNTT
Công nghệ thông tin
E-learning
Moodle
Electronic Learning
Modular Object-Oriented Dynamic Learning Environment
LCMS
LMS
Scorm
WWW
GPL
Learning Content Managerment System
Learning Management System
Sharable Content Object Reference Model
World Wide Web
General Public License
LAMP
CMS
OSI
Linux – Apache – MySQL – PHP
Content Management System
Open Systems Interconnection Reference Model
Cross-Site Scripting
XSS
HT
Hiệu trưởng
Bùi Tấn Việt – MM02A
Trang
iv
Xây dựng cổng thông tin điện tử về đào tạo và hỗ trợ việc làm cho TT PT Nội Dung và Đào Tạo
DANH MỤC HÌNH ẢNH
Hình 1.1 Hoạt động của website viết bằng HTML .........................................................2
Hình 1.2 Hoạt động của website viết bằng PHP .............................................................3
Hình 1.4 Menu quản lý các Component của Joomla.......................................................8
Hình 1.6 Module bình chọn được đặt ở trang chủ.........................................................10
Hình 1.7 Các module mặc định của Joomla1.5.............................................................10
Hình 1.8 Menu quản lý Joomla Plugin từ trang quản trị...............................................12
Hình 1.9 Danh sách 8 loại plugin mặc định của Joomla...............................................12
Hình 1.10 Quản lý Template Joomla từ trang quản trị..................................................13
Hình 2.1 Sơ đồ phân cấp tin tức...................................................................................28
Hình 2.2 Các nhóm tin được tạo ..................................................................................29
Hình 2.3 Các chủ đề con được tạo ................................................................................29
Hình 2.4 Quy trình sinh viên đăng ký khoá học trực tuyến ..........................................31
Hình 2.6 Quy trình đăng ký thực tập trực tuyến............................................................35
Hình 2.11 Biểu đồ trình tự đăng ký thực tập của sinh viên...........................................47
Hình 2.12 Biểu đồ lớp chi tiết .......................................................................................48
Hình 3.1 Giao diện trang chủ ........................................................................................50
Hình 3.2 Vị trí các module chính ở trang chủ...............................................................51
Hình 3.3 Menu đăng ký khoá học trực tuyến................................................................53
Hình 3.6 Form đăng ký khoá học trực tuyến.................................................................55
Hình 3.8 Giao diện quản lý học viên đã đăng ký khoá học...........................................56
Hình 3.9 Giao diện quản lý các khoá học......................................................................56
Hình 3.10 Giao diện thêm khoá học mới ......................................................................57
Hình 3.11 Giao diện quản lý chủ đề con của khoá học.................................................57
Hình 3.12 Thêm một chủ đề con...................................................................................58
Hình 3.13 Thêm mới giảng viên....................................................................................58
Hình 3.14: Cấu hình hiển thị các thông khoá học .........................................................59
Hình 3.16 Giao diện trang cổng thông tin việc làm ......................................................60
Hình 3.17 Module danh mục việc làm ..........................................................................61
Hình 3.18 Module việc làm theo địa điểm....................................................................61
Hình 3.19 Giao diện tìm kiếm nâng cao........................................................................62
Hình 3.20 Giao diện xem việc mới nhất.......................................................................62
Hình 3.21 Giao diện lựa chọn đăng ký..........................................................................63
Bùi Tấn Việt – MM02A
Trang
v
Xây dựng cổng thông tin điện tử về đào tạo và hỗ trợ việc làm cho TT PT Nội Dung và Đào Tạo
Hình 3.22 Giao diện đăng ký của ứng viên...................................................................63
Hình 3.23 Xem việc và đăng ký tuyển dụng.................................................................64
Hình 3.24 Quản lý danh sách các công việc đã lưu ......................................................64
Hình 3.25 Menu đăng và quản lý công việc đã đăng ....................................................65
Hình 3.26 Giao diện đăng việc......................................................................................65
Hình 3.27 Tìm hồ sơ ứng viên.......................................................................................65
Hình 3.29 Quản lý các gói đăng việc ............................................................................66
Hình 3.30 Thống kê sử dụng các gói công việc ............................................................67
Hình 3.31 Quản lý việc làm theo thời gian ...................................................................67
Hình 3.32 Quản lý kiểu lương.......................................................................................67
Hình 3.33 Quản lý nhà tuyển dụng................................................................................68
Hình 3.34 Quản lý ứng viên ..........................................................................................68
Hình 3.36 Cấu hình chống Anti-floood với Sh404SEF ................................................72
Bùi Tấn Việt – MM02A
Trang
vi
Xây dựng cổng thông tin điện tử về đào tạo và hỗ trợ việc làm cho TT PT Nội Dung và Đào Tạo
DANH MỤC BẢNG BIỂU
Bảng 2.1 Nhiệm vụ của trung tâm................................................................................15
Bảng 2.2 Quy trình đào tạo ngắn hạng tại trường ........................................................18
Bảng 2.3 Quy trình thực tập và việc làm cho sinh viên ...............................................22
Bảng 2.5 Use case đăng nhập vào hệ thống .................................................................37
Bảng 2.6 Use case thêm công ty thực tập.....................................................................38
Bảng 2.7 Use case sửa công ty thực tập.......................................................................38
Bảng 2.8 Use case xoá thông tin thực tập ....................................................................39
Bảng 2.9 Use case thêm khoa.......................................................................................39
Bảng 2.10 Use case thêm ngành...................................................................................40
Bảng 2.11 Use case thêm lớp .......................................................................................40
Bảng 2.12 Use case thêm thông tin cá nhân.................................................................41
Bảng 2.13 Use case đăng ký thông tin thực tập ...........................................................41
Bảng 2.14 Use case sửa thông tin thực tập...................................................................42
Bảng 2.15 Use case pass công ty thực tập....................................................................42
Bùi Tấn Việt – MM02A
Trang
vii
Xây dựng cổng thông tin điện tử về đào tạo và hỗ trợ việc làm cho TT PT Nội Dung và Đào Tạo
MỞ ĐẦU
Hiện nay, việc ứng dụng mã nguồn mở vào các cơ sở giáo dục và đào tạo là ưu
tiên hàng đầu được nhà nước khuyến khích áp dụng. Với nhu cầu hoàn thiện về cơ sở
đào tạo, đạt mục tiêu nâng cấp Trường cao đẳng công nghệ thông tin Hữu nghị Việt-
Hàn lên đại học trong thời gian tới, việc triển khai cổng thông tin điện tử về đào tạo và
hỗ trợ việc làm là việc làm cấp thiết phải có của trung tâm Phát Triển Nội Dung và
Đào Tạo trường CĐ CNTT Hữu Nghị Việt-Hàn.
Với các lý do trên, Tôi mạnh dạn đề xuất đề tài “Ứng dụng mã nguồn mở xây
dựng cổng thông tin điện tử về đào tạo và hỗ trợ việc làm cho trung tâm Phát
triển nội dung và Đào tạo trường CĐ CNTT Hữu Nghị Việt-Hàn” để làm đồ án tốt
nghiệp cho mình. Tôi thấy đây là đề tài mang tính thực tế cao, giúp trung tâm có thể
“tin học hoá ” quá trình đăng ký thực tập cho sinh viên, hỗ trợ việc làm và đào tạo từ
xa(e-learning) qua website, đồng thời giúp ích rất nhiều cho Tôi trong các công việc
sau này. Đồ án bao gồm những nội dung chính sau:
Chương 1: Nghiên cứu tổng quan.
Trong chương này chủ yếu trình bày tổng quan về lý thuyết, những kiến thức cần
thiết để xây dựng ứng dụng.
Chương 2: Xây dựng cổng thông tin điện tử về đào tạo và hỗ trợ việc làm trên
nền Joomla và Moodle.
Chương này trình bày khảo sát các quy trình nghiệm vụ của trung tâm để từ đó
rút ra các tính năng cần thiết đồng thời phân tích, thiết kế hệ thống cho cổng thông tin.
Chương 3: Chương trình thực nghiệm.
Trong chương 3 sẽ giới thiệu chương trình, chức năng của chương tình và hướng
dẫn cài đặt, vận hành.
Bùi Tấn Việt – MM02A
Trang
viii
Xây dựng cổng thông tin điện tử về đào tạo và hỗ trợ việc làm cho TT PT Nội Dung và Đào Tạo
CHƯƠNG 1. NGHIÊN CỨU TỔNG QUAN
1.1. GIỚI THIỆU VỀ NGÔN NGỮ LẬP TRÌNH PHP VÀ HỆ QUẢN TRỊ CƠ
SỞ DỮ LIỆU MYSQL
1.1.1. Giới thiệu PHP và môi trường lập trình Web
1.1.1.1. PHP là gì?
Cái tên PHP ban đầu được viết tắt bởi cụm từ Personal Home Page và được phá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ển PHP như là
một máy đặc tả (Scripting engine). Vào giữa năm 1997, PHP đã phát triể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 và đã trở thành công nghệ web quan trọng. Zeev Suraski và Andi
Gutmans đã hoàn thiện việc phân tích cú pháp cho ngôn ngữ để rồi thá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ết lại bộ đặc tả được đưa ra,
ngay sau đó PHP4 ra đời (phiên bản này có phần mở rộng khô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. Tính đến thời điểm hiện thời, phiên bản PHP ổn định mới nhất là 5.3.5.
1.1.1.2. Tại sao phải sử dụng 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ững yê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. Cụ thể cơ sở dữ liệu thường được kết hợp với PHP
là MySQL, sẽ được giới thiệu ở phần tiếp theo của đồ án.
Chúng ta hãy xem xét cách hoạt động của những trang web được viết bằng ngôn
ngữ HTML và PHP như thế nào:
✓ Với các trang HTML
Bùi Tấn Việt – MM02A
Trang
1
Xây dựng cổng thông tin điện tử về đào tạo và hỗ trợ việc làm cho TT PT Nội Dung và Đào Tạo
Khi có yêu cầu tới mọi trang web từ phía người sử dụng (browser). Web server
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 1.1 Hoạt động của website viết bằng HTML
✓ Với các trang PHP
Khác với các trang HTML, khi một trang PHP được yêu cầu, web server phân
tích và thi hành các đoạn mã PHP để tạo ra trang HTML. Điều này được thực hiện
bằng bốn bước sau:
- Đọc yêu cầu từ phía browser.
- Tìm trang web trên server.
- Thực hiện các đoạn mã PHP trên trang web đó để sửa đổi nội dung của
trang.
- Gửi nội dung cho browser ở dạng HTML
Bùi Tấn Việt – MM02A
Trang
2
Xây dựng cổng thông tin điện tử về đào tạo và hỗ trợ việc làm cho TT PT Nội Dung và Đào Tạo
Hình 1.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.
1.1.1.3. Những điểm mạnh của PHP
✓ PHP thực hiện với tốc độ rất nhanh và hiệu quả. Một Server bình thường có thể
đáp ứng được hơn hàng chục triệu truy cập trong một ngày.
✓ PHP hỗ trợ kết nối tới rất nhiều CSDL khác nhau như PostgreSQL, Microsoft
SQL Server, Oracle, dbm, filePro... Ngoài ra còn hỗ trợ kết nối tới ODBC thông qua
đó có thể kết nối với nhiều ngôn ngữ khác mà ODBC hỗ trợ.
✓ PHP cung cấp một hệ thống thư viện phong phú và ngày càng phát triển. Do
PHP 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ụng
trê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ông
việ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ác ngô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ư Joomla, Drupal, Nukeviet...
1.1.2. Giới thiệu hệ cơ sở dữ liệu MySQL
Bùi Tấn Việt – MM02A
Trang
3
Xây dựng cổng thông tin điện tử về đào tạo và hỗ trợ việc làm cho TT PT Nội Dung và Đào Tạo
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ất mạ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ên bả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òng Windows, 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ở
Joomla.
✓ 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)
- 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 ứng dụng client-
server với máy chủ mạnh như UNIX, Windows, và đặc biệt là máy chủ UNIX.
- MySQL hỗ trợ các điểm vào là ANSI 92 và ODBC mức 0-2 SQL chuẩn.
- MySQL hỗ trợ nhiều ngôn ngữ cho việc thông báo lỗi như: Czec, Dutc,
English, Estonia, Polish, Porugue, Spanish and Swedish. Ngôn nữ được hỗ trợ
mặc định cho dữ liệu là ISO-8859-1(Latin1).
- 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ớ ba bố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ấn con.
- 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.
Bùi Tấn Việt – MM02A
Trang
4
Xây dựng cổng thông tin điện tử về đào tạo và hỗ trợ việc làm cho TT PT Nội Dung và Đào Tạo
1.2. GIỚI THIỆU VỀ HỆ QUẢN TRỊ NỘI DUNG MÃ NGUỒN MỞ JOOMLA
1.2.1. Giới thiệu hệ quản trị nội dung
Hệ quản trị nội dung hay còn gọi là hệ thống quản lý nội dung (CMS - Content
Management System) là phần mềm để tổ chức và tạo môi trường cộng tác thuận lợi
nhằm mục đích xây dựng một hệ thống tài liệu và các loại nội dung khác một cách
Các đặc điểm cơ bản của CMS bao gồm:
• Phê chuẩn việc tạo hoặc thay đổi nội dung trực tuyến.
• Chế độ Soạn thảo WYSIWYG tiện lợi.
• Quản lý người dùng.
• Tìm kiếm và lập chỉ mục.
• Lưu trữ.
• Tuỳ biến giao diện.
• Quản lý ảnh và các liên kết (URL).
Với sự phát triển nhanh chóng hiện nay của internet, nếu chúng ta có một website
mà không có chức năng thay đổi, cập nhật nội dung mới, chúng ta sẽ trở nên tụt hậu và
gặp khó khăn trong việc cập nhật nội dung cũng như quảng bá hình ảnh công ty, tổ
chức. Ý tưởng cho một website với hệ thống quản trị nội dung (Content Management
Systems – CMS) được ra đời nhằm đáp ứng nhu cầu trên. Và đặc biệt là sự xuất hiện
của mã nguồn mở Joomla CMS. Chúng ta có thể thấy được sức mạnh của hệ quản trị
nội dung trong loại mã nguồn mở này.
1.2.2. Giới thiệu hệ quản trị nội dung mã nguồn mở Joomla
Joomla là một hệ quản trị nội dung mã nguồn mở được viết bằng ngôn ngữ PHP
và kết hợp với cơ sở dữ liệu MySQL, cho phép người sử dụng có thể dễ dàng đưa nội
dung thông tin của họ lên mạng internet.
Ra đời do bất đồng quan điểm trong nội bộ Mambo - một hệ quản trị nội dung
nổi tiếng, gần như toàn bộ nhân lực chủ chốt (Core Team) của mambo đã ra đi, xây
dựng nên một đế chế hùng mạnh với tên gọi Open Source Master, và Joomla ra đời từ
đó (năm 2005).
Chỉ hơn 3 năm chào đời, Joomla đã làm nên một kỳ tích: 2 lần đạt giải nhất mã
nguồn mở ứng dụng tốt nhất thế giới, số thành viên trên 200.000 người (tính riêng tại
Bùi Tấn Việt – MM02A
Trang
5
Xây dựng cổng thông tin điện tử về đào tạo và hỗ trợ việc làm cho TT PT Nội Dung và Đào Tạo
joomla.org). Nếu tính thêm những site lớn như rockettheme.com, joomlart.com,
joomlashack.com, virtuemart.net,... thì con số thành viên lên đến hàng triệu người.
Joomla
Về số lần mã nguồn được tải về thì Joomla cũng chiếm tỷ lệ cao so với các mã
nguồn mở khác như Drupal, Phpnuke, Rainbow portal, DotnetNuke hay Nukeviet.
Về số lượng các thành phần mở rộng (extensions) được thiết kế, Joomla cũng đạt
con số kỷ lục: trên 7000. Đó là chưa kể đến hàng ngàn giao diện (template) được xây
dựng chỉ để dành cho website Joomla
Joomla được sử dụng nhiều như vậy bởi lý do đơn giản: Joomla giúp mọi người
có thể phát triển việc kinh doanh, học tập, giảng dạy, giới thiệu, quảng bá hình ảnh,
dịch vụ, sản phẩm của mình, của công ty, của trường mình một cách tốt nhất, hiệu quả
nhất với chi phí thấp nhất.
Nói tóm lại, nếu cần xây dựng một website, dù là web cá nhân hay là một
website ngân hàng, một đại công ty, một hệ thống bán hàng trực tuyến, một hệ thống
viễn thông, một trường học online,... đều có thể dùng Joomla. Trong phạm vi đồ án
này, Joomla được sử dụng để thiết kế cổng thông tin về đào tạo ngắn hạng và hỗ trợ
việc làm.
Bùi Tấn Việt – MM02A
Trang
6
Xây dựng cổng thông tin điện tử về đào tạo và hỗ trợ việc làm cho TT PT Nội Dung và Đào Tạo
1.2.3. Các Phiên Bản Của Joomla
Hiện tại Joomla có ba phiên bản chính:
✓ Joomla 1.0.x: Phiên bản thế hệ 1 (được cộng đồng người sử dụng và các nhà
phát triển đánh giá rất ổn định). Phiên bản đầu tiên là phiên bản Joomla 1.0.0 (ngày
25/9/2005) có nguồn gốc từ mambo 4.5.2.3. Phiên bản phát hành cuối cùng của
Joomla 1.0 là phiên bản Joomla 1.0.15 (ngày 22/2/2008).
✓ Dòng phiên bản 1.5.x: Phiên bản thế hệ 2 (ổn định), đây là phiên bản cải tiến từ
phiên bản Joomla 1.0.x trong đó phần code được viết mới hoàn toàn, tuy nhiên vẫn
giữ cách hành xử như phiên bản cũ. Phiên bản Joomla 1.5.x được coi như Mambo
4.6. Phiên bản Joomla 1.5 tiếp tục duy trì một giao diện look and feel (nhìn và cảm
nhận) rất thuận tiện đối với người sử dụng. Cả Joomla 1.5 và mambo 4.6 đều hỗ trợ
đa ngôn ngữ. Joomla sử dụng file định dạng “.ini” để lưu trữ các thông tin chuyển
đổi ngôn ngữ, nó hỗ trợ tất cả các ngôn ngữ có tập kí tự được biểu diễn bằng bảng
mã UTF-8, phù hợp với ngôn ngữ Việt Nam. Joomla 1.5 cũng bao gồm các đặc tính
mới như:
- Hỗ trợ các hình thức chứng thực LDAP, Gmail...
- Hỗ trợ mô hình Client-Server hỗ trợ giao thức gọi hàm từ xa Xml-Rpc.
- Hỗ trợ các trình điều khiển cớ sở dữ liệu dành cho MySQL 4.1+ (trên nền
PHP5) và tăng cường hỗ trợ cho MySQL 5, đồng thời nó cũng hỗ trợ các hệ quản
trị cơ sở dữ liệu khác.
✓ Phiên bản mới nhất 1.6.x: Với một khoảng thời gian chuẩn bị xấp xỉ 3 năm,
cuối cùng Joomla phiên bản 1.6 cũng đã chính thức được ra mắt (ngày 11/01/2011)
với các tính năng được chờ đợi từ rất lâu của cộng đồng Joomla như:
- Quản lý truy xuất của người dùng (ACL).
- Phân loại nội dung đa cấp thay vì chỉ có hai cấp như phiên bản trước.
- Quản lý và nâng cấp các thành phần mở rộng chỉ với vài cú nhấp chuột.
- Khả năng cài đặt một lúc nhiều loại thành phần mở rộng.
- Thư viện JForm mới giúp việc tạo và quản lý Form trong trang web dễ dàng
hơn, giúp tăng tốc trong việc phát triển các thành phần mở rộng trong Joomla.
- Và rất nhiều cải tiến khác giúp tăng tốc độ tải trang, cải thiện trải nghiệm cho
người dùng, tối ưu hoá cho các bộ máy tìm kiếm.v.v..
Bùi Tấn Việt – MM02A
Trang
7
Xây dựng cổng thông tin điện tử về đào tạo và hỗ trợ việc làm cho TT PT Nội Dung và Đào Tạo
1.2.4. Các loại thành phần mở rộng của joomla
Thành phần mở rộng (extensions) là gói cài đặt thêm để mở rộng chức năng
ngoài các chức năng cốt lõi của Joomla. Trong Joomla, có năm loại thành phần mở
rộng:
1.2.4.1. Component
Joomla Component là một trong các loại thành phần mở rộng quan trọng nhất
của Joomla và thực chất nó là một ứng dụng trong hệ thống Joomla. Component được
sử dụng để thực hiện một chức năng lớn nào đó, chẳng hạn như: Cung cấp tin tức,
quảng cáo, rao vặt, đặt phòng khách sạn, bất động sản, download...
Một component được hiển thị ở phần trung tâm, hay phần chính (mainbody) của
Website.
Hình 1.4 Menu quản lý các Component của Joomla
- Các Component mặc định của Joomla
Trong phiên bản Joomla 1.5 có tất cả 11 component mặc định được cung cấp
kèm theo. Các component này được đặt trong thư mục [Joomla]/components và nằm
trong các thư mục con tương ứng với ký hiệu là "com_têncomponent".
Bùi Tấn Việt – MM02A
Trang
8
Xây dựng cổng thông tin điện tử về đào tạo và hỗ trợ việc làm cho TT PT Nội Dung và Đào Tạo
Hình 1.5 Danh sách các component mặc định của Joomla 1.5
- Danh sách các component và ý nghĩa của chúng:
+ com_banners: Quản lý bảng quảng cáo (banner).
+ com_contact: Quản lý các đầu mối liên hệ (contact).
+ com_content: Quản lý và hiển thị bài viết (đây là component quan trọng nhất)
+ com_mailto: Quản lý chức năng gửi/nhận email.
+ com_media: Quản lý các tệp đa phương tiện (video, flash, mp3, hình).
+ com_newsfeeds: Quản lý việc lấy tin từ website khác.
+ com_poll: Cung cấp chức năng bình chọn.
+ com_search: Cung cấp chức năng tìm kiếm.
+ com_user: Quản lý thành viên.
+ com_weblinks: Quản lý và hiển thị danh mục các website liên kết.
+ com_wrapper: Cho phép nhúng một website khác trong cửa sổ của website
Joomla..
1.2.4.2. Modules
Joomla Module là một trong các thành phần mở rộng của Joomla, nó là một ứng
dụng nhỏ (thường chỉ có vài file và phần lập trình cũng không nhiều) được sử dụng
chủ yếu để lấy dữ liệu và hiển thị thông tin. Module thường được dùng kết hợp kèm
với các component nhằm mở rộng, cũng như thể hiện rõ ràng hơn các chức năng của
component.
Không giống như component, một module có thể được đặt ở bất kỳ vị trí nào trên
template hoặc vị trí do người dùng tự định nghĩa. Ngoài ra một module có thể được
nhân bản, nghĩa là cùng lúc có thể xuất hiện tại một vị trí hoặc các vị trí khác nhau.
Bùi Tấn Việt – MM02A
Trang
9
Xây dựng cổng thông tin điện tử về đào tạo và hỗ trợ việc làm cho TT PT Nội Dung và Đào Tạo
Hình 1.6 Module bình chọn được đặt ở trang chủ
- Vị trí của Module Joomla.
Vị trí của module (module position) là nơi mà module có thể được đặt vào đó.
Mỗi vị trí đều được xác định thông qua một định danh duy nhất (một cái tên), chẳng
hạn như: left, right, top, bottom, user1, user2... Tên và số lượng các vị trí này được quy
định bởi template. Các template khác nhau thì số lượng vị trí module cũng như tên của
chúng có thể khác nhau. Ngoài ra, trong quá trình sử dụng người dùng cũng có thể tự
định nghĩa các vị trí mới sao cho phù hợp với yêu cầu của mình.
- Các Module mặc định của Joomla 1.5
Trong phiên bản Joomla 1.5 có tất cả 20 module mặc định được cung cấp kèm
theo. Các module này được đặt trong thư mục [Joomla]/modules và nằm trong các thư
mục con tương ứng với ký hiệu là "mod_tenmodules".
Hình 1.7 Các module mặc định của Joomla1.5
- Danh sách các Module Joomla được cung cấp theo mặc định.
Bùi Tấn Việt – MM02A
Trang
10
Xây dựng cổng thông tin điện tử về đào tạo và hỗ trợ việc làm cho TT PT Nội Dung và Đào Tạo
+ mod_archive: Module hiển thị các bài viết đã được đánh dấu "lưu trữ".
+ mod_banners: Module hiển thị các quảng cáo.
+ mod_breadcrumbs: Module hiển thị thanh điều hướng.
+ mod_custom: Module hiển thị một đoạn mã HTML bất kỳ.
+ mod_feed: Module hiển thị tin lấy từ các website khác.
+ mod_footer: Module hiển thị dòng bản quyền ở cuối Website.
+ mod_latestnews: Module hiển thị các bài viết mới nhất.
+ mod_login: Module hiển thị form đăng nhập.
+ mod_mainmenu: Module hiển thị menu điều khiển.
+ mod_mostread: Moudle hiển thị các bài viết được đọc nhiều nhất.
+ mod_newsflash: Module hiển thị tin vắn / tin nhanh.
+ mod_poll: Module hiển thị bình chọn.
+ mod_random_image: Module hiển thị ảnh ngẫu nhiên.
+ mod_related_items: Module hiển thị các bài viết liên quan.
+ mod_search: Module hiển thị form tìm kiếm.
+ mod_sections: Module hiển thị danh sách các mục của Website.
+ mod_stats: Module hiển thị các thông số thống kê của Website.
+ mod_syndicate: Module cấp tin cho các website khác.
+ mod_whoisonline: Module hiện danh tính và số người trực tuyến.
+ mod_wrapper: Mudule hiển thị một trang web bất kỳ được nhúng vào
website Joomla.
1.2.4.3. Plugins
Là thành phần mở rộng cung cấp một số chức năng cộng thêm cho website. Plugins
khác với module và component ở đặc điểm người quản trị không cần quản lý nó
thường xuyên.
Bùi Tấn Việt – MM02A
Trang
11
Xây dựng cổng thông tin điện tử về đào tạo và hỗ trợ việc làm cho TT PT Nội Dung và Đào Tạo
Hình 1.8 Menu quản lý Joomla Plugin từ trang quản trị
- Các Plugin mặc định của Jooml:
Trong phiên bản Joomla 1.5 có tất cả 32 plugin mặc định được cung cấp kèm theo.
Các module này được phân thành 8 loại khác nhau và đặt trong các thư mục con tương
ứng của thư mục [Joomla]/plugins.
Hình 1.9 Danh sách 8 loại plugin mặc định của Joomla
- Danh sách các loại plugin của Joomla:
+ authentication: Các plugin chứng thực quyền hạn.
+ content: Các plugin nội dung (bài viết).
+ editors: Các plugin về trình soạn thảo.
+ editors-xtd: Các plugin hỗ trợ, mở rộng tính năng cho trình soạn thảo.
+ search: Các plugin về tìm kiếm.
+ system: Các plugin của hệ thống.
+ user: Các plugin về người dùng.
Bùi Tấn Việt – MM02A
Trang
12
Tải về để xem bản đầy đủ
Bạn đang xem 20 trang mẫu của tài liệu "Đồ án Ứng dụng mã nguồn mở xây dựng cổng thông tin điện tử về đào tạo và hỗ trợ việc làm cho Trung tâm Phát triển nội dung và Đào tạo trường CĐ CNTT Hữu Nghị Việt - Hàn", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
- do_an_ung_dung_ma_nguon_mo_xay_dung_cong_thong_tin_dien_tu_v.doc