Tìm hiểu Learning Object và Việt Hóa công cụ Reload Editor trong thiết kế bài giảng MỤc lụC



tải về 0.64 Mb.
trang4/8
Chuyển đổi dữ liệu23.08.2016
Kích0.64 Mb.
#26852
1   2   3   4   5   6   7   8

4.4.2 Việt Hóa Reload Editor:


Cấu trúc tổ chức và vai trò của các gói trong Reload Editor:

Mã nguồn của Reload được tổ chức thành các module như sau:



docs : chứa các tài liệu khác nhau.

diva : chứa các tiện ích cho toàn thể. Đây là module độc lập hoàn toàn với các module khác ngoại trừ module jdom. Nó chứa các class và các thủ tục tiện ích được dùng trong bất kì ứng dụng java nào. Không có Swing hay UI ở đây.

dweezil: công cụ và thư viện giao diện. Cũng như gói diva, nó cũng độc lập hoàn toàn với các module khác, ngoại trừ module jdom. Đây là nơi chứa giao diện(UI) , các class và thủ tục trên giao diện, được sử dụng trong bất cứ ứng dụng Swing cơ bản nào

editor: dùng để soạn thảo Metadata, IMS Content Package, SCORM Package, IMS Learning Design.

jdom : Các thủ tục JDOM XML, độc lập hoàn toàn với các module khác, chứa các class tiện ích, các class liên quan đến gói thư viện DOM.

moonunit: độc lập hoàn toàn với các module khác ngoại trừ dweezil và jdom, thao tác với XML, Schema, JDOM và Castor.
Cách thức hiển thị nội dung trên giao diện của Reload Edior

    • Tiêu đề trên thanh menu, trên các hộp thoại, các thông báo được hiển thị bằng cách thông qua class Message.java. Lớp này sẽ khởi tạo một RESOURCE BUNDLE dựa trên BUNDLE NAME _ là chuỗi String chỉ đường dẫn đến một file có định dạng properties. File này sẽ tổ chức lưu trữ thông tin dưới dạng key=value . Lớp Message sẽ lấy thông tin của value thông qua phương thức getString (String key). Ví dụ:

Trong gói dweezil chứa file messages.properties và class Message.java để đọc messages.properties.

Messages.properties:

uk.ac.reload.dweezil.UndoMenuManager.0=Undo

uk.ac.reload.dweezil.UndoMenuManager.1=Redo

#================================================

uk.ac.reload.dweezil.util.NativeLauncher.0=Error opening native browser on Windows

uk.ac.reload.dweezil.util.NativeLauncher.1=Error opening native browser on Mac

uk.ac.reload.dweezil.util.NativeLauncher.2=Error opening native browser on Mozilla

uk.ac.reload.dweezil.util.NativeLauncher.3=Unknown Operating System

uk.ac.reload.dweezil.util.NativeLauncher.4=View File

#================================================

uk.ac.reload.dweezil.gui.YesAllNoDialog.0=Yes

uk.ac.reload.dweezil.gui.YesAllNoDialog.1=Yes to All

uk.ac.reload.dweezil.gui.YesAllNoDialog.2=No

uk.ac.reload.dweezil.gui.YesAllNoDialog.3=Cancel

........

Messages.java

public class Messages {

private static final String BUNDLE_NAME = "uk.ac.reload.dweezil.messages"; //$NON-NLS-1$

private static final ResourceBundle RESOURCE_BUNDLE = ResourceBundle.getBundle(BUNDLE_NAME);

private Messages() {}

/**


* @param key The Key

* @return A Message String

*/

public static String getString(String key) {



try {

return RESOURCE_BUNDLE.getString(key);

}

catch(MissingResourceException e) {



return '!' + key + '!';

}

}



}

Như vậy: Khi cần hiển thị một thông tin nào đó (chẳng hạn: Unknown Operating System), chỉ cần gọi Messages.getString(“uk.ac.reload.dweezil.util.NativeLauncher.3”). Vì “uk.ac.reload.dweezil.util.NativeLauncher.3” là key của “Unknow Operating System”.



    Cụ thể có các file Messages.properties và Messages.java ở các package như sau:

    • Các thông báo lỗi khi khởi chạy hệ thống, thông tin hộp thoại, thông tin cửa sổ trạng thái (StatusWindow): được lưu trong gói dweezil.

    • Các thông tin hiển thị ở các khung, các thông báo, các hành động, tiêu đề trên thanh menu liên quan đến giao diện để soạn thảo Metadata, Content Package được lưu trong gói editor.

    • Các thông tin thao tác trên Schema được lưu trong gói moonunit.

Chú ý : Gói editor/properties chứa 2 file là rb.properties và EditorProperties.java. Trong đó rb.properties chứa thông tin về Project RELOAD và đường dẫn đến các file cần thiết. Do đó class EditorProperties ngoài phương thức lấy giá trị dạng chuỗi còn có phương thức lấy file tương ứng theo chuỗi.

EditorProperties.java:

public class EditorProperties {

static ResourceBundleManager props =

new ResourceBundleManager(System.getProperty("editor.properties.file"));

public static String getString(String key) {

try {


return props.getString(key);

}

catch(MissingResourceException e) {



return '!' + key + '!';

}

}



public static File getFileProperty(String key) {

return props.getFileProperty(key);



}

}

Như vậy trong toàn bộ project có 3 file messages.properties và 3 class Messages.java ở 3 gói khác nhau.



    • Giao diện màn hình soạn thảo được thực hiện bằng cách đọc value của các element từ file xml được lưu trữ trong folder helpers.



Hình 4.7 Cấu trúc thư mục trong folder Helper

    • Cấu trúc của folder helpers như sau:

  • Folder profile chứa các file xml định nghĩa các element cần thiết, ví dụ: cp/profile chứa 3 file là IMS LRM Profile.xml, LTSN Profile.xml, UKCMF Profile.xml.

  • Folder schemahelper chứa file xml định nghĩa các element và ý nghĩa của các element đó, ví dụ: IMS MD Helper.xml

  • Folder vocab chứa các file xml định nghĩa bộ từ vựng cho các element. Ví dụ: IMS LRM Vocab.xml.

Lưu ý: có một số element không định nghĩa trong xml sẽ phải đọc từ file schema. Cụ thể là đối với phần đóng gói bằng SCORM, sẽ có 5 element và danh sách các giá trị của nó (nếu có) sẽ đọc từ schema adlcp_rootv1p2.xsd.Bao gồm: prerequisites, maxtimeallowed, timelimitaction, datafromlms, masteryscore.

  • Giá trị các element trong profile sẽ được lấy bằng cách sử dụng đối tượng MD_ProfileElement. Đối tượng này sẽ chứa một element, và các phương thức để xác định tên element, đường dẫn XML của element là thuộc tính “path” của element, xem element đó có phải là group hay không, và các element con của nó. Và cách thức của nó là duyệt qua lần lượt tất cả các element là con của root. Nếu element nào là “group” thì sẽ có danh sách các element con và cứ thế mỗi element lại là một đối tương MD_ProfileElement. Nếu element là group thì thực hiện đệ quy phương thức addGroup (MD_ProfiledElement) , nếu element không là group thì thực hiện addField(MD_ProfiledElement) để tạo thành phần tương ứng trong document.

  • Giá trị các element trong schema helper sẽ được lấy thông qua phương thức getValueHelper(XMLPath path, String key) của class SchemaHelper.java với path là đường dẫn của element và key là khóa để lấy giá trị tương ứng. Key có thể là Tip, Widget, Frame hoặc MaxLength.

  • Giá trị của bộ từ vựng của các element sẽ được lấy thông qua 2 đối tượng là Vocabulay và VocabularyList. Vocabulary sau khi đã load file xml sẽ thực hiện phương thức loadLists, dùng đối tượng TreeMap gọi là _vocabList để lưu trữ bộ từ vựng của các element. Đầu tiên sẽ thực hiện map các list do VocabularyList định nghĩa gồm:

    • LangList là mảng String[] có được bằng cách tái sử dụng phương thức getISOLanguages() của đối tượng Locale sẵn có

public static String[] ISO_LANGS = Locale.getISOLanguages();

    • YesNoList là mảng String[] {“”, “yes”, “no”};

    • TrueFalseList là mảng String[]{“”, “true”, “false”};

Sau đó thực hiện lưu trữ lần lượt các phần tử “vocabList” trong file xml với key là giá trị thuộc tính “name” của element và value là một đối tượng VocabularyList, trong đó chứa tên của vocabList, danh sách các item và giá trị mặc định.

Ngoài ra, sẽ phải thực hiện một việc nữa là map đường dẫn của vocabList. Map này sẽ được dùng khi kết nối vocabularyList với element tương ứng. Nó cũng là một TreeMap có tên là _pathListMap. Duyệt lần lượt các phần tử “element” trong file xml, lưu trữ vào _pathListMap với key là chuỗi giá trị thuộc tính “path” và value là chuỗi giá trị thuộc tính “list” của element.




      Riêng đối với giao diện để sọan thảo IMS Learning Design thì các thành phần hiển thị trên giao diện được ghi mã cứng. Do đó, để có thể Việt Hóa được phải xây dựng lại tòan bộ bộ từ ngữ cho Learning Design dựa trên thiết kế sẵn có.




Каталог: data
data -> HƯỚng dẫn càI ĐẶt và SỬ DỤng phần mềm tạo bài giảng e-learning
data -> CỘng hòa xã HỘi chủ nghĩa việt nam độc lập Tự do Hạnh phúc
data -> Qcvn 81: 2014/bgtvt
data -> Trung taâm tin hoïC Ñhsp ñEÀ thi hoïc phaàn access
data -> PHỤ LỤC 2 TỔng hợp danh mục tài liệu tham khảO
data -> Công ty cổ phần Xây dựng Điện vneco3
data -> Nghiên cứu một số đặc điểm
data -> NHỮng đÓng góp mới của luậN Án tiến sĩ CẤP ĐẠi học huế Họ và tên ncs : Nguyễn Văn Tuấn
data -> Mẫu 01/hc-sn-dn (Ban hành kèm theo Thông tư số 83/2007/tt-btc ngày 16/7/2007 của Bộ Tài chính) TỜ khai hiện trạng sử DỤng nhà, ĐẤt thuộc sở HỮu nhà NƯỚc và ĐỀ xuất phưƠng án xử LÝ

tải về 0.64 Mb.

Chia sẻ với bạn bè của bạn:
1   2   3   4   5   6   7   8




Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2024
được sử dụng cho việc quản lý

    Quê hương