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
CHƯƠNG 1. NGHIÊN CỨU TỔNG QUAN 1
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.1. Giới thiệu PHP và môi trường lập trình Web 1
1.1.2. Giới thiệu hệ cơ sở dữ liệu MySQL 3
1.2. GIỚI THIỆU VỀ HỆ QUẢN TRỊ NỘI DUNG MÃ NGUỒN MỞ JOOMLA. 5
1.2.1. Giới thiệu hệ quản trị nội dung 5
1.2.2. Giới thiệu hệ quản trị nội dung mã nguồn mở Joomla 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
CHƯƠNG 2. PHÂN TÍCH VÀ THIẾT KẾ 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 15
2.1. CÁC QUY TRÌNH NGHIỆP VỤ CỦA TRUNG TÂM PHÁT TRIỂN NỘI
DUNG VÀ ĐÀO TẠO 15
2.1.1. Giới thiệu Trung tâm 15
2.1.2. Khảo sát hiện trạng quy trình đào tạo ngắn hạn tại trường 17
2.1.3. Khảo sát quy trình hỗ trợ thực tập và việc làm cho sinh viên 22
2.1.4. Kết luận 25
2.2. PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 27
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.4. Tính năng cổng thông tin việc làm 33
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
Điều kiện thoát Use case: 37
Điều kiện thoát Use case: 38
Điều kiện thoát Use case: 38
Hành động thay thế: 39
Điều kiện thoát Use case: 39
Điều kiện thoát Use case: 39
Điều kiện thoát Use case: 40
Điều kiện thoát Use case: 40
Điều kiện thoát Use case: 40
Điều kiện thoát Use case: 41
Điều kiện thoát Use case: 41
Điều kiện thoát Use case: 42
CHƯƠNG 3. XÂY DỰNG CHƯƠNG TRÌNH THỰC NGHIỆM 49
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.3. Trang hỗ trợ việc làm 60
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
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
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
TUQHT Người được Hiệu trưởng ủy quyền
HPCM
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ĐPT Lãnh đạo phụ trách
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
CVNC Chuyên viên phụ trách công tác Nghiên cứu thị trường và Quảng cáo
LĐĐP Lãnh đạo đơn vị triển khai đào tạo
TT PTND Trung tâm phát triển nội dung và đào tạo
DTNH Đào tạo ngắn hạn
CNTT Công nghệ thông tin
E-learning Electronic Learning
Moodle Modular Object-Oriented Dynamic Learning Environment
LCMS
Learning Content Managerment System
LMS
Learning Management System
Scorm
Sharable Content Object Reference Model
WWW
World Wide Web
GPL
General Public License
LAMP
Linux – Apache – MySQL – PHP
CMS
Content Management System
OSI
Open Systems Interconnection Reference Model
XSS
Cross-Site Scripting
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.3 Kết quả của về sự phát triển của
Joomla 6
Hình 1.4 Menu quản lý các Component của Joomla 8
Hình 1.5 Danh sách các component mặc định của Joomla 1.5 9
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 1.11 Template Beez, JA Purity và Rhuk Milkyway của Joomla 13
Hình 2.12 Sơ đồ phân cấp tin tức 28
Hình 2.13 Các nhóm tin được tạo 29
Hình 2.14 Các chủ đề con được tạo 29
Hình 2.15 Quy trình sinh viên đăng ký khoá học trực tuyến 31
Hình 2.16 Component Course Manager 32
Hình 2.17 Quy trình đăng ký thực tập trực tuyến 35
Hình 2.18 Quy trình cập nhật công ty thực tập của cán bộ chuyên trách 36
Hình 2.19 Biểu đồ use case của component đăng ký thực tập 43
Hình 2.20 Biểu đồ trình tự thêm công ty thực tập của cán bộ chuyên trách 45
Hình 2.21 Biểu đồ tuần tự thêm thông tin cá nhân của sinh viên 46
Hình 2.22 Biểu đồ trình tự đăng ký thực tập của sinh viên 47
Hình 2.23 Biểu đồ lớp chi tiết 48
Hình 3.24 Giao diện trang chủ 50
Hình 3.25 Vị trí các module chính ở trang chủ 51
Hình 3.26 Menu đăng ký khoá học trực tuyến 53
Hình 3.27 Giao diện của các khoá học thuộc chủ đề con Đào tạo quản trị mạng 53
Hình 3.28 Giao diện các thông tin cung cấp cho học viên khi đăng ký 54
Hình 3.29 Form đăng ký khoá học trực tuyến 55
Hình 3.30 Bảng điều khiển của tính năng đăng ký khoá học trực tuyến 55
Hình 3.31 Giao diện quản lý học viên đã đăng ký khoá học 56
Hình 3.32 Giao diện quản lý các khoá học 56
Hình 3.33 Giao diện thêm khoá học mới 57
Hình 3.34 Giao diện quản lý chủ đề con của khoá học 57
Hình 3.35 Thêm một chủ đề con 58
Hình 3.36 Thêm mới giảng viên 58
Hình 3.37: Cấu hình hiển thị các thông khoá học 59
Hình 3.38 Thêm một trường trong mẫu đăng ký học viên 59
Hình 3.39 Giao diện trang cổng thông tin việc làm 60
Hình 3.40 Module danh mục việc làm 61
Hình 3.41 Module việc làm theo địa điểm 61
Hình 3.42 Giao diện tìm kiếm nâng cao 62
Hình 3.43 Giao diện xem việc mới nhất 62
Hình 3.44 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.45 Giao diện đăng ký của ứng viên 63
Hình 3.46 Xem việc và đăng ký tuyển dụng 64
Hình 3.47 Quản lý danh sách các công việc đã lưu 64
Hình 3.48 Menu đăng và quản lý công việc đã đăng 65
Hình 3.49 Giao diện đăng việc 65
Hình 3.50 Tìm hồ sơ ứng viên 65
Hình 3.51 Bảng điều khiển tính năng cổng thông tin việc làm 66
Hình 3.52 Quản lý các gói đăng việc 66
Hình 3.53 Thống kê sử dụng các gói công việc 67
Hình 3.54 Quản lý việc làm theo thời gian 67
Hình 3.55 Quản lý kiểu lương 67
Hình 3.56 Quản lý nhà tuyển dụng 68
Hình 3.57 Quản lý ứng viên 68
Hình 3.58 Cấu hình bảo mật website Joomla với Sh404SEF 72
Hình 3.59 Cấu hình chống Anti-floood với Sh404SEF 72
Hình 3.60 Tuỳ chọn cho phép các IP được phép truy cập và cấm truy cập 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ù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:
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
Với các trang HTML
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
thống nhất. Mới đây, thuật ngữ này liên kết với chương trình quản lý nội dung của
website. Quản lý nội dung web (web content management) cũng đồng nghĩa như vậy.
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.
Hình 1.3 Kết quả của về sự phát triển của
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
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
+ xmlrpc: Các plugin cho phép quản trị Joomla, viết bài từ các hệ thống khác.
1.2.4.4. Template
Joomla Template là một gói bao gồm các file PHP, HTML, CSS, JS (Javascript)
và các tấm hình, ảnh, biểu tượng, video, flash kèm theo tạo nên giao diện (bố cục và
hình hài) của website Joomla.
Hình 1.10 Quản lý Template Joomla từ trang quản trị
- Các Template mặc định của Joomla:
Trong phiên bản Joomla 1.5 có 3 template được đóng gói sẵn kèm theo: JA Purity
(Joomlart), Rhuk Milkyway (RocketTheme) và Beez (Angie Radtke/Robert Deutz).
Trong đó JA Purity là template được thiết kế bởi Joomlart - công ty có xuất xứ từ Việt
Nam và là công ty hàng đầu về template Joomla hiện nay.
Hình 1.11 Template Beez, JA Purity và Rhuk Milkyway của Joomla
- Đặc điểm của Template Joomla:
+ Các template của Joomla đều có khả năng tùy biến cao thông qua cách sắp xếp
và đặt vị trí các module rất linh động.
Bùi Tấn Việt – MM02A Trang
13
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
+ Việc thiết kế Template Joomla khá dễ dàng, thậm chí chỉ cần vài giờ là có thể
chuyển từ một template thuần HTML/CSS hay một template của một PORTAL/CMS
khác sang template Joomla.
+ Có thể dùng cùng lúc vài template khác nhau trên cùng website. Chẳng hạn
đối với trang HOME gắn với template JA Purity, còn trang DOWNLOAD lại gắn với
template Rhuk Milkyway
+ Số lượng template Joomla free (template miễn phí) và template Joomla
commercial (template có phí) được cung cấp trên mạng internet hiện nay là một con số
rất lớn. Có tới hàng nghìn thậm chí hàng chục nghìn template.
1.2.4.5. Languages
Joomla là mã nguồn mở hỗ trợ đa ngôn ngữ, 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. Bằng cách cài đặt một gói ngôn ngữ, có thể để quốc tế
hóa Joomla sang các ngôn ngữ khác nhau.
Bùi Tấn Việt – MM02A Trang
14
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 2. PHÂN TÍCH VÀ THIẾT KẾ 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
2.1. CÁC QUY TRÌNH NGHIỆP VỤ CỦA TRUNG TÂM PHÁT TRIỂN NỘI
DUNG VÀ ĐÀO TẠO
2.1.1. Giới thiệu Trung tâm
Trung tâm phát triển nội dung và đào tạo – Trường cao đẳng công nghệ thông tin
Hữu nghị Việt-Hàn là đơn vị hoạt động trực thuộc Trường cao đẳng công nghệ thông
tin Hữu nghị Việt-Hàn, đặt dưới sự định hướng về chương trình hoạt động và nội dung
công tác của Ban thường vụ Đoàn trường được Ban Giám hiệu phê duyệt. Với nhiệm
vụ và quyền hạn:
2.1.1.1. Nhiệm vụ của trung tâm
Giới thiệu việc làm Đào tạo ngắn hạn
Hỗ trợ
Quan hệ
doanh nghiệp
Hỗ trợ
sinh viên
Quảng cáo
& marketing
Phát triển nội
dung & tư
vấn giải pháp
Đào tạo
tại địa
phương
Đào tạo
tại trường
Bảng 2.1 Nhiệm vụ của trung tâm
- Quan hệ doanh nghiệp:
Liên hệ và gặp gỡ các công ty – doanh nghiệp để tạo mối quan hệ, trao đổi thông
tin và giới thiệu quảng bá các chương trình đào tạo của trường.
Thiết lập hệ thống thông tin việc làm, thông tin hai chiều giữa trường với các tổ
chức, cá nhân sử dụng lao động về nhu cầu sử dụng lao động, số lượng sinh viên tốt
nghiệp hàng năm theo từng ngành đào tạo của trường để tư vấn và giới thiệu việc làm
cho sinh viên người học; giúp các tổ chức, cá nhân có nhu cầu sử dụng lao động lựa
chọn lao động phù hợp với yêu cầu công việc
Tham gia hoặc phối hợp với các công ty /doanh nghiệp tổ chức các buổi giao lưu,
hội thảo, hội nghị, sàn giao dịch việc làm.
Tìm kiếm nguồn giảng viên thỉnh giảng tham gia các khoá đào tạo tại trường và
các đơn vị.
Bùi Tấn Việt – MM02A Trang
15
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
Theo dõi và thống kê tình hình việc làm và chất lượng việc làm của sinh viên đã
tốt nghiệp, lấy ý kiến các tổ chức về kỹ năng, khả năng và thái độ làm việc của sinh
viên của trường làm việc tại các tổ chức.
- Hỗ trợ sinh viên:
Thu thập dữ liệu về doanh nghiệp các ngành nghề khác nhau để hỗ trợ sinh viên
trong quá trình thực tập, tìm kiếm việc làm.
Liên hệ thực tập cho sinh viên trường theo đúng chuyên ngành đào tạo.
Tổ chức các khoá đào tạo, định hướng nghề nghiệp, các kỹ năng mềm cho sinh
viên.
Xây dựng cổng thông tin hỗ trợ việc làm, tìm kiếm và phối hợp với các doanh
nghiệp cung cấp thông tin về các việc làm bán thời gian, nhu cầu tuyển dụng nhân sự
của các đơn vị.
Phối hợp với các đơn vị chức năng tổ chức khảo sát tình trạng việc làm của sinh
viên sau khi tốt nghiệp; theo dõi, đánh giá thông tin phản hồi của các tổ chức, cá nhân
sử dụng lao động về khả năng đáp ứng yêu cầu công việc của sinh viên sau khi tốt
nghiệp.
Chịu trách nhiệm chính trong việc thành lập và phối hợp với Ban liên lạc cựu
sinh viên tổ chức các hoạt động cựu sinh viên trường.
- Quảng cáo & Marketing:
Phối hợp với các đơn vị chức năng trong trường tổ chức các chương trình quảng
cáo – marketing các chương trình đào tạo (chính quy – ngắn hạn) của trường đến toàn
xã hội thông qua các kênh quảng cáo trên báo, tạp chí, băng rôn, tờ rơi…
Thực hiện công tác khảo sát, nghiên cứu nhu cầu đào tạo, tìm kiếm việc làm đối
với sinh viên các khoá tại Trường, và các địa phương.
- Phát triển nội dung đào tạo (kết hợp nghiên cứu tư vấn các giải pháp về
CNTT: phần cứng, phần mềm, kế hoạch ứng dụng CNTT tại các cơ quan đơn vị)
Kết hợp với bộ phận Marketing điều tra, khảo sát thực trạng về nguồn nhân lực
và ứng dụng CNTT tại các đơn vị. Phân tích nhu cầu đào tạo, lập kế hoạch đào tạo và
đánh giá hoạt động đào tạo của các đơn vị, đồng thời liên tục cập nhật kiến thức và kỹ
thuật của các ứng dụng KHKT mới (chú trọng đến các lĩnh vực CNTT&TT) để nghiên
cứu và phối hợp với các khoa chuyên ngành xây dựng đề cương các chương trình đào
tạo mới phù hợp với mục tiêu và thực tiễn kinh doanh của các cơ quan / đơn vị.
Bùi Tấn Việt – MM02A Trang
16
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
Thực hiện nghiên cứu các giải pháp - ứng dụng mới về CNTT (phần cứng, phần
mềm, các giải pháp về mạng, mã nguồn mở…) để áp dụng vào hoạt động đào tạo tại
trường và triển khai tư vấn cho các đơn vị.
- Đào tạo tại đơn vị
Đàm phán trao đổi với đơn vị các chương trình đào tạo, giá trị hợp đồng, hình
thức thực hiện và tham mưu trình lãnh đạo Trường ký kết hợp đồng đào tạo.
Phối hợp với đơn vị triển khai đào tạo, kiểm tra cấp chứng chỉ và thực hiện các
thủ tục thanh toán.
Phối hợp với các khoa nghiên cứu và xây dựng các chương trình đào tạo mới,
cập nhật các kiến thức và nội dung đào tạo mới đối với các chương trình đào tạo đã có.
- Đào tạo tại trường
Phân tích nhu cầu đào tạo, lập kế hoạch đào tạo và tổ chức quảng cáo chiêu sinh,
tư vấn ghi danh xếp lớp các khoá đào tạo tại trường
2.1.1.2. Quyền hạn của Trung tâm
Được tổ chức và phối hợp, hợp tác liên kết với các cơ quan, đơn vị khác trong và
ngoài trường nhằm tổ chức thực hiện các hoạt động hỗ trợ sinh viên theo chức năng và
nhiệm vụ được giao.
Được thu phí dịch vụ trên cơ sở cho phép của Ban Giám hiệu theo đúng các quy
định của Nhà nước và Nhà trường.
2.1.2. Khảo sát hiện trạng quy trình đào tạo ngắn hạn tại trường
2.1.2.1. Lưu đồ quy trình đào tạo ngắn hạng tại trường
Bùi Tấn Việt – MM02A Trang
17