Các phương thức phiên
Một SCO sử dụng các phương pháp này để khởi tạo và chấm dứt truyền dữ liệu giữa nó và API Instance.
Initialize Cú pháp: return_value = Initialize(parameter)
Mô tả: Được sử đụng để khởi tạo một phiên truyền thông, báo cho LMS biết về
phiên truyền thông được khởi tạo.
Tham số: (“”) – Xâu rỗng Giá trị trả về:
- “true” – nếu phiên truuyền thông khởi tạo thành công.
- “false” – nếu không thành công, khi đó API Instance sẽ tạo một mã lỗi. SCO gọi hàm GetLastError() để xác định lỗi. Thông tin chi tiết về lỗi được LMS cung cấp thông qua hàm GetDiagnostic().
Ví dụ: Đây là một đoạn code JavaScript trong SCO gọi đến hàm API
var result = Initialize("") if (result == "false") { // xử lý lỗi
} else
{ // tiếp tục thực hiện SCO }
SCO thông báo với API Adapter rằng nội dung muốn thiết lập giao tiếp với LMS.
Terminate Cú pháp: return_value = Terminate(parameter)
Mô tả: Được gọi bởi SCO để kết thúc phiên truyển thông với LMS. Hàm này
cũng làm nhiệm vụ cất giữ các dữ liệu được tạo ra từ lời gọi Initialize(“”) hoặc
Commit(“”) trước, nó đảm bảo cho mọi thông tin cần thiết sẽ được LMS lưu giữ
để phục vụ cho phiên học sau.
Tham số: (“”) – Xâu rỗng Giá trị trả về:
- “true” – nếu kết thúc thành công. - “false” – nếu không thành công.
Ví dụ
var result = Terminate ("");
Các phương thức truyền dữ liệu
Các phương thức truyền dữ liệu được các SCO sử dụng để truyền và nhận dữ liệu khi thi hành với hệ LMS trong một phiên truyền thông. LMS cũng sử dụng những dữ liệu nhận được để tính toán và xác định hoạt động đào tạo hay tài nguyên nào được triển khai tiếp theo.
GetValue Cú pháp: return_value = GetValue(parameter)
Mô tả: SCO dùng để yêu cầu các thông tin từ LMS thông qua các mô hình dữ
liệu (Data Model). Các thông tin đó có thể là:
- Giá trị cho thành phần của mô hình dữ liệu hỗ trợ bởi LMS - Phiên bản mô hình dữ liệu.
- Có tồn tại hay không các mẫu dữ liệu đặc biệt
Tham số: Các tham số là các thành phần hay phần tử của Data Model (xem
chương sau)
Giá trị trả về: trả về 1 hoặc 2 giá trị (đều là xâu)
Một xâu kí tự chứa giá trị của tham số (parameter).Nếu có lỗi xảy ra, mã lỗi sẽ được thiết lập.
Trong trường hợp giá trị trả về là xâu rỗng, SCO có thể kiểm tra mã lỗi để xem có lỗi xảy ra hay không.
var value = LMSGetValue("cmi.core.student_name")
Giá trị trả về có thể là: "Hyde, Jackson" (tên học viên)
var value = LMSGetValue("cmi.core.lesson_status")
Giá trị trả về có thể là:"incomplete" (trạng thái hoàn thành lesson)
var value = LMSGetValue(“cmi._version”)
Giá trị trả về có thể là: “3.4” (phiên bản mô hình dữ liệu cung cấp bởi LMS)
var value =
LMSGetValue("cmi.student_preferences._children")
Giá trị trả về có thể là: "audio,speed,text" hoặc có thể là xâu rỗng. Trả về một danh sách tên các phần tử trong nhóm, cách nhau bởi dấu phẩy và được hỗ trợ bởi LMS. Nếu một phần tử không có children, hoặc không được hỗ trợ thì trả về xâu rỗng (""). Lỗi “401 Not implemented error” chỉ ra rằng phần tử không được hỗ trợ.
SetValue Cú pháp: return_value = SetValue(parameter_1, parameter_2)
Mô tả: Hàm này cho phép SCO gửi thông tin đến LMS. API Instance có thể được cài đặt để chuyển trực tiếp các thông tin tới LMS (ở phía Server) hay lưu thông tin vào trong bộ nhớ đệm ở phía Client.
Tham số:
- parameter_1: Định danh đầy đủ của mô hình dữ liệu cần thiết lập giá trị. - parameter_2: Xâu kí tự chứa giá trị thiết lập.
Giá trị trả về:
- “true” – nếu kết thúc thành công. - “false” – nếu không thành công.
Ví dụ
var result = SetValue("cmi.core.score.raw","95");
Đặt cmi.core.score.raw (thang điểm) giá trị là "95"
Commit Cú pháp: return_value = Commit(parameter)
Mô tả: Phương thức này có tác dụng chuyển các dữ liệu (VD: các thành phần của
Data Model) được API Instance lưu giữ trong Cache (bởi hàm SetValue) lên phía Server để LMS lưu giữ. Sau khi gọi hàm Commit, dữ liệu lưu trong Cache vẫn không thay đổi nhưng đã được LMS lưu giữ. Đây là phương pháp để tránh mất mát dữ liệu khi phiên truyền thông giữa SCO và LMS bị gián đoạn bất thường hay bị ngắt trước khi gọi hàm Terminate(“”).
Tham số: Xâu rỗng Giá trị trả về:
- “true” – nếu dữ liệu được gửi lên LMS và lưu trữ thành công. - “false” – nếu không thành công.
Ví dụ
var result = Commit("");
Các phương thức hỗ trợ
Các phương pháp hỗ trợ trong API cho phép các SCO có thể nắm bắt các thông tin về lỗi xảy ra.
GetLastError Cú pháp: return_value = GetLastError()
Mô tả: Hàm này có nhiệm vụ trả lại mã lỗi của trạng thái hiện tại (lỗi sau lần gọi
hàm gần nhất). Nó cho phép SCO có thể xác định lỗi để có cách xử lý thích hợp.
Tham số: Không có tham số
Giá trị trả về: Trả về mã lỗi của trạng thái hiện tại. Mã lỗi trả về dưới dạng xâu
kí tự và có thể chuyển đổi thành kiểu số nguyên. (0- 65536).
Ví dụ:
var errorCode = GetLastError();
Cú pháp: return_value = GetErrorString(parameter)
Mô tả: Hàm này trả về xâu kí tự mô tả lỗi tương ứng với mã lỗi đưa vào. Tham số:
- parameter: Mã lỗi, dưới dạng số nguyên.
GetErrorString Xâu trả về có độ dài tối đa 256 kí tự (bao gồm cả kí tự trống và kết xâu). Việc định nghĩa các xâu kí tự mô tả lỗi không được SCORM quy định mà phụ thuộc vào các hệ LMS. Nếu mã lỗi đưa vào không xác định thì hàm trả về xâu rỗng.
Ví dụ
var errorString = GetErrorString("403");
=> errorString = "Element is read only"
GetDiagnostic Cú pháp: return_value = GetDiagnostic(parameter)
Mô tả: Hàm này được sử dụng để cho biết thêm các thông tin và xử lí lỗi xảy ra.
Việc thực thi hàm này phụ thuộc các hệ LMS cụ thể.
Tham số:
- parameter: Tham số có thể tùy chọn, tùy thuộc vào hệ LMS.
Tham số có thể là mã lỗi và một số tham số tùy chọn khác. độ dài tối đa là 256 kí tự.
Giá trị trả về: Xâu kí tự chứa các thông tin về lỗi do LMS cung cấp. (độ dài xâu
<=256).
Ví dụ
var moreInfo = GetDiagnostic("403");