Ở Việt Nam, việc nghiên cứu và triển khai các hệ thống Elearning còn khá mớimẻ.Đặc biệt là việc áp dụng hệ thống quản lý học tập LMS trong các tổ chứcđào tạo cũng mới được bắt đầu.. Đối
Trang 1MỤC LỤC
LỜI CẢM ƠN 2
MỞ ĐẦU 4
Chương 1: HỆ THỐNG QUẢN LÝ HỌC TẬP LMS VÀ LMS MOODLE 5
1.1 Tổng quan về Elearning 6
1.1.1 Khái niệm Elearning 6
1.1.2 Tầm quan trọng của Elearning 6
1.1.3 Học tập kết hợp (Blended learning) 7
1.1.4 Kiến trúc hệ thống E_learning 8
1.2 Giới thiệu về LMS 9
1.2.1 Định nghĩa 9
1.2.2 Đặc điểm 10
1.2.3 Chức năng 10
1.2.4 Những lý do để sử dụng LMS 11
1.3 LMS Moodle 12
1.3.1 Giới thiệu Moodle 12
1.3.2 Lý do sử dụng Moodle 13
1.3.3 Đối tượng phục vụ của Moodle 14
1.3.4 Đặc điểm của Moodle 16
1.3.5 So sánh giữa Moodle và các LMS khác 17
1.3.6 Các đặc trưng của Moodle 19
Chương 2: CÀI ĐẶT MOODLE 1.7.1 22
2.1 Yêu cầu hệ thống 23
2.2 Chuẩn bị 23
2.3 Cài đặt 23
2.3.1 Cài đặt các phần mềm yêu cầu 23
2.3.2 Cấu hình cho cài đặt Moodle 25
2.3.3 Cài đặt Moodle sử dụng trình chủ web Apache 26
3.3.4 Cài đặt MoodleCron 31
2.4 Cấu hình hệ thống 32
Chương 3: CẤU TRÚC MOODLE VÀ CÁCH PHÁT TRIỂN 33
3.1 Cấu trúc của site 33
3.2 Thư viện Moodle 34
3.3 Module - cấu trúc và phát triển 35
3.3.1 Cấu trúc Module 35
3.3.2 Phát triển module 46
3.4 Việt hóa Moodle 50
3.5 Tạo Theme cho Moodle 50
Chương 4: QUẢN TRỊ MOODLE 52
4.1 Đăng nhập hệ thống 52
4.2 Cấu hình hệ thống 54
4.2.1 Location - Định vị 54
4.2.2 Language – Ngôn ngữ 55
4.2.3 Appearance - Giao diện 55
4.2.4 Modules – Các mô đun 55
Trang 24.3 Quản lý người dùng 59
4.3.1 Authentication -Chứng thực 59
4.3.3 Permissions - Phân quyền sử dụng 60
4.4 Xây dựng khoá học trong Moodle 62
4.4.1 Add/edit courses – Thêm/ soạn thảo khoá học 62
4.4.2 Điều hành khoá học 64
Chương 5: 68
ỨNG DỤNG MOODLE VÀO PHÁT TRIỂN WEBSITE “ELEARNING KHOA CÔNG NGHỆ THÔNG TIN ĐẠI HỌC THÁI NGUYÊN” 68
5.1 Giới thiệu chung 68
5.2 Tạo giao diện 68
5.3 Các thiết lập mới cho Site 71
5.4 Xây dựng khoá học 74
5.4.1 Mẫu khoá học 75
5.4.2 Cách xây dựng 77
5.4.3 Phân nhóm người dùng 90
KẾT LUẬN 91
TÀI LIỆU THAM KHẢO 92
LỜI CẢM ƠN
Trang 3Ở Việt Nam, việc nghiên cứu và triển khai các hệ thống Elearning còn khá mới
mẻ.Đặc biệt là việc áp dụng hệ thống quản lý học tập (LMS) trong các tổ chứcđào tạo cũng mới được bắt đầu Vì vậy trong quá trình thực hiện đồ án, em gặpkhông ít khó khăn về tài liệu tham khảo cũng như việc triển khai hệ thống thực
tế Tuy nhiên nhờ sự tận tình giúp đỡ của thầy Nguyễn Văn Tới - giảng viên
Khoa Công nghệ Thông tin em đã hoàn thành tốt đề tài
Em xin tỏ lòng biết ơn đến thầy Nguyễn Văn Tới người đã hết lòng chỉ bảo giúp đỡ
em hoàn thành đề tài
Em xin gửi lời cảm ơn các thầy cô Khoa Công nghệ Thông tin Trường Đại họcThái Nguyên những người đã giảng dạy chỉ bảo chúng em hơn bốn năm học qua Con xin chân thành cảm ơn ba mẹ, các anh chị và những người thân trong gia đình đãnuôi dạy và động viên con, tạo mọi điều kiến tốt cho con học tập
Và cuối cùng, tôi xin cảm ơn tất cả bạn bè tôi, những người đã sát cánh cùng vuinhững niềm vui, cùng chia sẻ những khó khăn của tôi
Thái Nguyên, ngày 10 tháng 03 năm 2007
Sinh Viên
Nguyễn Thị Linh
Trang 4MỞ ĐẦU
1 Đặt vấn đề
Trong thập niên vừa qua, công nghệ thông tin đã dần xâm nhập vào tất cả các ngànhnghề khác, trong đó có giáo dục Việc áp dụng công nghệ thông tin và truyền thôngvào giáo dục được gọi là Elearning
Elearning chính là chất xúc tác đang làm thay đổi toàn bộ mô hình học tập trong thế
kỷ này cho học sinh, sinh viên, viên chức và cho nhiều loại đối tượng tiềm năng khác như bác sĩ, y tá và giáo viên - thực tế là cho bất cứ ai mong muốn được học tập
dù dưới hình thức chính thống hay không chính thống Giáo dục điện tử giúp người học không còn phải đi những quãng đường dài để theo học một khóa học dạng truyền thống, người học hoàn toàn có thể học tập bất cứ khi nào họ muốn, ban ngày hay ban đêm, tại bất cứ đâu Với rất nhiều sinh viên, nó đã mở ra một thế giới họctập mới, dễ dàng và linh hoạt hơn, mà trước đó họ không hy vọng tới
Một thành phần hết sức quan trọng và không thể thiếu đối với một hệ thốngElearning đó là hệ thống quản lý học tập hay còn gọi là LMS (LearningManagement System ) LMS giúp hệ thống Elearning quản lý khoá học và các
tương tác giữa người học với khoá học được dễ dàng và hiệu quả Vì vậy, tôithực hiện đề tài “LMS cho hệ thống Elearning của Khoa Công nghệ Thông tin” màtrọng tâm là LMS Moodle Nhằm áp dụng Moodle vào trong giảng dạy tại KhoaCông nghệ Thông tin nói riêng và các trường ở Việt Nam nói chung, đồng thờicùng cộng đồng phát triển của Moodle ngày càng hoàn thiện và nâng cao khả năngcho hệ thống này
Trong lần thực tập tốt nghiệp, tôi đã thực hiện đề tài “Tìm hiểu về Elearning vàcác chuẩn” Vì vậy trong đề tài này tôi chỉ đề cập tới vấn đề tổng quan vềElearning Phần còn lại của đồ án sẽ tìm hiểu về một LMS thông dụng đó làMoodle
2 Ý nghĩa khoa học và thực tiễn
Về mặt khoa học: Đồ án giới thiệu chung LMS, tìm hiểu về LMS Moodle và
Trang 5Về mặt thực tiễn : Áp dụng lý thuyết đã tìm hiểu em sẽ phát triển hệ thốngMoodle thành Website “Elearning Khoa Công nghệ Thông tin Đại học TháiNguyên” phục vụ cho quá trình đào tạo của Khoa cũng như học tập cho các sinhviên Đồng thời thông qua phần lý thuyết về Moodle em mong muốn Moodle sẽngày được phát triển và đem áp dụng vào giảng dạy tại các trường học ở Việt Namcũng như ở các nước khác trên thế giới
3 Mục đích tìm hiểu
Đồ án tìm hiểu sâu hơn hệ thống quản lý khóa học mã nguồn mở Moodle góp phầnxây dựng hệ thống học tập trực tuyến cho Khoa Công nghệ Thông tin và các trườngtại Việt Nam
4 Đối tượng và phạm vi tìm hiểu
Đối tượng: đối tượng tìm hiểu chính của đồ án là các thành phần của Moodle,
tìm hiểu chức năng các module hiện có và phát triển một khoá học mẫu dựa trênnhững cái đã có để giúp nhà sư phạm có thể tạo ra một khóa học nhanh chóng nhất để
sử dụng trên Moodle
Phạm vi tìm hiểu:
Đề tài được trình bày thành 6 chương :
Chương 1: Trình bày lý thuyết chung về Elearning, khái niệm chung về hệ thống
quản lý học tập (LMS) và giới thiệu LMS Moodle
Chương 2: Trình bày cách cài đặt (webserver, hệ cơ sở dữ liệu mysql, php) để có
triển khai hệ thống Moodle một cách thuận lợi
Chương 3: Trình bày cấu trúc site của Moodle, cấu trúc và cách phát triển một
module mới, tạo theme, việt hóa Moodle
Chương 4: Sử dụng Moodle, chủ yếu là vai trò Admin Qua đó giới thiệu được một số
chức năng của Moodle và của các mô đun
Chương 5: Xây dựng LMS cho hệ thống Elearning của Khoa Công nghệ Thông tin
bằng cách phát triển Moodle thành Website “Elearning Khoa Công nghệ Thông tinĐại học Thái Nguyên”
Chương 1: HỆ THỐNG QUẢN LÝ HỌC TẬP LMS VÀ LMS
MOODLE
Trang 6Trước khi tìm hiểu về LMS, ta tìm hiểu chung về Elearning Để từ đó xác định được
vị trí của một LMS đối với một hệ thống Elearning Tiếp theo sẽ tìm hiểu khái niệmchung về hệ thống quản lý học tập (LMS) và giới thiệu về LMS Moodle
1.1 Tổng quan về Elearning
1.1.1 Khái niệm Elearning
Elearning được giới thiệu năm 2000 và có rất nhiều khái niệm khác nhau vềElearning, có thể tóm lại như sau :
ELearning là một thuật ngữ dùng để mô tả việc học tập, đào tạodựa trên công nghệ thông tin và truyền thông
Các định nghĩa Elearning đều có những điểm chung sau :
Dựa trên công nghệ thông tin và truyền thông Cụ thể hơn là công
kĩ thuật đồ họa, kĩ thuật mô phỏng, công nghệ tính toán…
Về một phương diện nào đó thì hiệu quả của Elearning cao hơn so vớicách học truyền thống do Elearning có tính tương tác cao dựa trênmultimedia, tạo điều kiện cho người học trao đổi thông tin dễ dàng hơn, cũngnhư đưa ra nội dung học tập phù hợp với khả năng và sở thích của từng người
Elearning sẽ trở thành xu thế tất yếu trong nền kinh tế tri thức.Hiện nay, Elearning đang thu hút được sự quan tâm đặc biệt của các nướctrên thế giới bằng chứng là có rất nhiều tổ chức, công ty hoạt độngtrong lĩnh vực Elearning ra đời
1.1.2 Tầm quan trọng của Elearning
Elearning chính là chất xúc tác đang làm thay đổi toàn bộ mô hình họctập trong thế kỉ này Mọi người không phân biệt tuổi tác, không phụthuộc vào khoảng cách địa lý đều có thể tham gia học tập
Giáo dục điện tử khiến cho việc học tập dạng thụ động như trước đây được giảmbớt Người học không cần phải tập trung trong các lớp học với kiểu học “đọc vàghi” thông thường, giúp cho việc học tập trở nên rất chủ động Điều cốt
Trang 7xem các bài giảng động bằng flash vừa có thể thực hành theo ngay trên máy Giáodục điện tử có thể hỗ trợ “học tập thông qua nhận xét và thảo luận” dựatrên cộng đồng trực tuyến
Elearning giúp việc học tập trở nên thú vị hơn, hấp dẫn hơn vàthuyết phục hơn Các môn học khó hoặc nhàm chán có thể trở nên dễ dànghơn, thú vị hơn với giáo dục điện tử Ví dụ các giờ học lịch sử thường làm chochúng ta chán ngấy, nhưng nếu vừa học lại vừa được xem các đoạn phim tư liệuthì có lẽ sẽ thích thú hơn nhiều, đồng thời sẽ giúp người học nhanh tiếp thu hơn Elearning cho phép người học tự quản lí được tiến trình học tập củamình theo cách phù hợp nhất Chúng ta có nhiều cách học khác nhau nhưđọc, xem, khám phá, tìm hiểu, tương tác, thực hành, giao tiếp, thảo luận, chia sẻ kiếnthức Giáo dục điện tử đồng nghĩa với việc người học có thể truy cập tới rất nhiềunguồn tài nguyên phục vụ cho học tập: cả tư liệu và con người và theo cách nàymỗi người đều có quyền chọn lựa hình thức học tập phù hợp nhất với khả năng vàđiều kiện của mình
Elearning giúp cho việc học tập vẫn có thể tiến hành được đồng thờitrong khi làm việc, khi mà các doanh nghiệp đã bắt đầu nhận thấy học tậpkhông chỉ có thể diễn ra lớp học
1.1.3 Học tập kết hợp (Blended learning)
Mặc dù Elearning rất hiệu quả, nhưng không thể thay thế hoàn toàn cách học truyền thống được Mỗi phương pháp đều chứa đựng trong đó những ưu và nhược điểm
Sử dụng Elearning thì mọi rào cản về tâm lý, giao tiếp của cả người dạy và người học đều bị xóa bỏ, việc trao đổi người học - người dạy luôn được diễn ra đồng
thời hoặc không đồng thời Cả người dạy lẫn người học đều có cơ hội “lật đi, xới lại” vấn đề mà không bị ràng buộc bởi thời gian, không gian, đối tượng Các kỹ năng giao tiếp, làm việc hợp tác, tự điều chỉnh để thích ứng của người học sẽ được hoàn thiện không ngừng Sự tương tác giữa người dạy và người học vẫn được
Trang 8duy trì thông qua các diễn đàn (forum), hội thoại trực tuyến (chatting), thư từ mail), hội nghị truyền hình (video conferencing) Tuy nhiên sự giao tiếp cần thiết giữa người dạy và người học bị phá vỡ và kém hiệu quả hơn cách thức giảng dạy truyền thống
(e-Cần kết hợp cả hai phương pháp này để có thể tận dụng các ưu điểm của cả hai đem lại hiệu quả giảng dạy cao nhất Nhà sư phạm sẽ chuyển tải toàn bộ nội dung học lên môi trường trực tuyến và dành đa số thời gian của khóa học cho việc trao đổi, thảo luận, đặt vấn đề, và giải quyết vấn đề Rất nhiều nhà sư phạm đã nhận thấy rằng họ có thể tiết kiệm thời gian và tăng khả năng của người học bằng cách cho phép người học làm việc với các tài liệu ngoài lớp Điều này cho phép sử dụng thời gian tại lớp chỉ để giải quyết các thắc mắc, rắc rối trong quá trình tìm hiểu
Trang 9 Hệ thống Elearning sẽ được tích hợp vào portal của trường học hoặc doanhnghiệp Như vậy hệ thống Elearning sẽ phải tương tác tốt với các hệ thốngkhác trong trường học như hệ thống quản lý sinh viên, hệ thống quản lý giáoviên, lịch giảng dạy…
Một thành phần rất quan trọng của hệ thống chính là hệ thống quản lý học tậpLMS (Learning Management System), gồm nhiều module khác nhau, giúp choquá trình học tập trên mạng được thuận tiện và dễ dàng phát huy hết các điểmmạnh của mạng Internet ví dụ như: diễn đàn để trao đổi ý kiến giữa các thànhviên của một lớp, module khảo sát lấy ý kiến của mọi người về một vấn đề nào
đó, module kiểm tra và đánh giá, module chat trực tuyến…
Một phần nữa rất quan trọng là các công cụ tạo nội dung Hiện nay, chúng ta
có 2 cách tạo nội dung là trực tuyến (online) và offline (ngoại tuyến) Những
hệ thống như hệ thống quản trị nội dung học tập (LCMS – Learning ContentManagement System) cho phép tạo và quản lý nội dung trực tuyến Các công
cụ soạn bài giảng (authoring tools) giáo viên có thể cài đặt ngay trên máy tính
cá nhân của mình và soạn bài giảng
Với các trường và cơ sở có quy mô lớn cần phải quản lý kho bài giảng lớn vàmuốn chia sẻ cho các trường khác thì phải nghĩ đến giải pháp kho chứa bàigiảng Kho chứa bài giảng này cho phép lưu trữ, quản lý thông tin về các bàigiảng Đôi khi các LCMS cũng đủ mạnh để thực hiện việc quản lý này hoặccũng có các sản phẩm chuyên biệt cho nhiệm vụ này
Các chuẩn/đặc tả là một thành phần kết nối tất cả các thành phần của hệ thốngElearning LMS, LCMS, công cụ soạn bài giảng, và kho chứa bài giảng sẽ hiểunhau và tương tác được với nhau thông qua các chuẩn/đặc tả Chuẩn và đặc tảElearning cũng đang phát triển rất nhanh tạo điều kiện cho các công ty và tổ chứctạo ra ngày càng nhiều sản phẩm Elearning và người dùng có rất nhiều sự lựa chọn
1.2 Giới thiệu về LMS
1.2.1 Định nghĩa
Learning Management System (LMS) là phần mềm quản lý, theodõi và tạo các báo cáo dựa trên tương tác giữa người học với nội dung và giữangười học với giảng viên
Trang 10LMS là thành phần thuộc bộ phận công nghệ trong hệ thống Elearning LMS làphần mềm tự động hóa việc quản lý đào tạo.
LMS quản lý việc đăng ký khóa học của học viên, tham gia các chương trình có sựhướng dẫn của giảng viên, tham dự các hoạt động đa dạng mang tính tương tác trênmáy tính và thực hiện các bảng đánh giá Hơn thế nữa, LMS cũng giúp các nhàquản lý và giảng viên thực hiện các công việc kiểm tra, giám sát, thu nhận kết quảhọc tập, báo cáo của học viên và nâng cao hiệu quả việc giảng dạy
LMS quản lý các tài nguyên trong các CSDL nội dung học tập cho những ngườiphân phát việc đào tạo đa phương tiện qua các mạng địa phương, mạng rộng vàmạng Internet
Tóm lại, hiểu theo một cách đơn giản thì LMS có nhiệm vụ quản lý các cơ sở dữliệu như CSDL nội dung khóa học, CSDL học viên, CSDL theo dõi tiến trình học 1.2.2 Đặc điểm
Hệ LMS có hai đặc điểm chính là các thông tin về học viên và khóa học, bao gồm:
Quản lý học viên: bao gồm việc ghi lại những thông tin chi tiết về học viên như
họ tên, nghề nghiệp, địa chỉ liên lạc, và cung cấp tên truy cập và mật khẩu
Quản lý theo dõi các khóa học, quản lý nội dung các khóa học, ghi nhận lại cácthông tin chi tiết về khóa học như:
- Mục tiêu, kết quả sẽ đạt được sau khi kết thúc bài học
- Các điều kiện, kiến thức yêu cầu cần chuẩn bị trước khi tham gia khóa học
- Chú ý đến thời gian học, thời lượng tối thiểu cần thiết để hoàn thành khóa học
Theo dõi tiến trình học của học viên: ghi nhận lại các lần truy cập vào các khóahọc, ghi nhận các đánh giá thông qua các câu trả lời của học viên trên các bàikiểm tra tự đánh giá, hay trên các bài tập, bài thi cuối khóa Các kết quả kiểmtra này cho biết học viên đó có hoàn thành khóa học đó hay không
Lập báo cáo: việc lập một bản báo cáo tốt là cần thiết và người sử dụng thườngxuyên được cung cấp tính linh hoạt trong các dữ liệu được rút ra
1.2.3 Chức năng
Trang 11Dựa vào các đặc điểm trên, ta có thể đưa ra danh sách các chức năng chính củaLMS như sau:
Quản lý quá trình đăng ký học viên, truy nhập và tiến trình học
Quản lý khóa học và lịch học, điều khiển bảng phân công học viên, điều khiểnbảng liệt kê khóa học, cập nhật các khóa đào tạo mới, kèm theo nội dung họctập của các khóa học này
Quản lý giáo viên
Quản lý hoạt động kiểm tra
Lập các báo cáo về hệ thống, tình hình học và học viên
Tổ chức và quản lý các hoạt động cộng tác: hoạt động cộng tác được phân loạitheo công nghệ sử dụng: đồng bộ hay không đồng bộ LMS tổ chức, đảm bảoduy trì và quản lý các hoạt động này
1.2.4 Những lý do để sử dụng LMS
Nhu cầu của người học
Người học ngày càng hiểu biết hơn về công nghệ và họ muốn có nhiều tư liệu trongkhóa học từ web Một khi trực tuyến họ có thể truy cập các thông tin mới nhất bất
cứ lúc nào và có thể sao chép tài liệu nếu cần Nhờ sự lớn mạnh của các công cụgiao tiếp trên Internet, giao tiếp trực tuyến là khả năng giao tiếp thứ hai của nhiềungười học
Thời khóa biểu của người học
Nhờ sử dụng LMS, người học có thể giao tiếp với các nhà sư phạm và người học khác bất cứ khi nào thời gian biểu của họ cho phép Người học cũng có thể làm các bài kiểm tra và đọc các tài liệu trong khóa học vào bất cứ lúc nào Người học cần sự linh hoạt trong truy cập và LMS chính là cách tốt nhất cung cấp cho họ cái họ mong muốn
Các khóa học tốt hơn
Nếu được sử dụng tốt LMS có thể làm cho lớp học hiệu quả hơn nhiều Bằng cáchchuyển tải một số phần của khóa học trực tuyến, nhà sư phạm có thể tận dụng thờigian gặp mặt ở lớp để trả lời, giải đáp các vướng mắc trong quá trình tìm hiểu củangười học Đồng thời người học cũng có thể trao đổi, thảo luận, nêu ý kiến một
Trang 12cách trực tuyến không phải ngại ngùng như là phải phát biểu trước lớp
1.3 LMS Moodle
1.3.1 Giới thiệu Moodle
Moodle là một hệ thống quản lý học tập (Learning Management System - LMS hoặc
người ta còn gọi là Course Management System hoặc VLE - Virtual LearningEnvironment) mã nguồn mở (do đó miễn phí và có thể chỉnh sửa được mã nguồn),cho phép tạo các khóa học trên mạng Internet hay các website học tập trực tuyến Moodle (viết tắt của Modular Object-Oriented Dynamic Learning Environment)
được sáng lập năm 1999 bởi Martin Dougiamas, người tiếp tục điều hành và phát
triển chính của dự án Do không hài lòng với hệ thống LMS/LCMS thương mạiWebCT trong trường học Curtin của Úc, Martin đã quyết tâm xây dựng một hệthống LMS mã nguồn mở hướng tới giáo dục và người dùng hơn Từ đó đến nayMoodle có sự phát triển vượt bậc và thu hút được sự quan tâm của hầu hết các quốcgia trên thế giới và ngay cả những công ty bán LMS/LCMS thương mại lớn nhấtnhư BlackCT (BlackBoard + WebCT) cũng có các chiến lược riêng để cạnh tranhvới Moodle
Moodle nổi bật là thiết kế hướng giáo dục, dành cho những người làm trong lĩnhvực giáo dục Moodle rất dễ dùng với giao diện trực quan, giáo viên chỉ mất mộtthời gian ngắn để làm quen và có thể sử dụng thành thạo Giáo viên có thể tự cài vànâng cấp Moodle Moodle phù hợp với nhiều cấp học và hình thức đào tạo: phổthông, đại học, cao đẳng, không chính quy, trong các tổ chức, các công ty
Do thiết kế dựa trên module nên Moodle cho phép bạn chỉnh sửa giao diện bằngcách dùng các theme có trước hoặc tạo thêm một theme mới cho riêng mình
Moodle rất đáng tin cậy, có trên 10.000 site (thống kê tại Moodle.org) trên thế giới,
đã dùng Moodle tại 160 quốc gia và đã được dịch ra 75 ngôn ngữ khác nhau Cótrên 100 nghìn người đã đăng kí tham gia cộng đồng Moodle (Moodle.org) và sẵnsàng giúp bạn giải quyết khó khăn
Trang 13Moodle phát triển dựa trên PHP (Ngôn ngữ được dùng bởi các công ty Web lớn nhưYahoo, Flickr, Baidu, Digg, CNET) Có thể mở rộng từ một lớp học nhỏ đến các
trường đại học lớn trên 50.000 sinh viên (ví dụ đại học Open PolyTechnique của
Newzealand hoặc sắp tới đây là đại học mở Anh - Open University of UK trường
đại học cung cấp đào tạo từ xa lớn nhất châu Âu ) Bạn có thể dùng Moodle với
các database mã nguồn mở như MySQL hoặc PostgreSQL
Cộng đồng Moodle Việt Nam được thành lập tháng 3 năm 2005 với mục đích xâydựng phiên bản tiếng Việt và hỗ trợ các trường triển khai Moodle Từ đó đến nay,nhiều trường đại học, tổ chức và cá nhân ở Việt Nam đã dùng Moodle Có thể nóiMoodle là một trong các LMS thông dụng nhất tại Việt Nam Cộng đồng MoodleViệt Nam giúp bạn giải quyết các khó khăn về cài đặt, cách dùng các tính năng,cũng như cách chỉnh sửa và phát triển Nhớ rằng cộng đồng Moodle Việt Nam đượcxây dựng bằng chính Moodle
Một câu hỏi đặt ra là Moodle trị giá bao nhiêu? Một thống kê thú vị tạihttp://www.ohloh.net/projects/25 kết luận Moodle đáng giá 20 triệu USD nếu bạnphải xây dựng một hệ thống tương tự như thế từ đầu
Tùy biến được: Moodle có thể tùy biến và cấu hình mềm dẻo một cách đángngạc nhiên Mã mở được đưa ra công khai do đó bạn có thể tùy biến hệ thống
Trang 14để phù hợp với các yêu cầu đào tạo và thuê lập trình viên làm chuyện đó thaycho bạn
Hỗ trợ: các mức độ hỗ trợ cho một phần mềm mã nguồn mở tốt thật đáng kinhngạc Có cộng đồng sử dụng lớn, nhân viên có trình độ công nghệ thông tin cósẵn và nhiều công ty bên ngoài Tất cả sẽ hỗ trợ tốt cho các lựa chọn của bạn
Chất lượng: đôi khi phần mềm mã nguồn mở, như trong trường hợp của Moodlebằng hoặc tốt hơn Blackboard/WebCT trong các khía cạnh Bởi cộng đồng cácnhà giáo dục, chuyên gia máy tính và các chuyên gia thiết kế giảng dạy chính lànhững người phát triển Moodle và kết quả là bạn có trong tay một sản phẩmđáp ứng tốt các yêu cầu người dùng Ví dụ: Moodle có các tính năng hướng tớigiáo dục vì chúng được xây dựng bởi những người làm trong lĩnh vực giáo dục
Moodle được hỗ trợ tích cực bởi những người làm trong lĩnh vực giáo dục Họ
là những người có trình độ công nghệ thông tin tốt và có kinh nghiệm tronggiảng dạy Họ chính là những người dùng LMS và có thể hỗ trợ bạn
Ảnh hưởng trên toàn thế giới: bởi vì Moodle có một cộng đồng lớn như vậy,phần mềm được dịch ra 75 ngôn ngữ và được sử dụng tại 160 nước khác nhau.Bạn rất ít khi tìm được một phần mềm đóng thông dụng được dịch ra hơn 10ngôn ngữ khác nhau
Cơ hội cho các sinh viên tham gia dự án Sinh viên có thể xây dưng module choLMS Moodle và chia sẻ nó cho cộng đồng toàn cầu Nếu module đủ tốt, nó sẽđược tích hợp vào phiên bản mới Moodle Bởi vì Moodle thiết kế dựa trênmodule, xây dựng module mới cho Moodle khá đơn giản nếu bạn biết PHP
Với mô hình mở như Moodle, cho phép bạn trao đổi trực tiếp với chính nhữngngười phát triển phần mềm, góp ý kiến và yêu cầu chỉnh sửa Nếu muốn bạn cóthể nghe cuộc phỏng vấn về tương lai của Moodle với Martin Dougiamous -người sáng lập Moodle và hiện tại vẫn đang là người điều hành chính Moodl tạihttp://technosavvy.org/?p=329
1.3.3 Đối tượng phục vụ của Moodle
Moodle được sử dụng trong: các trường phổ thông, cao đằng, đại học, các đại lý củachính phủ, doanh nghiệp, các tổ chức kinh doanh, các bệnh viện, các thư viện, các
Trang 15nhà lãnh đạo, các giáo vụ, quản trị hệ thống), người dạy (các giáo viên, nhữngngười chỉ dẫn), người học (sinh viên, cán bộ, công nhân…).
Người quản lý có thể làm:
- Tạo lập một khoá học bất kỳ
- Kết nạp thành viên của một khoá học
- Theo dõi tiến trình của người học
- Thiết lập các chế độ giao diện của khoá học
- Theo dõi lịch sử làm việc của người học
- Phân công giáo viên phụ trách khoá học
- Có thể sao lưu, phục hồi khoá học
Người dạy có thể làm:
- Cung cấp tài nguyên cho người học
- Cung cấp nội dung học tới người học (các file, văn bản text, gói dạng Scorm)
- Gửi một thông báo mới tới một nhóm hoặc tất cả học viên
- Tạo một diễn đàn trao đổi thảo luận
- Trả lời các câu hỏi của học viên thông qua diễn đàn hoặc nhắn tin nội bộ
- Tạo một bài học mới: có tình logic và liên kết bài học sau
- Tạo một bài tập lớn
- Tạo bài điều tra
- Tạo một bài thi trắc nghiệm: các loại câu hỏi (đúng sai, trả lời ngắn, nhiều chọn 1,nhiều chọn nhiều, tiểu luận…)
- Giám sát tình hình hoạt động của học viên trong khoá học
- Báo cáo kết quả thi của học viên
Người học có thể làm:
- Đăng ký tham gia khoá học bất kỳ
- Tham gia các hoạt động giảng dạy của giáo viên
- Tham gia hỏi đáp trên diễn đàn
- Tham gia thi cuối khoá
- Xem kết quả học tập của mình
- Gửi thắc mắc tới giáo viên hoặc bạn học khác
- Xem các thông báo của khoá học
Trang 161.3.4 Đặc điểm của Moodle
Moodle là một hệ thống quản lý khóa học mã nguồn mở, được sử dụng bởi nhiều tổchức giáo dục trên thế giới để chuyển giao những khóa học trực tuyến, bổ sungthêm vào những khóa học truyền thống
Moodle ngày càng được nhiều đơn vị đào tạo sử dụng vì được xây dựng, hỗ trợ vàphát triển bởi một cộng đồng khổng lồ Moodle hoàn toàn có thể cạnh tranh với bất
cứ hệ thống thương mại nào nhờ vào tập hợp các tính năng sẵn có và khả năng dễdàng mở rộng
Miễn phí và nguồn mở
Người dùng có thể can thiệp vào phần source của Moodle, xem cách thức nó hoạtđộng, cũng như thay đổi chỉnh sửa để làm ra Moodle của riêng mình, nhưng dĩnhiên là phải chấp hành đúng luật bản quyền về mã nguồn mở của GNU Cũng chính vì mã nguồn mở, mà Moodle thường xuyên được cung cấp thêm nhữngtính năng mới, sửa lỗi, cải thiện bởi cộng đồng hỗ trợ Tập hợp tất cả các ý kiến, ưuđiểm nổi trội của cộng đồng để tích hợp vào Moodle
Người dùng Moodle có thể tải Moodle bất cứ khi nào và cài trên bao nhiêu Servertùy thích không phải lo ngại gì về chi phí bảo trì hay nâng cấp, không lo lắng về phíbản quyền Đồng thời thường xuyên được cập nhật, sửa lỗi từ cộng đồng phát triển Triết lý giáo dục
Nếu như các nhà thương mại lấy việc tạo ra các công cụ phục vụ cho giảng dạy làmtrung tâm để tạo ra LMS thì Matin (tác giả của Moodle) lấy “giáo dục học” làm cơ
sở để phát triển Moodle Ông xây dựng Moodle từ con mắt của nhà sư phạm chứkhông phải là từ con mắt của các kỹ thuật viên tin học
Martin cho rằng việc học của con người đạt được kết quả cao nhất khi được đặt vàotrong xã hội, tức là mọi người cùng học, cùng trao đổi để đưa ra vấn đề Chỉ khiđược đặt vào xã hội, tiếp xúc với thực tiễn thì mới nảy sinh vấn đề và đòi hỏi chúng
ta phải giải quyết Trong quá trình tìm cách giải quyết kiến thức của con người tựđộng phát triển
Trang 17khác cung cấp một danh sách các công cụ, thì Moodle tạo ra giao diện đặt việc dạy
và học làm trung tâm Nhà sư phạm có thể tổ chức các khóa học theo tuần, theo chủ
đề hoặc theo sắp đặt mang tính xã hội Ngoài ra, trong khi các LMS khác hỗ trợ môhình nội dung khuyến khích các nhà trợ giảng chỉ nên tải lên các nội dung tĩnh, thìMoodle tập trung tạo ra các công cụ hỗ trợ cho thảo luận và chia sẽ kiến thức Như vậy mục tiêu của Moodle là chia sẽ ý tưởng và cùng tham gia xây dựng nên kiến thức
Triết lý của Moodle làm cho Moodle trở thành gói phần mềm phát triển theo địnhhướng giáo dục đầu tiên và đang thực sự trở thành công cụ thực sự hữu ích cho giáodục
Thích ứng
Tương thích với nhiều công cụ tạo bài giảng, bài kiểm tra: Reload Editor, Lectora,eXe, Authorware, Hot potatoes…tạo ra các gói nội dung phù hợp với các chuẩnSCORM, AICC mà Moodle hỗ trợ Tạo điều kiện thuận lợi trong việc chia sẻ cácgói nội dung giữa các tổ chức, nâng cao hiệu quả của việc sử dụng lại Ngoài raMoodle còn có thể trao đổi với các hệ thống LMS khác như: WebCT, Blackboard…Cộng đồng
Số lượng người dùng Moodle ngày càng nhiều vì vậy có thể trợ giúp chúng ta khi
sử dụng và phát triển Mọi người có thể tham gia trở thành một thành viên củacộng đồng Moodle tại Website www.Moodle.org, tại đây mọi thắc mắc của mỗithành viên đều được đưa ra thảo luận và giải quyết
Cộng đồng Moodle đóng vai trò quan trọng đối với thành công của Moodle, chínhcộng đồng làm cho Moodle ngày càng hoàn thiện và phục vụ tốt cho giáo dục
1.3.5 So sánh giữa Moodle và các LMS khác
LMS được bắt đầu từ những năm 90 và ngày càng hoàn thiện và phát triển Côngnghệ ngày càng phát triển mạnh mẽ, các chuyên gia lập trình đang viết những ứngdụng Web tốt nhất Trong quá khứ, hầu hết các hệ thống được xây dựng là những
dự án mang tính cá nhân, cục bộ và sau đó trở thành các sản phẩm thương mại.Hai gói mang tính thương mại WebCT và Blackboard đều bắt đầu là những dự án
Trang 18nhỏ và hiện đang dẫn đầu trong thị trường Elearning Hiện hai ông trùm trong lĩnhvực này đã xác nhập thành một, tuy dẫn đầu về thị trường nhưng phần mềm của
họ chưa hẵn là tốt nhất và đáng tin cậy nhất
LMS Moodle được xây dựng theo định hướng giáo dục, từ cái nhìn của nhà giáodục nên dù ra đời sau một số hệ thống khác nhưng Moodle đã có những tính năng
mà các hệ thống khác không có Sau đây là bảng so sánh tính năng của Moodle vớicác hệ thống thương mại khác:
Bảng 1.1: So sánh Moodle với các hệ thống khác
d
Grade discussions / participation N Y Y
Trang 19của nhiều tổ chức giảng dạy trên toàn thế giới và đang được áp dụng rộng rãi
1.3.6 Các đặc trưng của Moodle
Moodle là một công trình nghiên cứu năng động và đang được tiến triển khả quan.Phần này liệt kê một số đặc trưng chính mà nó có:
• Đơn giản, mềm dẻo, hiệu quả, tương thích, giao diện dễ dùng
• Dễ cài đặt trên bất cứ nền nào có hỗ trợ PHP Chỉ yêu cầu cài đặt một hệ cơ
sở dữ liệu
• Hỗ trợ tất cả các kiểu cơ sở dữ liệu
• Danh sách các khoá học được hiển thị chi tiết trên server, bao gồm khả năngcho phép khách truy cập
• Các khoá học có thể được đưa vào danh mục và được tìm kiếm - một siteMoodle có thể hỗ trợ hàng nghìn khoá học
• Tầm quan trọng dựa trên tính bảo mật cao Các form được kiểm tra, cáccookies được mã hoá
• Tất cả đầu vào là văn bản (các tài nguyên, các thông báo diễn đàn…)
Quản lý Site
• Site được quản lý bởi một người quản trị, được xác định trong quá trình càiđặt
• Đưa thêm "themes" cho phép quản trị tuỳ chọn thay đổi giao diện của site
• Đưa thêm các môđun hoạt động vào phần cài đặt của Moodle
• Đưa thêm các gói ngôn ngữ mới Những điều này có thể được soạn thảo bởi
sử dụng một trình soạn thảo được xây dựng dựa trên Web
• Mã được viết bằng PHP rất dễ hiểu dưới một bản quyền GPL - dễ thay đổi
để phù hợp với các nhu cầu của bạn
Trang 20• POP3: Các tài khoản đăng nhập được kiểm tra lại bởi một POP3 server
• Cơ sở dữ liệu bên ngoài: bất kỳ cơ sở dữ liệu nào chứa ít nhất 2 trường có thểđược sử dụng như một nguồn chứng thực bên ngoài
• Mỗi người chỉ cần tạo một tài khoản - mỗi tài khoản có thể truy cập vào cáckhoá học khác nhau
• Một tài khoản quản trị điều khiển việc tạo các khoá hoc và tạo các giáo viênbởi việc phân công người dùng tới các khoá học
• Một tài khoản của người tạo khoá học chỉ cho phép tạo các khoá học và dạytrong đó
• Các giáo viên có thể soạn thảo, thay đổi, di chuyển các hoạt động trong khoáhọc
• Bảo mật - các giáo viên có thể thêm một " khoá truy cập " tới các khoá học
để ngăn cản những người không phải là học viên truy cập vào Họ có thể đưa
ra khoá này trực tiếp hoặc qua địa chỉ email tới các học viên
• Các giáo viên có thể kết nạp hay gỡ bỏ việc kết nạp các học viên bằng taynếu được yêu cầu, mặt khác họ được tự động gỡ bỏ sau một khoảng thời gian(được thiết lập bởi admin)
• Các học viên được khuyến khích tạo ra một hồ sơ trực tuyến bao gồm cácảnh, các mô tả Các địa chỉ Email có thể được bảo vệ bằng cách cho phép nóhiển thị hay không cho phép nó hiển thị tới người khác
• Mỗi người có thể chỉ ra miền thời gian của riêng mình, và ngày trongMoodle luôn luôn được thay đổi (ví dụ các ngày gửi các thông báo, các ngàyhết hạn nộp bài, …)
Trang 21• Mỗi người dùng có thể chọn cho riêng mình một ngôn ngữ để hiển thị tronggiao diện của Moodle (ví dụ English, French, German, Spanish,Portuguese…)
• Những thay đổi gần đây nhất từ lần đăng nhập cuối cùng có thể được hiển thịtrên trang chủ của khoá học
• Tất cả các điểm cho các Diễn đàn, các Bài thi và các Bài tập lớn có thể đượcxem dựa trên một trang (tải xuống dưới dạng một file bảng tính)
• Theo dõi và hiển thị đầy đủ các hoạt động của người dùng - thông báo đầy
đủ các hoạt động mà một học viên tham gia (lần truy cập cuối cùng, số lầnđọc) cũng như một câu chuyện được chi tiết hoá đối với mỗi học viên baogồm các thông báo gửi lên…
• Sự tích hợp Mail - copy các thông báo được gửi lên diễn đàn, các thông tinphản hồi của giáo viên có thể được gửi thư theo định dạng HTML hoặc vănbản thuần tuý
• Các tỷ lệ tuỳ chọn - các giáo viên có thể định nghĩa các tỷ lệ của riêng họ để
sử dụng cho việc đánh giá các diễn đàn, và các bài tập lớn
• Các khoá học có thể được đóng gói như một file zip khi sử dụng chức năngsao lưu Và nó có thể được lưu trữ ở bất kỳ nơi nào trên máy chủ Moodle
Kết chương
Như vậy Moodle được nhiều cá nhân, đơn vị đào tạo sử dụng vì tính sư phạm cao vàđược hỗ trợ bởi cộng đồng lớn
Trang 22Chương 2: CÀI ĐẶT MOODLE 1.7.1
Với mục đích khai thác, sử dụng và phát triển Moodle, trước hết tôi sẽ trình bàycách cài đặt và cấu hình Moodle Với một hệ thống phức tạp như Moodle việc càiđặt và cấu hình để có thể triển khai ứng dụng là không đơn giản Để thuận tiện trongviệc cài đặt và cấu hình Moodle tôi sử dụng bộ cài đặt XAMPP (tích hợp các phần
Trang 23mềm mà Moodle yêu cầu: apache, mysql, php) Trong phần này tôi sẽ trình bàycách cài đặt Moodle trên nền Windows
2.2 Chuẩn bị
Tải về Moodle trên trang web http://Moodle.org/download/
Giải nén
(Tùy chọn) Đổi tên thư mục thành "Moodle" để dùng khi cài đặt hệ thống.
Tải về bộ XAMPP: appserv-win32-2.5.7
2.3 Cài đặt
Ở đây tôi cài đặt Moodle sử dụng trình chủ web Apache Cài đặt 2.5.7 có tích hợp cả Apache server, PHP, MySQL
appserv-win32-2.3.1 Cài đặt các phần mềm yêu cầu
Trong phần này tôi trình bày cách cài đặt appserv-win32-2.5.7 trên nền Windows Khi cài đặt Apache phiên bản 2.5.7 ta có thể tuỳ chọn cài đặt cả PHP Version
5.1.16, MySQL Version 5.0.24, phpMyAdmin hoặc không Nếu bạn không chọn thìbạn phải cài riêng rẽ từng phần mềm một Trong ví dụ này tôi chọn cài tất cả
Trang 24Hình 2.1: Tùy chọn cài đặt Apache
Khi cài đặt Apache có một chú ý là cổng HTTP (mặc định là 80) chọn sao chokhông trùng với cổng HTTP của các Server khác đang chạy trên máy của bạn (trong
ví dụ này tôi chọn cổng 9000) Thiết đặt tên server (ví dụ: localhost), địa chỉ ngườiquản trị
Hình 2.2: Cài đặt Apache
Trang 25Tiếp đó thiết lập tên người dùng, mật khẩu, phông chữ Sau đó thực hiện cài đặtbình thường theo chỉ dẫn của chương trình.
Nhược điểm của MYSQL là chưa được tích hợp các công cụ quản trị, vì vậy phảilàm việc ở chế độ dòng lệnh hoặc phải sử dụng các phần mềm khác Để đơn giảntrong việc quản lý cơ sở dữ liệu bạn nên cài thêm một trong các phần mềm:MySQL-Front , Mysqladmin, MySQL Administrator
Tuy nhiên, ở đây khi cài server Apache thì đã có sẵn công cụ là phpmyAdmin rấtmạnh để quản lý cơ sở dữ liệu
2.3.2 Cấu hình cho cài đặt Moodle
Sau khi cài đặt trình chủ Web Apache, PHP, MySQL ta tiến hành cấu hình cho việccài đặt Moodle
Tạo cơ sở dữ liệu rỗng “Moodle” cho Moodle Trong trường hợp dùng trình chủweb Apache ta sử dụng công cụ phpmyAdmin bằng cách vào địa chỉ
http://localhost:9000/phpMyadmin/index.php
Hình 2.3: Tạo cơ sở dữ liệu cho Moodle
Trong thư mục web mặc định của trình chủ web chép thư mục “Moodle” đã
được tạo ra từ trước Đối với trình chủ web Apache là thư mục "www" (ví dụ
C:\AppServ\www) ta sẽ đặt ứng dụng tại thư mục này.
Trang 26Khi đó ta sẽ bắt đầu làm việc với Moodle thông qua địa chỉ:
2.3.3 Cài đặt Moodle sử dụng trình chủ web Apache
Cấu hình trình chủ Web (trang chủ mặc định là index.php, index.htm ) Trong file
cấu hình httpd.conf của Apache tham số DirectoryIndex quy định trang chủ mặc
định vd: DirectoryIndex index.html index.htm index.php index.php3
Sau đó tiến hành cài đặt thông qua trình duyệt web: Tới địa chỉ
http://localhost:9000/Moodle/ để bắt đầu cài đặt
- Chọn ngôn ngữ: tiếng Việt (vietnamese(vi_utf8)), tiếng Italia (it ), tiếng Anh (en)
Hình 2.4: Bắt đầu cài đặt Moodle
Moodle kiểm tra các thiết lập php như: Phiên bản PHP, bắt đầu tự động Session,chế độ an toàn, file tải lên, phiên bản GD…
- Giới hạn bộ nhớ: có thể thiết lập giới hạn bộ nhớ thông qua file php.ini
Trang 27Hình 2.5: Kiểm tra các thiết lập PHP
- Cấu hình địa chỉ:
Hình 2.6: Cấu hình địa chỉ Moodle_Apache Địa chỉ web: http://localhost:9000/Moodle
Thư mục Moodle: (vd: c:\AppServ\www\Moodle)
Thư mục chứa dữ liệu: (vd: c:\AppServ\mysql\data\Moodledata)
- Cấu hình cơ sở dữ liệu
Trang 28Hình 2.7: Cấu hình cơ sở dữ liệu
Các cấu hình này phải phù hợp với cấu hình trong file config.php.
Moodle sẽ phát hiện và cấu hình cho hệ thống qua file config.php, nếu chưa có nó
sẽ tiến hành tạo file và ghi vào thư mục gốc của Moodle trên server hoặc cho phépbạn tải file lên thư mục thích hợp Ngược lại lỗi sẽ được thông báo và ta phải khắcphục những lỗi này rồi mới có thể tiếp tục cài đặt
Hình 2.8:Lỗi cấu hình
- Chấp nhận các yêu cầu bản quyền GNU
Trang 29Hình 2.9: Yêu cầu bản quyền
Đây là điều rất quan trọng đối với cộng đồng mã nguồn mở, phải tôn trọng các quytắc khai thác và sử dụng phần mềm mã nguồn mở
- Thiết lập và cập nhật cơ sở dữ liệu cho Moodle
Tạo các bảng: mdl_config, mdl_config_plugins, dl_course,…
Cập nhật cơ sở dữ liệu cho các bảng: mdl_log_display…
- Thiết lập các thông số cho giao diện:
Hình 2.10: Thiết lập thông số giao diện
Trang 30Ngôn ngữ sử dụng có thể là: Việt Nam (vi_utf8), Anh (en), Italia (it)…, danh sáchcác ngôn ngữ rút gọn (các ngôn ngữ cách nhau bởi dấu phẩy), múi giờ…Khi chưatìm hiểu rõ các thông số, ta chọn theo mặc định, sau khi cài đặt thành công ta có thểchỉnh các tham số này.
- Thiết lập các bảng môđun thông qua các câu lệnh SQL: Bài tập lớn(Assignment), Chat, Lựa chọn (choice), Diễn đàn (Forum)…
- Nâng cấp hoàn thiện cơ sở dữ liệu: tạo các bảng (mdl_backup_files,mdl_backup_ids, mdl_backup_courses…)
- Các thông báo thiết lập các bảng khối: activity_modules, admin, calendar_month,calendar_upcoming…
- Các thiết lập site: tên site, tên site rút gọn, phần mô tả trang…
Hình 2.11: Thiết lập site
- Cấu hình tài khoản cho người quản trị: tên đăng nhập, mật khẩu (để bảo đảm an
toàn không dùng mật admin), tên, họ của người quản trị, địa chỉ email và các tùy
chọn cho email…
Trang 31Hình 2.12: Cấu hình tài khoản người quản trị
Chúc mừng bạn đã cài đặt xong Moodle trên trình chủ Apache.
Hình 2.13: Giao diện Moodle
3.3.4 Cài đặt MoodleCron
Cron là một kịch bản rất quan trọng để kiểm tra việc thực hiện công việc một cáchliên tục của các môđun của Moodle Do có một vài môđun không tự thực hiện nênvai trò của Cron là cần thiết Nó làm công việc như:
Khởi động một số môđun hoạt động
Cập nhật ngôn ngữ
Trang 32 Sao lưu dự phòng nếu cần thiết.
Trên Windows bạn có thể cài đặt gói Moodle-cron-for-windows.zip được tải về từđịa chỉ: http://Moodle.org/download/modules/Moodle-cron-for-windows.zip
Hình 2.13: Cài đặt MoodleCron
2.4 Cấu hình hệ thống
Các công việc này nhằm đảm bảo hệ thống họat động phù hợp với ứng dụng
Tạo một bản sao của thư viện liên kết động php_gd2.dll trong thư mục extensions của PHP vào Windows/system32
Cấu hình file php.ini trong thư mục Windows: bỏ dấu “;” trước dòng khai báo thư viện php_gd2.dll.
Thay đổi tham số trong php.ini
Thiết lập kích thước file:
- Tải lên qua HTTP: upload_max_filesize =max_ size (MB)
- File dữ liệu tải lên : post_max_size = max_ size (MB)
Kết chương
Như vậy để thực thi được Moodle yêu cần phải có Webserver, hệ cơ sở dữ liệuMySQL (hoặc PostgresSQL) và phải thực hiện cấu hình các tham số hoạtđộng cho Moodle
Trang 33Chương 3: CẤU TRÚC MOODLE VÀ CÁCH PHÁT TRIỂN
Chương này tìm hiểu cấu trúc site của Moodle từ đó tìm hiểu cách phát triển mộtmodule, tạo theme, cách việt hóa Moodle
3.1 Cấu trúc của site
Cấu trúc site được trình bày tóm tắt trong bảng 3.1:
Tập tin/Thư
mục
Ý nghĩa
config.php Là tập tin cấu hình chứa các thông tin như: kiểu CSDL, tên
CSDL kết nối đến, host chứa CSDL, tên người dùng vàmật khẩu để kết nối CSDL, thư mục gốc của website trênserver, thư mục data, nhà quản trị
version.php Tập tin chỉ định phiên bản hiện tại của Moodle
install.php Kịch bản này sẽ chạy để tạo file config.php
index.php Trang đầu tiên của site
admin/ Thư mục chứa mã lệnh để quản trị toàn server
auth/ Thư mục chứa module hỗ trợ chứng thực tài khoản người
dùng
blocks/ Thêm các môđun đối với các khối site nhỏ trên nhiều
trang
calender/ Tất cả mã đối với quản lý và hiển thị các lịch biểu.
course/ Thư mục chứa mã lệnh để hiển thị và quản lý các khóa họcdoc/ Thư mục chứa tài liệu hướng dẫn Moodle
files/ Thư mục chứa mã lệnh để hiển thị và quản lý các file được
tải lên
lang/ Thư mục chứa các thư mục ngôn ngữ
Trang 34lib/ Thư mục chứa thư viện cốt lõi của Moodle, đây được
xem là nhân của Moodle
login/ Thư mục chứa mã lệnh để điều khiển đăng nhập và tạo
tài khoản người dùng
mod/ Thư mục chứa tất cả các môđun phục vụ cho khóa học.pix/ Thư mục chứa các biểu tượng, hình ảnh sử dụng trong site.theme/ Thư mục chứa các thư mục giao diện site
user/ Thư mục chứa mã lệnh để hiển thị và quản lý người dùng
Lưu ý : Khi viết thêm module mới, phần nhân của Moodle được sử dụng lại, khi đó
cần include tập tin config.php trong thư mục gốc của Moodle vào phần code.Trong tập tin config này có dòng require_once("$CFG-
>dirroot/lib/setup.php");
Dòng này include tập tin setup.php trong lib/, đây là tập tin chỉ đường dẫn đếncác file thư viện của Moodle
3.2 Thư viện Moodle
Thư viện Moodle được đặt trong thư mục lib/, bảng 3.2 tóm tắt chức năng một sốfile trong thư mục này:
Trang 35Khi có nhu cầu phát triển các module mới cần nắm vững các hàm trong ba tập tindatalib.php, weblib.php, Moodlelib.php.
3.3 Module - cấu trúc và phát triển
3.3.1 Cấu trúc Module
Module chính là các đơn vị riêng rẽ cấu thành nên Moodle Các hoạt động (activity)hoặc tài nguyên (resource) cũng được xem là module Moodle được xây dựng đểnhiều người cùng nhau phát triển, tùy theo quan điểm về khóa học của mỗi người
mà họ có thể tạo ra một module riêng Ví dụ: có thể tạo ra module bài kiểm tra,module lý thuyết, module toán học…
Các module như: forum, choice, lesson, quiz, resource, servey, assignment,wockshop, chat…được đặt ở trong thư mục 'mod\' Có một số module mặc định:assignment, choice, forum, journal, quiz, resource, và survey Mỗi module là mộtthư mục con riêng biệt chứa các phần tử có tính bắt buộc sau:
mod.html: form để nhập mới hoặc cập nhật thông tin cho mỗi thể
adminlib.php Chứa các hàm cần dùng cho nhà quản trị
weblib.php Chứa các hàm xuất kết quả dạng HTML
uploadlib.php Lớp điều khiển việc upload các file
pagelib.php Chứa lớp cha của các trang trong Moodle
Moodlelib.php Bộ thư viện chính của Moodle
graphlib.php Lớp vẽ các hình đồ họa như đường thẳng, HCN…
gdlib.php Tập hợp các chức năng liên quan đến xử lý file ảnh
filterlib.php Chứa các hàm riêng biệt hỗ trợ lọc dữ liệu
datalib.php Thư viện chứa các hàm để thao tác với
CSDL
blocklib.php Chứa hàm cần thiết để sử dụng các khối
setup.php Thiết lập session, kết nối vào cơ sở dữ liệu
Trang 36hiện (instance) của module.
version.php: thông tin về phiên bản
icon.gif: biểu tượng 16x16 pixel đại diện cho module
db/: chứa file sql tạo các bảng cần sử dụng cho module
index.php: trang liệt kê tất cả instance của module trong khóa học
view.php: trang dùng để xem một instance.
lib.php: chứa các hàm cần thiết để tạo nên một instance Nếu tên module
là mymodule, thì các hàm được yêu cầu bao gồm :
- mymodule_add_instance(): thêm một instance mymodulemới
- mymodule_update_instance(): cập nhật một instance đã có
- mymodule_delete_instance(): xóa một instance
- mymodule_user_outline(): trả về tóm tắt ý kiến đóng góp của mộtngười về một instance
- mymodule_user_complete(): trả về đầy đủ ý kiến đóng góp củamột người về một instance
Cuối cùng, mỗi module có một số file ngôn ngữ chứa các chuỗi đặc trưng cho module đó
Để ngăn chặn khả năng xung đột, bất kỳ hàm nào của module có tên
mymodule thì Moodle khuyến cáo nên đặt tên bắt đầu với mymodule_ và bất
kỳ hằng nào được định nghĩa trong module nên bắt đầu với MYMODULE_
Tìm hiểu mã nguồn module Lesson
Mỗi module giữ một vai trò riêng tuỳ thuộc vào mục đích sử dụng Moodle Ởđây, trong khuôn khổ của đồ án tôi chỉ đề cập đến module lesson với mụcđích sử dụng làm các câu hỏi ôn tập trong một khoá học mẫu
Chức năng của module này là cho phép người giảng dạy tạo và quản lý một tậpcác trang được kết nối Mỗi trang có thể kết thúc bởi một câu hỏi Người học
Trang 37trí cũ.
Cấu trúc của module lesson cũng bao gồm các file, thư mục bắt buộc như:
mod.html, version.php, icon.gif, index.php, view.php, lib.php, db/ Ngoài ra còn có thêm thư mục action/ (chứa các file sử lý các hành động của lesson: update,
delete, updatepage, move, continue…), backuplib.php (chứa các hàm phục vụchức năng sao lưu dự phòng các lesson), locallib.php (file thư viện cục bộ tronglesson, nó bao gồm các hàm chỉ được dùng trong lesson), highscores.php ( cungcấp một giao diện để hiển thị và thêm vào các điểm số cao),…
Để học viên có thể tham gia vào một lesson thì trước hết ta phải tạo ra lesson đó.File lib.php chứa các hàm cần thiết để tạo nên một lesson Sau đây ta sẽ nghiêncứu một số hàm này
Trước khi nghiên cứu một số hàm trong file lib.php ta tìm hiểu cấu trúc mộtlesson Mỗi lesson được tổ chức thành các phần: các thiết lập cho các trang (lưutrong bảng lesson_pages), các thông số thời gian của lesson (bảng lesson_timer),các thiết lập điểm số lesson (bảng lesson_grades), các thông tin về điểm số cao(bảng lesson_high_scores) Với mỗi thiết lập cho trang câu hỏi (lesson_pages) lại cómức thấp hơn phụ thuộc vào nó: các nhánh câu hỏi (bảng phân nhánh:lesson_branch) và các thông số thiết lập câu trả lời (bảng lesson_answers) Phần cácthông số thiết lập câu trả lời (lesson_answers) lại được chi tiết hơn bằng các đáp án,kèm theo thông tin người trả lời câu hỏi (bảng lesson_attempts) Chú ý, nếu cácthiết lập của lesson (bảng lesson_pages) được chọn làm default thì ta có bảnglesson_default với các giá trị tương ứng Cấu trúc đó được thể hiện dưới đây:
Trang 38Hình 3.1: Cây cấu trúc của một lesson
Trong đó: pk là trường khoá chính trong bảng
fk là khoá ngoài
CL là thông tin về khóa học mà chứa lesson
UL là thông tin của người dùng khi thực hiện lesson
Giải thích một số hàm được sử dụng trong file lib.php:
- make_timestamp: tạo timestamp từ ngày, tháng, năm, giờ, phút,
lesson_grades(UL, pk->id,fk->lessonid)
lesson_high_scores(UL, pk->id,fk->lessonid)
lesson_timer(UL, pk->id,fk->lessonid)
lesson_pages(CL,pk->id,fk->lessonid)
lesson_answers(CL,pk->id,fk->pageid)
lesson_branch(UL, pk->id,fk->pageid)
lesson_attempts(UL,pk->id,fk->answerid)
lesson
(CL, pk id)
lesson_default(UL, pk->id,fk-courseid)
Trang 39- time(): trả về thời gian hiện hành.
- addslashes(): xử lý các ký tự đặc biệt trong mẩu tin dữ liệu.
- clean_param(): xoá các biến.
- get_field(): trả về giá trị của field từ một mẩu tin CSDL
- add_event(): thêm sự kiện vào lịch.
- insert_record(): chèn một mẩu tinvào bảng và trả về Id của mẩu tin đó.
- update_record(): cập nhật một mẩu tin trong bảng.
- delete_records(): xóa một hay nhiều mẩu tin từ bảng.
- get_record(): trả về một mẩu tin vào một đối tượng
- get_records_select(): trả về một mảng đối tượng tương ứng với một sốmẩu tin trong bảng
- count_record(): đếm số mẩu tin trong bảng thỏa điều kiện.
Hàm thêm một instance lesson mới: lesson_add_instance
/* Hàm này sẽ tham chiếu tới các biến từ form trong file mod.html và lấy giá trị để tạo ramột instance lesson mới và trả về số id của instance mới này*/
Trang 40// truyền giá trị các biến trên vào các biến của đối tượng conditions
$conditions = new stdClass;
$conditions->timespent = $lesson->timespent;
$conditions->completed = $lesson->completed;
$conditions->gradebetterthan = clean_param($lesson->gradebetterthan, PARAM_INT);
// thiết lập lại các giá trị định sẵn:
// thời gian giới hạn của câu hỏi
$lesson->maxtime = clean_param($lesson->maxtime, PARAM_INT);
// chiều rộng của slide hiển thị câu hỏi
$lesson->width = clean_param($lesson->width, PARAM_INT);
// chiều cao của slide hiển thị câu hỏi
$lesson->height = clean_param($lesson->height, PARAM_INT);
// chiều rộng, cao của nút Close
$lesson->mediawidth = clean_param($lesson->mediawidth, PARAM_INT);
$lesson->mediaheight = clean_param($lesson->mediaheight, PARAM_INT);
// Số lượng điểm cao để hiển thị
$lesson->maxhighscores = clean_param($lesson->maxhighscores, PARAM_INT);
// Kiểm tra sự thiết lập mật khẩu của lesson