BAN CƠ YẾU CHÍNH PHỦ
HỌC VIỆN KỸ THUẬT MẬT MÃ
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
THỰC TẬP CƠ SỞ
PHÁT TRIỂN MỘT HỆ THỐNG QUẢN LÍ ĐÀO TẠO DỰA TRÊN MÃ NGUỒN MỞ HOẶC MIỄN PHÍ
Ngành: An tồn thơng tin
Hồ Chí Minh, 2021
BAN CƠ YẾU CHÍNH PHỦ
HỌC VIỆN KỸ THUẬT MẬT MÃ
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
THỰC TẬP CƠ SỞ
PHÁT TRIỂN MỘT HỆ THỐNG QUẢN LÍ ĐÀO TẠO DỰA TRÊN MÃ NGUỒN MỞ HOẶC MIỄN PHÍ
Ngành: An tồn thơng tin
Sinh viên thực hiện:
Lớp: AT14K, AT14L
Người hướng dẫn:
PGS-TS. Lương Thế Dũng
Khoa Công nghệ thông tin – Học viện Kỹ thuật mật mã
Hồ Chí Minh, 2021
MỤC LỤC
NỘI DUNG BÁO CÁO......................................................................................................10
Chương 1. GIỚI THIỆU CHUNG VỀ HỆ THỐNG QUẢN LÝ ĐÀO TẠO ĐẠI
HỌC DỰA TRÊN MÃ NGUỒN MỞ.............................................................................10
1.1 Giới thiệu chung........................................................................................................10
1.2.
Mã nguồn là gì.......................................................................................................10
1.3.
Một số ví dụ...........................................................................................................11
1.4
Mã nguồn mở liên quan đến cấu trúc, kỹ thuật lập trình..................................11
1.5
Lợi ích của mã nguồn đối với lập trình...............................................................12
1.6
Ứng dụng của mã nguồn mở hiện nay.................................................................12
1.6.1 Hệ điều hành Linux...............................................................................................13
1.6.2 Các ngơn ngữ lập trình PHP,Java.........................................................................13
1.6.3 WordPree trong thiết kế website............................................................................13
1.6.4 Phần mềm GIMP thay thế Abode Photoshop........................................................14
Kết luận chương 1........................................................................................................15
Chương 2. PHẦN MỀM SAKAI....................................................................................16
2.1. Giới thiệu Sakai project..........................................................................................16
2.2. Tính năng.................................................................................................................17
2.3. Tiến hành cài đặt......................................................................................................18
2.3.1 Cơng cụ chuẩn bị..................................................................................................18
2.3.2 Cài đặt các biến mơi trường..................................................................................18
2.3.3 Cấu hình cơ sở dữ liệu..........................................................................................19
2.3.4 Cấu hình Tomcat...................................................................................................20
2.3.5 Biên dịch mã nguồn Sakai.....................................................................................22
2.4. Bộ công cụ để dạy và học, quản lý điểm số............................................................24
2.4.1. Syllabus – Đề cương bài giảng............................................................................24
2.4.2 Gradebook – Sổ điểm............................................................................................26
2.4.3 Assignment – Bài tập.............................................................................................32
2.4.4 Tests and Quizzes – Kiểm tra................................................................................38
2.4.5. Presentation – Trình diễn slide bài giảng.............................................................42
2.5. Bộ cơng cụ giao tiếp giữa giảng viên và sinh viên.................................................43
2.5.1 Announcement – Thông báo..................................................................................43
2.5.2 Schedule – Lịch công tác......................................................................................45
2.6. Hiện thực Sakai Course Management System (Sakai-CMS) ...............................47
2.6.1 Giới thiệu Sakai CMS............................................................................................47
2.6.2 Một số khái niệm trong Sakai CMS.......................................................................47
2.6.3 Hiện thực Sakai CMS............................................................................................50
2.6.4 Demo..................................................................................................................... 50
2.7. Triển khai một ứng dụng viết thêm cho Sakai.......................................................50
2.7.1 Cài đặt một ứng dụng từ bên ngoài vào Sakai......................................................50
2.7.2 Viết một webapp làm việc như một tool trên Framework của Sakai......................52
2.7.3. Triển khai.............................................................................................................54
Kết luận........................................................................................................................55
DANH MỤC KÍ HIỆU VÀ VIẾT TẮT
API
Application Programming Interface
CSDL
Cơ Sở Dữ Liệu
LMS
Learning Mangement System
Sakai CMS
Sakai Course Management System
URL
Uniform Resource Locator
DANH MỤC HÌNH VẼ
Hình 1: Các nơi nghiên cứu và sử dụng Sakai...........................................................17
Hình 2: Thơng tin các biến mơi trường.......................................................................18
Hình 3: Cài đặt biến mơi trường.................................................................................19
Hình 4: Tạo CSDL và cấp quyền người dùng.............................................................19
Hình 5: Kiểm tra lại CSDL vừa tạo............................................................................20
Hình 6: Trình kết nối JDBC trong CATALINA_HOME\lib.........................................20
Hình 7: Nội dung file local.properties........................................................................21
Hình 8: File Context.xml.............................................................................................21
Hình 9: File Server.xml...............................................................................................22
Hình 10: File setenv.bat..............................................................................................22
Hình 11: Màn hình sau khi cài đặt thành cơng:..........................................................23
Hình 12: Quan hệ giữa các cơng cụ dạy và học.........................................................24
Hình 13: Tạo đề cương...............................................................................................25
Hình 14: Sổ Điểm........................................................................................................26
Hình 15: Sử dụng sổ điểm khi tạo bài tập...................................................................27
Hình 16: Sử dụng sổ điểm khi tạo bài kiểm tra...........................................................28
Hình 17: Tạo bài tập - Thêm đính kèm.......................................................................29
Hình 18: Đính kèm file từ resource cho bài tập..........................................................29
Hình 19: Xem danh sách bài tập.................................................................................30
Hình 20:Sử dụng sổ điểm khi tạo bài tập....................................................................31
Hình 21:Sử dụng sổ điểm khi tạo bài kiểm tra............................................................32
Hình 22:Tạo bài tập - Thêm đính kèm........................................................................34
Hình 23:Đính kèm file từ resource cho bài tập...........................................................35
Hình 24:Xem danh sách bài tập..................................................................................36
Hình 25:Chấm điểm....................................................................................................37
Hình 26:Xem danh sách bài tập theo sinh viên..........................................................38
Hình 27: Xem bài tập dưới góc nhìn của sinh viên.....................................................38
Hình 28: Soạn nội dung câu hỏi:................................................................................41
Hình 29: Phản hồi đáp án cho sinh viên.....................................................................42
Hình 30: Sử dụng Cơng cụ Presentations...................................................................43
Hình 31: Danh sách sự kiện........................................................................................46
Hình 32: Lấy sự kiện từ trang khác............................................................................46
Hình 33: Mơ hình miền Sakai CMS............................................................................48
Hình 34: Mơ hình Simple............................................................................................49
Hình 35: Mơ hình Large Lecture................................................................................49
LỜI CẢM ƠN
Để hoàn thành chuyên đề báo cáo thực tập này trước hết chúng tôi xin gửi lời
cảm ơn chân thành và sự tri ân sâu sắc đối với các thầy cô của trường Học viện Kỹ
thuật mật mã đã tạo điều kiện thuận lợi cho chúng tơi hồn thành đồ án thực tập.
Và chúng tôi cũng xin chân thành cám ơn giảng viên hướng dẫn là PGS.TS
Lương Thế Dũng đã nhiệt tình hướng dẫn chúng tơi hồn thành tốt đồ án thực tập.
Trong quá trình làm bài báo cáo thực tập, do kiến thức cũng như kinh nghiệm
thực tế cịn nhiều hạn chế nên bài báo cáo khơng thể tránh khỏi những thiếu sót,
chúng tơi rất mong nhận được ý kiến đóng góp của thầy, cơ để chúng tôi học hỏi được
nhiều kĩ năng, kinh nghiệm và sẽ hoàn thành tốt hơn bài báo cáo tốt nghiệp sắp tới.
Chúng tơi xin chân thành cảm ơn!
NHĨM SINH VIÊN THỰC HIỆN
LỜI NĨI ĐẦU
Đặt vấn đề: Nhu cầu tìm kiếm thơng tin từ internet ngày càng nhiều. Cổng
thông tin là một trong những nguồn cung cấp thông tin đang được áp dụng rộng rãi
trên toàn thế giới. Khuynh hướng các dịch vụ cùng nhau chia sẽ dữ liệu người dùng
đang là hướng phát triển chung của công nghệ thông tin. Do vậy nhu cầu đăng nhập
một lần cho các dịch vụ này là khơng thể thiếu. Bên cạnh đó, do sức mạnh của
internet được ứng dụng rộng rãi, công tác giáo dục đang dần thốt khỏi sự phụ thuộc
về khơng gian. Hệ thống quản lí đào tạo là một bước ngoặc trong việc hỗ trợ dạy và
học thông qua mạng internet. Trước sự phát triển đó, chúng tơi mong muốn được tìm
hiểu và giới thiệu phần nào về những cơng nghệ trên. Với những gì chúng tơi nghiên
cứu được hy vọng sẽ được đóng góp một phần nhỏ vào cơng tác phát triển khoa.
Mục đích: Tìm hiểu cơng hệ thống quản lí đạo tạo đại học dựa trên mã nguồn
mở.
Đánh giá các vấn đề đã đạt: Dù khơng hồn tất các yêu cầu đề ra, nhưng
những vấn đề đã đạt được thì hồn tồn nằm trong khả năng hiểu biết của nhóm.
Chương trình ứng dụng được trên thực tế và đủ khả năng quản lí.
Vấn đề chưa đạt: Triển khai Single Sign On cho hệ thống lớn Sakai. Chứa ứng
dụng được Sakai cho việc học trực tuyến tại trường.
Hướng phát triển: Kết hợp cổng thông tin khoa và hệ thống học trực tuyến
Sakai, dùng cơ chế Single Sign On cho hệ thống này. Xây dựng module riêng cho
khoa trên hệ thống Sakai.
NHÓM SINH VIÊN THỰC HIỆN
NỘI DUNG BÁO CÁO
Chương 1. GIỚI THIỆU CHUNG VỀ HỆ THỐNG QUẢN LÝ ĐÀO TẠO
ĐẠI HỌC DỰA TRÊN MÃ NGUỒN MỞ
1.1 Giới thiệu chung
Mã nguồn mở là một khái niệm phổ biến trong lĩnh vực thiết kế, lập trình phần
mềm. Chúng có vai trị quan trọng trong việc phát triển công nghệ. Mã nguồn mở
được nhắc đến rất nhiều khi chúng ta tìm hiểu về website hay đối với các lập trình
viên mới vào nghề. Tuy nhiên dù khá phổ biến nhưng nhiều người lại đang hiểu lầm
về bản chất của mã nguồn mở. Vậy mã nguồn mở là gì? Chúng ta có đang hiểu lầm
về mã nguồn mở? Chúng ta sẽ cùng tìm hiểu về những vấn đề sau đây.
1.2.
Mã nguồn là gì
Mã nguồn mở là những phần mềm được cung cấp dưới cả dạng mã và nguồn,
không chỉ là miễn phí về giá mua mà chủ yếu là miễn phí về bản quyền: người dùng
có quyền sửa đổi, cải tiến, phát triển, nâng cấp theo một số nguyên tắc chung qui
định trong giấy phép PMNM (ví dụ General Public Licence – GPL) mà không cần
xin phép ai, điều mà họ không được phép làm đối với các phần mềm nguồn đóng
(tức là phần mềm thương mại).. Nhìn chung, thuật ngữ “Open source” được dùng để
lôi cuốn các nhà kinh doanh, một điều thuận lợi chính là sự miễn phí và cho phép
người dùng có quyền “sở hữu hệ thống”.
Trong lập trình có rất nhiều thuật ngữ có chứ từ “mở” như: hệ điều hành mở,
engine game mở… Từ “Mở” ở đây không liên quan đến kỹ thuật, cấu trúc hay người
ta tạo ra phần mềm đó. Từ “mở” ở đây chỉ có 1 nghĩa liên quan đến pháp lý. Mã
nguồn mở là mã nguồn có thể dùng cho mục đích thương mại mà khơng phải trả tiền
bản quyền, cũng khơng một đơn vị nào có quyền khuyến nại.
Nhà cung cấp mã nguồn mở có quyền yêu cầu người dùng trả một số chi phí
về các dịch vụ bảo hành, huấn luyện, nâng cấp, tư vấn, vv… tức là những dịch vụ
thực sự đã thực hiện để phục vụ người dùng, nhưng không được bán các sản phẩm
nguồn mở vì nó là tài sản của trí tuệ chung, khơng phải là tài sản riêng của một nhà
cung cấp nào.
10
Tiện ích mà Open Source mang lại chính là quyền tự do sử dụng chương trình
cho mọi mục đích, quyền tự do để nghiên cứu cấu trúc của chương trình, chỉnh sữa
phù hợp với nhu cầu, truy cập vào mã nguồn, quyền tự do phân phối lại các phiên
bản cho nhiều người, quyền tự do cải tiến chương trình và phát hành những bản cải
tiến vì mục đích cơng cộng.
Phần lớn mọi người ngồi lập trình viên đều cho rằng, mã nguồn mở và đóng
liên quan đến bảo mật, chức năng của mã nguồn đó. Tuy nhiên, đó là một trong
những hiểu lầm lớn nhất mà bạn từng có.
1.3.
Một số ví dụ
Một số ngơn ngữ lập trình mở như: PHP, Java,… Bên cạnh đó cũng có những
ngơn ngữ “mở một phần” như .NET. Ngôn ngữ này thực ra là nguồn mở nhưng người
sử dụng phải trả tiền một cách gián tiếp thông qua cách mua hệ điều hành Windows,
chứ không dùng được trên hệ điều hành MAC OS.
Bên cạnh một số ngơn ngữ lập trình Engine game mở thì cũng có một số ngơn
ngữ khơng thuộc phần mềm mã nguồn mở như: Unity. Nếu bạn tạo ra 1 game bằng
mã nguồn này, bạn được dùng thoải mái nhưng không được bán chúng. Vì khi bạn
bán chúng. ngay lập tức bản quyền sẽ bị store link report, khiếu nại khiến cho link bị
kéo xuống và bị khai tử game đó. Muốn thương mại hóa bạn phải mua bản quyền sử
dụng từ bên sở hữu ngơn ngữ lập trình.
1.4
Mã nguồn mở liên quan đến cấu trúc, kỹ thuật lập trình
Mã nguồn mở không liên quan đến cấu trúc hay kỹ thuật lập trình. Lấy ví dụ
về kỹ thuật lập trình như sau:
Mã nguồn .NET hoạt động trên nguyên tắc mã hóa tất cả những file code của
người dùng thành một tập lệnh DLL. Tập lệnh DLL này không cho phép bất kỳ phần
mềm nào có thể dịch ngược lại được tập lệnh DLL, khơng ai có thể biết được bạn
viết tệp lệnh đó như thế nào.
Tuy nhiên, việc có mã hóa được hay không không liên quan đến mã nguồn.
Không phải mã nguồn đóng có thể mã hóa code để bảo mật cịn mã nguồn mở sẽ
khơng mã hóa được. Việc mã hóa tập lệnh để bảo mật liên quan đến cấu trúc và
ngun tắc hoạt động của chính phần mềm đó, không liên quan đến mã nguồn.
11
Thực tế, trong ngành lập trình, việc mã hóa code khơng có ý nghĩa q lớn.
Bởi, tất cả các lập trình đều biết cách thực hiện, chẳng qua họ có đủ thời gian, nhân
sự để làm hay không. Như vậy nói mã nguồn mở liên quan đến cấu trúc hay kỹ thuật
là sai hồn tồn
Mã nguồn mở khơng phải là một phần mềm được dùng một số chức năng miễn
phí có sẵn. Chúng khơng giới hạn quyền truy cập, cho phép người dùng download
thoải mái, dùng hết tất cả các chức năng mà khơng phải trả chi phí bản quyền.
1.5
Lợi ích của mã nguồn đối với lập trình
Phần mềm có thể được sao chép hồn tồn miễn phí, bạn hồn tồn an tâm khi
chia sẽ một chương trình tuyệt vời với bạn bè.
Các định dạng file khơng hồn tồn bị kiểm sốt bởi một vài nhà cung cấp.
Điều gì sẽ xảy ra khi dữ liệu nằm trong một phần mềm độc quyền? Việc sử dụng một
định dạng file bí ẩn sẽ khiến bạn chỉ dùng chương trình của một cơng ty. Do yêu cầu
công việc, bạn muốn sử dụng dữ liệu trên cho một ứng dụng khác nhưng ương trình
bản quyền khơng cho phép. Cịn nếu như nhà cung cấp chấm dứt hổ trợ và ngưng
việc nâng cấp sản phẩm, chắc chắn rằng dữ liệu của bạn sẽ phải vứt xó. Với phần
mềm bản quyền, chỉ có duy nhất nhà cung cấp có thể giải quyết vấn đề của bạn.
Nhưng với OpenSource bạn có thể gặp hàng tá nhà cung cấp làm vừa lịng mình.
Hầu hết các sản phẩm Open Source đều có khả năng bảo mật tuyệt vời, khi
một vết nứt được tìm thấy, nó thường được trám nhanh hơn phần mềm có bản quyền.
Các hệ thống Open Source, nhất là các hệ thống dựa trên UNIX, thường linh
hoạt đến khó tin nổi. Bởi vì chúng được xây dựng từ nhiều khối thống nhất và được
miêu tả cặn kẽ, rất dễ để bạn thay thế nhiều phần của hệ thống với phần có giao diện
tương tự.
Có một cộng đồng hỗ trợ lớn. Không bị phụ thuộc vào một công ty nào.
1.6
Ứng dụng của mã nguồn mở hiện nay
Mã nguồn mở không phải tên gọi của một phần mềm. Mã nguồn mở là thuật
ngữ chỉ những phần mềm có khả năng cho người dùng sử dụng miễn phí. Chúng là
một phần không thể thiếu trong việc phát triển công nghệ hiện đại ngày nay. Đây là
12
là cơng cụ kiếm tiền chính của các thương hiệu lớn như Microsoft hay Google, Red
Hat,… Từ phần mềm mã nguồn mở có thể tạo ra các ứng dụng sau đây:
1.6.1 Hệ điều hành Linux
Thông thường, chúng ta chỉ thường nghe đến những cái tên của hệ điều hành
như: Microsoft Windows, MAC OS. Tuy nhiên, đây không phải là hệ điều hành mở.
Bằng chứng đơn giản là khi bạn muốn cài lại Win cho máy tính bạn thường phải trả
chi phí bản quyền. Đơi khi, người dùng sẽ bị giới hạn bởi các nguyên tắc hoạt động
của bản quyền này, gây ra những khó khăn nhất định.
Tuy nhiên, hệ điều hành Linux ra đời năm 1991 đã mang đến cho các lập trình
viên nhiều sự lựa chọn hơn. Linux là một ứng dụng trên nền tảng mã nguồn mở. Điều
này có nghĩa là chúng hồn tồn miễn phí và thoải mái sử dụng chúng trong cả mục
đích thương mại mà khơng chi trả bất kỳ chi phí nào. Tất nhiên, người dùng cũng
được sử dụng miễn phí tồn bộ các tính năng đặc biệt của hệ điều hành Linux. Ví dụ
như sử dụng OpenOffice thay cho ứng dụng Microsoft Office bao gồm các trình ứng
dụng: soạn thảo văn bản (Writer tương tự Word), bảng tính (Calc tương tự Exce),….
1.6.2 Các ngơn ngữ lập trình PHP,Java
Ngơn ngữ lập trình là thành phần khơng thể thiếu trong lĩnh vực lập trình. Sở
dĩ lập trình viên khơng thể chỉ sử dụng duy nhất một ngơn ngữ vì mỗi ngơn ngữ chỉ
cung cấp những tính năng nhất định. Để đa dạng hóa các chức năng địi hỏi các lập
trình viên phải biết sử dụng nhiều ngôn ngữ.
PHP và Java là những ngôn ngữ lập trình hoạt động trên nền tảng nguồn mở.
Chúng đều có đặc điểm là được sử dụng miễn phí, khơng giới hạn chức năng, cấu
trúc đơn giản và thư viện tài liệu tham khảo phong phú, cộng đồng hỗ trợ lớn mạnh.
Đây là lý do khiến cho có đến 85% số trang web trên thế giới được lập trình trên
ngơn ngữ này.
1.6.3 WordPree trong thiết kế website
WordPress là một phần mềm từ mã nguồn mở miễn phí vơ cùng phổ biến với
25% số trang web sử dụng trên thế giới. WordPress cũng được lập trình bằng ngơn
ngữ lập trình mã nguồn mở PHP. Đơi khi, WordPress phổ biến khơng chì vì chúng
miễn phí mà chúng cịn có mục đích chính để quản lý nội dung (CMS) – một trong
13
nững cơng cụ chính tạo ra website. Nhờ được lập trình trên nền tảng mã nguồn mở
nên WordPress mang đầy đủ tính chất của phần mềm mã nguồn mở như: dễ sử dụng,
phục vụ cho đông đảo người dùng phổ thông, chỉnh sửa trực quan, bảo mật tốt và
hoạt động linh hoạt, ổn định… Nếu bạn không phải là lập trình viên chuyên nghiệp
mà muốn tạo dựng một website cho riêng cá nhân/cơng ty mình sử dụng WordPress
là một ý tưởng tuyệt vời. Ngồi việc miễn phí thì chúng cịn là cơng cụ được hỗ trợ
bởi hàng triệu lập trình viên tài giỏi. Điều này giúp bạn có thể tìm ra câu trả lời cho
bất kỳ khúc mắc nào của mình trong q trình lập trình website.
Tuy nhiên, khơng phải vì thế mà WordPress lại chỉ dành cho những người ít
ham hiểu về công nghệ. Thực tế cho thấy chúng được đóng góp bởi rất nhiều nhà lập
trình trên thế giới. Họ đã nghiên cứu và sử dụng WordPress để tạo ra các website nổi
tiếng như: CNN, BBC America, Variety,….
1.6.4 Phần mềm GIMP thay thế Abode Photoshop
Photoshop là một phần mềm sử dụng mã nguồn đóng. Hàng năm, nhà cung
cấp phần mềm Photoshop thu về hàng triệu USD chi phí bản quyền của mình. Nếu
bạn là nhà thiết kế phần mềm, chức hẳn bạn đã từng biết đến ứng dụng GIMP khi
mới vào nghề.
GIMP khơng có q nhiều ưu điểm, không vượt trội hơn hẳn so với Photoshop.
GIMP được sử dụng miễn phí và có chức năng tương tự CS3. Tuy nhiên, phần mềm
này chỉ dành cho người mới bắt đầu khi không muốn tốn tiền mua Photoshop để sử
dụng các chức năng cơ bản. Nếu bạn là một nhà thiết kế cơng nghệ mới vào nghề thì
việc lựa chọn phần mềm GIMP miễn phí để sử dụng là một bước đi đúng đắn.
Trên đây là tồn bộ thơng tin liên quan dến mã nguồn mở. Và 1 lần nữa Mona
xin khẳng định rằng nhận định website khi thiết kế bằng mã nguồn mở dễ bị hack là
1 nhận định hoàn toàn sai trên cơ sở thực tế của lập trình. Hi vọng bài viết mang lại
nhiều thơng tin bổ ích với người đọc.
14
Kết luận chương 1
Các dự án mã nguồn mở rất phổ biến trong cuộc sống hàng ngày. Hệ điều hành
iOS và cả Android trước đây đều được tạo bằng các khối từ phần mềm, dự án
mã nguồn mở.
Không thể có Internet ngày nay nếu khơng có OSS. Những người tiên phong
trong công nghệ đã xây dựng nên thế giới World Wide Web bằng công nghệ
mã nguồn mở, như hệ điều hành Linux và máy chủ web Apache để tạo ra
Internet ngày nay.
Hiện nay Hệ thống quản lý đào tạo được coi là quan trọng nhất của các trường
đại học. Chúng ta cần xây dựng 1 hệ thống quản trị và phát triển 1 website với
đầy đủ chức năng cơ bản sao cho hệ quản trị vận hành ổn định và an tồn. Vì
vậy việc sử dụng phần mềm mã nguồn mở Sakai giúp cho việc quản lý trở nên
thuận tiện hơn
Chương 2 sẽ giúp chúng ta tìm hiểu rõ hơn về phần mềm Sakai cũng như hệ
thống quản lý đạo tạo đại học.
15
Chương 2. PHẦN MỀM SAKAI
2.1. Giới thiệu Sakai project.
Sakai ( là một cộng đồng các viện nghiên cứu, các tổ
chức thương mại và các cá nhân hợp tác với nhau để phát triển một Môi trường
Cộng tác và Học tập chung (Collaboration and Learning Environment - CLE).
Sakai ban đầu được phát triển dựa trên các cơng cụ có sẵn được xây dựng bởi
5 trường đại học Indiana University, Massachusetts Institute of Technology,
Stanford University, University of Michigan, Polytechnic University of Valencia.
Sau phiên bản đầu tiên, họ mời thêm các học viện khác với tư cách là
những người cộng tác (Sakai Partners Program).
Hiện tại việc phát triển Sakai được thực hiện dưới sự cộng tác của nhiều học
viện, trường đại học, các tổ chức thương mại, những cá nhân tình nguyện và tổ
chức Sakai.
Tổ chức Sakai (Sakai Foundation).
Là một thành viên được hơn 100 tổ chức, học viện tài trợ với kinh phí khiêm
tốn cho những hoạt động phi lợi nhuận bao gồm việc quản lý các tài nguyên trí
tuệ của Sakai, bảo trì hệ thống Sakai, phát hành Sakai và là người phát ngơn
của Sakai.
Cộng đồng Sakai (Sakai Community).
Là sự đóng góp của nhiều tổ chức và cá nhân trên thế giới. Cộng đồng Sakai
chịu trách nhiệm về mọi khía cạnh của Sakai CLE. Họ tin rằng việc phát triển mơ
hình từ cộng động sẽ tạo ra sản phẩm tốt nhất.
Các học viện dù lớn hay nhỏ đều có thể hợp tác với các đối tác thương mại
của Sakai, những người cung cấp host và các dịch vụ phát triển, hỗ trợ để ứng
dụng Sakai vào học viện của mình Sakai CLE
Là một phần mềm giáo dục miễn phí, mã nguồn mở được phân phối theo
giấy phép Giáo dục Cộng đồng (Educational Community License - một kiểu của
giấy phép mã nguồn mở). Sakai CLE được dùng để dạy học, để nghiên cứu và
16
để cộng tác nhiều người với nhau. Hệ thống này là một dạng của Hệ quản trị đào
tạo (Learning Management System - LMS).
Vào tháng 7 năm 2007, Sakai là sản phẩm được hơn 150 viện nghiên cứu
tham gia phát triển và được thí điểm ở hơn 100 nơi khác.
Hiện nay, Sakai được áp dụng cho hơn 160 học viện, trường đại học, cao
đẳng… trên tồn thế giới.
Hình 1: Các nơi nghiên cứu và sử dụng Sakai
2.2. Tính năng
Sakai bao gồm nhiều tính năng chung của các Hệ quản trị đào tạo, bao gồm
đưa lên các tài liệu hướng dẫn, sách giáo trình, mục thảo luận, trao đổi trực tuyến, bài
tập lớn, và các bài kiểm tra online.
Thêm vào đó, Sakai cịn cung cấp một bộ cơng cụ làm việc nhóm dùng cho
nghiên cứu và các dự án nhóm. Để hỗ trợ các tính năng này, Sakai đã thêm vào khả
năng thay đổi thiết lập của tất cả mọi công cụ dựa trên vai trò, thay đổi quyền hệ
thống tùy theo người dùng.
Nó cũng tích hợp một wiki, mailing list và lưu trữ, và bộ đọc RSS.
17
2.3. Tiến hành cài đặt
2.3.1 Công cụ chuẩn bị
Git
Apache Maven 3.6.1
Java 1.8 (jdk 1.8.0_171)
Apache Tomcat 9.0.1
MySQL 5.6.39
MySQL JDBC jar
2.3.2 Cài đặt các biến mơi trường
Hình 2: Thơng tin các biến mơi trường
Hình 3: Cài đặt biến mơi trường
18
2.3.3 Cấu hình cơ sở dữ liệu
Tiến hành tạo cơ sở dữ liệu để lưu trữ dữ liệu của Sakai. Tiến hành tạo và cấp
quyền cho người dùng, ở ví dụ này chúng em tạo cơ sở dữ liệu là sakaidatabase,
người dùng là admin, mật khẩu là 123456.
Hình 4: Tạo CSDL và cấp quyền người dùng
Hình 5: Kiểm tra lại CSDL vừa tạo
2.3.4 Cấu hình Tomcat
Sao chép trình kết nối cơ sở dữ liệu JDBC.jar vào thư mục CATALINA_HOME\lib.
19
Hình 6: Trình kết nối JDBC trong CATALINA_HOME\lib
Trong thư mục CATALINA_HOME tạo thư mục sakai, trong thư mục sakai vừa tạo
tiến hành tạo file local.properties với nội dung trong file là
Hình 7: Nội dung file local.properties
Tiến hành sửa đổi CATALINA_HOME / conf / context.xml để cải thiện tốc độ khởi
động. Trong thẻ <Context> tiến hành thêm thẻ <JarScanner>.
20
Hình 8: File Context.xml
Trong file Server.xml của thư mục CATALINA_HOME\conf, tiến hành thêm
URIEncoding = "UTF-8" để Sakai hỗ trợ các kí tự quốc tế
Hình 9: File Server.xml
Tạo tệp setenv.bat thực thi trong thư mục CATALINA_HOME / bin. Tiến hành thêm
JAVA_OPTS vào tệp setenv.bat.
21
Hình 10: File setenv.bat
2.3.5 Biên dịch mã nguồn Sakai
- Vào Git và thực hiện lệnh:
git clone />cd sakai && git checkout 19
- Biên dịch dự án bằng lệnh :
cd master
mvn clean install
- Sau khi nhận được thông báo Build successful thì tiến hành thực hiện biên dịch
và triển khai Sakai bằng lệnh:
cd ..
mvn clean install sakai:deploy -Dmaven.tomcat.home=$CATALINA_HOME
-Djava.net.preferIPv4Stack=true -Dmaven.test.skip=true
- Kết quả nhận được là :Build Success!
22
Hình 11: Màn hình sau khi cài đặt thành cơng:
23
2.4. Bộ công cụ để dạy và học, quản lý điểm số.
Hình 12: Quan hệ giữa các cơng cụ dạy và học
2.4.1. Syllabus – Đề cương bài giảng.
Giáo viên soạn thảo đề cương bài giảng của một khóa học.2.4.1.1 Tạo đề cương.
Hình 13: Tạo đề cương
24
Chọn Syllabus > Create/Edit > Add.
Title: Đặt tên cho đề cương môn học.
Content: Nơi soạn thảo nội dung của đề cương.
Public View: Bất kỳ ai cũng có thể xem được đề cương.
Only for Site: Chỉ cho phép thành viên khóa học được xem đề cương.
Add Attachments: Đính kèm file cho đề cương.
Email Notification: Thông báo mail về đề cương môn học.
Post: Đưa đề cương lên.
Preview: Xem lại đề cương.
Save Draft: Lưu đề cương thành bản nháp để chỉnh sửa sau.
2.4.1.2 Lấy từ đề cương có sẵn trên web.
Chọn Syllabus > Create/Edit > Redirect > Nhập vào đường dẫn đến trang
web.
2.4.2 Gradebook – Sổ điểm.
Giúp giảng viên tính điểm, lưu trữ và thơng báo điểm cho sinh viên.
Tự động tính tốn điểm của khóa học.
Có thể cho xem, nhập mới, chỉnh sửa và công bố đến sinh viên điểm và các lời
phê.
Có thể chuyển điểm vào từ các cơng cụ khác như Test and Quizzes,
Assignment.
Xuất/Nhập điểm và xếp loại ra dạng .csv.
25