Phát triển module

Một phần của tài liệu LMS CHO HỆ THỐNG ELEARNING CỦA KHOA HỌC CÔNG NGHỆ THÔNG TIN (Trang 46 - 50)

Có hai hướng phát triển module trong Moodle là chỉnh sửa các module sẵn có hoặc thêm vào các module mới cho phù hợp với chức năng của module mà tổ chức bạn yêu cầu.

chú giải thuật ngữ…là rất phù hợp vì vậy trong đề tài này tôi không đề cập đến việc tạo thêm module mới. Tuy nhiên ở chương 6, tôi sẽ chỉnh sửa một số chi tiết nhỏ của module lesson cùng với việc chỉnh sửa theme cho site. Ngoài ra, người dùng nếu muốn phát triển thêm có thể tham khảo các vấn đề sau:

Tạo module mới

Người dùng muốn phát triển có thể lấy mẫu moodule mới tại http://Moodle.org/mod/newmodule_template.zip. Tải về giải nén vào thư mục mod/

và làm theo các bước sau để tạo một module:

 Đổi tên thư mục mới giải nén thành tên module muốn thực hiện. Tên này nên được đặt bằng một từ duy nhất, nên đặt toàn bằng chữ thường và chỉ chứa

các ký tự từ a-z (ví dụ: mymodule).

 Mở từng file dạng web (.php, .html) trong thư mục này, thay đổi từ NEWMODULE thành tên module mới (ví dụ: mymodule).

 Viết lệnh SQL để tạo các bảng sử dụng trong module vào tập tin

db/mysql.sql. Tên của bất kỳ bảng mới nào cũng phải có tiền tố 'prefix_' thay

vì 'mdl_' để sau này khi thực hiện cài đặt Moodle sẽ yêu cầu điền tiền tố.  Thay đổi các từ NEWMODULE trong tập tin db/mysql.php thành tên

module mới.

 Tạo một hay nhiều file ngôn ngữ sử dụng trong module mới ở thư mục

lang/LANG/NEWMODULE.php trong đó LANG là thư mục ngôn ngữ tương

ứng. Moodle khuyên nên sử dụng thư mục 'en' để những người phát triển

khác có thể dịch sang ngôn ngữ của họ. Tạo file ngôn ngữ tương tự các file có sẵn.

 Mở cơ sở dữ liệu Moodle, thêm một mẩu tin đại diện cho module mới trong bảng prefix_modules.

 Tới đây module mới đã được cập nhật vào Combo Activity. Tùy vào chức năng của module mà cách viết mã lệnh cho các hàm sẽ khác nhau.

Mối quan hệ CSDL giữa module và khóa học (COURSE)

Nhằm mục đích không phụ thuộc vào khuôn mẫu Moodle, đồng thời tăng khả năng sử dụng lại các bảng ở các module khác, hay việc tạo các bảng cho module mới phần này trình bày mối quan hệ giữa các module và khóa học.

Nếu có module mymodule thông thường sẽ có bảng prefix_mymodule trong cơ sở dữ liệu. Trong bảng này, mỗi mẩu tin yêu cầu phải có mã id đại diện cho từng phần tử (instance) của module. Đồng thời phải có thuộc tính course là mã khóa học cho biết phần tử này thuộc khóa học nào.

Mỗi khóa học được chia thành nhiều phần (chủ đề, section) khác nhau. Vì vậy Moodle có bảng prefix_course_sections chứa thông tin các section của một khóa học.

Để biết mỗi phần tử của module nằm ở section nào trong khóa học ta có bảng

prefix_course_modules. Trong bảng này, mỗi record chứa mã khóa học, mã module, mã section và mã một phần tử của module.

Để quản lý thứ tự các phần tử xuất hiện trong section thì bảng

prefix_course_sections có cột sequence chứa lần lượt mã course_module

theo thứ tự xuất hiện.

Hình 3.2: Quan hệ giữa Module và Course

Chức năng các bảng trong hình 3.2:

Tên bảng Mô Tả

Prefix_course_categories Danh mục khóa học

Prefix_course Khóa học

Prefix_mymodule, prefix_yourmodule Bảng chứa các instance của module Prefix_course_sections Các phần (chủ đề) của khóa học Prefix_modules Danh mục module

Prefix_course_modules Quan hệ giữa module và khóa học

Như vậy để tạo một khóa học hoàn chỉnh (gồm các module) có thể thực hiện theo trình tự sau :

 Tạo khóa học (chèn thông tin vào bảng prefix_course).

 Tạo lần lượt từng SECTION cho khóa học. Trong mỗi bước tạo section thực hiện:

cột Sequence bằng rỗng vì chưa có instance của module nào).

- Tạo instance của các module (chèn thông tin vào bảng prefix_<ten module>).

- Tạo mối quan hệ giữa instance với khóa học (chèn thông tin vào bảng

prefix_course_module).

- Cập nhật lại thứ tự xuất hiện các instance (cập nhật lại thuộc tính

sequence của section mới tạo).

Một phần của tài liệu LMS CHO HỆ THỐNG ELEARNING CỦA KHOA HỌC CÔNG NGHỆ THÔNG TIN (Trang 46 - 50)