1. Trang chủ
  2. » Luận Văn - Báo Cáo

TÌM HIỂU CÁC HỆ THỐNG HỌC MÃ NGUỒN MỞ VÀ XÂY DỰNG HỆ THỐNG MINH HỌA SMART LEARNING KIT

167 226 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 167
Dung lượng 5,21 MB

Nội dung

BỘ GIÁO DỤC ĐÀO TẠO TRƯỜNG ĐẠI HỌC NÔNG LÂM TP HCM KHOA CÔNG NGHỆ THÔNG TIN LUẬN VĂN TỐT NGHIỆP TÌM HIỂU CÁC HỆ THỐNG HỌC NGUỒN MỞ XÂY DỰNG HỆ THỐNG MINH HỌA SMART LEARNING KIT Ngành Niên khoá Lớp Sinh viên thực : : : : Công nghệ thông tin 33 DH07DT Phan Minh Triệu K’Bou Đa Lých Nhi Võ Văn Lượt TP.HỒ CHÍ MINH, tháng năm 2011 BỘ GIÁO DỤC ĐÀO TẠO TRƯỜNG ĐẠI HỌC NÔNG LÂM TP HCM KHOA CƠNG NGHỆ THƠNG TIN LUẬN VĂN TỐT NGHIỆP TÌM HIỂU CÁC HỆ THỐNG HỌC NGUỒN MỞ XÂY DỰNG HỆ THỐNG MINH HỌA SMART LEARNING KIT Giáo viên hướng dẫn: Sinh viên thực hiện: ThS Nguyễn Thị Thanh Thủy Phan Minh Triệu K’Bou Đa Lých Nhi Võ Văn Lượt TP.HỒ CHÍ MINH, tháng năm 2011 CƠNG TRÌNH HỒN TẤT TẠI TRƯỜNG ĐẠI HỌC NÔNG LÂM TP HCM  Giáo viên hướng dẫn: Nguyễn Thị Thanh Thủy Giáo viên phản biện: Nguyễn Thanh Phước Luận văn cử nhân bảo vệ HỘI ĐỒNG CHẤM LUẬN VĂN CỬ NHÂN TRƯỜNG ĐẠI HỌC NÔNG LÂM TP HCM ngày 01 tháng 09 năm 2011 Nhận xét giáo viên hướng dẫn Nhận xét giáo viên phản biện NHĨM SINH VIÊN THỰC HIỆN: Tên Thơng Tin Phan Minh Triệu Ngày sinh: 06/07/1989 Giới tính: Nam Chuyên nghành: Hệ Thống Thông Tin Địa chỉ: K’Bou Đa Lých Nhi E-mail: pmtrieu@ymail.com Ngày sinh: 13/10/1988 Giới tính: Nam Chuyên nghành: Hệ Thống Thông Tin Địa chỉ: Võ Văn Lượt E-mail: boudalychnhi@gmail.com Ngày sinh: 19/05/1989 Giới tính: Nam Chuyên nghành: Hệ Thống Thông Tin Địa chỉ: E-mail: vanluot@gmail.com LỜI CẢM TẠ Chúng em xin chân thành cám ơn Khoa Công nghệ thông tin trường Đại học Nông Lâm Thành Phố Hồ Chí Minh tạo điều kiện thuận lợi cho chúng em thực luận văn Chúng em xin chân thành cảm ơn Cô Nguyễn Thị Thanh Thủy tận tình hướng dẫn, bảo lời động viên khuyến khích giúp đỡ chúng em suốt trình thực luận văn Chúng em xin chân thành cảm ơn q Thầy Cơ Khoa tận tình giảng dạy, trang bị cho chúng em kiến thức quý báu năm học vừa qua Chúng xin nói lên lòng biết ơn sâu sắc Ơng Bà, Cha Mẹ chăm sóc, ni dạy chúng thành người Xin chân thành cảm ơn anh chị bạn bè ủng hộ, giúp đỡ động viên chúng em thời gian học tập nghiên cứu Mặc dù chúng em cố gắng hoàn thành tốt luận văn phạm vi khả cho phép chắn không tránh khỏi thiếu sót định Chúng em kính mong nhận cảm thơng tận tình bảo q Thầy Cô bạn Sinh viên thực Phan Minh Triệu K’Bou Đa Lých Nhi Võ Văn Lượt Smart Learning Kit MỤC LỤC  Trang LỜI CẢM TẠ MỤC LỤC I DANH SÁCH CHỮ VIẾT TẮT IV DANH SÁCH CÁC THUẬT NGỮ TIẾNG ANH V DANH MỤC CÁC HÌNH VI CHƯƠNG MỞ ĐẦU 1.1 LÝ DO CHỌN ĐỀ TÀI 1.2 MỤC TIÊU ĐỀ TÀI 1.3 PHẠM VI NGHIÊN CỨU CHƯƠNG TỔNG QUAN CÔNG NGHỆ 2.1 MOODLE 2.2 DSPACE 2.3 KOHA 13 2.4 CAS - CENTRAL AUTHENTICATION SERVICE 18 2.5 LDAP 22 CHƯƠNG GIẢI PHÁP 26 3.1 PHÁT BIỂU BÀI TOÁN 26 3.2 HÌNH USECASE 33 3.3 KIẾN TRÚC HỆ THỐNG 36 3.4 KIẾN TRÚC CÀI ĐẶT 37 3.5 HÌNH CHỨNG THỰC 39 CHƯƠNG ĐÁNH GIÁ 41 4.1 MOODLE 41 4.2 DSPACE 42 4.3 KOHA 43 CHƯƠNG KẾT LUẬN HƯỚNG PHÁT TRIỂN 44 5.1 KẾT LUẬN 44 5.2 HƯỚNG PHÁT TRIỂN 44 TÀI LIỆU THAM KHẢO 45 PHỤ LỤC 46 GVHD: Ths Nguyễn Thị Thanh Thủy I SVTH: Triệu, Lượt, Nhi Smart Learning Kit DANH SÁCH CHỮ VIẾT TẮT  SSO Single Sign On ILL Interlibrary Loan ISBN International Standard Book Number LDAP Lightweight Directory Access Protocol LDIF LDAP Interchange Format OPAC Online Public Access Catalog URI Uniform Resource Identifier E-LEARNING Electronic Learning GPL General Public License LCMS Learning Content Management System LGPL Limit General Public License LMS Learning Management System LO Learning Object IEEE Institute of Electrical and Electronics Engineers IMS Instructional Management System SCORM Sharable Content Object Reference Model SMS Short Message Service VLE Virtual Learning Environment GVHD: Ths Nguyễn Thị Thanh Thủy II SVTH: Triệu, Lượt, Nhi Smart Learning Kit DANH SÁCH CÁC THUẬT NGỮ TIẾNG ANH  Completed Hoàn thành Customize Tùy chỉnh Database Cơ sở liệu Installing Cài đặt Password Mật User Người dùng Role Vai trò GVHD: Ths Nguyễn Thị Thanh Thủy III SVTH: Triệu, Lượt, Nhi Smart Learning Kit DANH MỤC CÁC HÌNH  Trang Hình 2.1: Kiến trúc hệ thống E-Learning 5  Hình 2.3: Kiến trúc hệ thống Moodle 6  Hình 2.4: Kiến trúc hệ thống Moodle có Plugin .6  Hình 2.5: Kiến trúc hệ thống Dspace 10  Hình 2.6: Kiến trúc hệ thống Koha 14  Hình 2.7: Các Module hình kiến trúc hệ thống Koha 15  Hình 2.8: Người dùng truy cập vào ứng dụng chứng thực với CAS server 20  Hình 2.9: Người dùng truy cập vào ứng dụng chưa chứng thực với CAS server 21  Hình 2.10: hình kết nối client/server 23  Hình 2.11: Cấu trúc LDAP 25  Hình 3.1: Người dùng truy cập vào ứng dụng chứng thực với CAS server 29  Hình 3.2: Người dùng truy cập vào ứng dụng chưa chứng thực với CAS server 30  Hình 3.3: Thao tác tìm kiếm với phạm vi base 31  Hình 3.4: Thao tác tìm kiếm với phạm vi onelevel 32  Hình 3.5: Thao tác tìm kiếm với phạm vi subtree .32  Hình 3.6: hình usecase người quản trị Moodle 33  Hình 3.7: hình usecase giáo viên Moodle 33  Hình 3.8: hình usecase học viên Moodle 34  Hình 3.9: hình usecase Administrator Dspace 34  Hình 3.10: hình usecase Normal User Dspace 35  Hình 3.11: hình usecase Koha 35  Hình 3.12: hình kiến trúc tổng thể .36  Hình 3.13: hình cài đặt hệ thống 37  Hình 3.14: Sơ đồ quản lý người dùng 38  Hình 3.15: hình chứng thực 39  Hình A.1: Giao diện cài AppServ 2.5.9 .47  Hình A.2: Giao diện License Agreement 47  Hình A.3: Giao diện chọn đường dẫn cài đặt 48  Hình A.4: Giao diện chọn component cần cài đặt .48  Hình A.5: Giao diện nhập thông tin server 49  Hình A.6: Giao diện nhập pass chọn Unicode 49  Hình A.7: Giao diện cài đặt thành công .50  Hình A.8: Giao diện chọn ngôn ngữ cài đặt Moodle 51  Hình A.9: Giao diện nhập thơng tin đường dẫn cài đặt .51  Hình A.10: Giao diện nhập thơng tin database Moodle 52  Hình A.11: Giao diện kiểm tra thông tin trước cài đặt 52  Hình A.12: Giao diện download gói ngơn ngữ 53  Hình A.13: Giao diện cấu hình hồn thành 53  Hình A.14: Giao diện nhập thông tin admin 54  Hình A.15: Giao diện cài đặt hồn thành 54  Hình A.16: Giao diện cài Apache thành công Ubuntu .55  GVHD: Ths Nguyễn Thị Thanh Thủy IV SVTH: Triệu, Lượt, Nhi Smart Learning Kit if (attlist[2] != null) { att = atts.get(attlist[2]); if (att != null) ldapSurname = (String) att.get(); } if (attlist[3] != null) { att = atts.get(attlist[3]); if (att != null) ldapPhone = (String) att.get(); } if (answer.hasMoreElements()) { // Oh dear - more than one match // Ambiguous user, can't continue } else { log.debug(LogManager.getHeader(context, "got DN", resultDN)); return resultDN; } } } catch (NamingException e) { // if the lookup fails go ahead and create a new record for them because the authentication // succeeded log.warn(LogManager.getHeader(context, "ldap_attribute_lookup", "type=failed_search " + e)); } } catch (NamingException e) { GVHD: Ths Nguyễn Thị Thanh Thủy 140 SVTH: Triệu, Lượt, Nhi Smart Learning Kit log.warn(LogManager.getHeader(context, "ldap_authentication", "type=failed_auth " + e)); } finally { // Close the context when we're done try { if (ctx != null) ctx.close(); } catch (NamingException e) { } } // No DN match found return null; } /** * contact the ldap server and attempt to authenticate */ protected boolean ldapAuthenticate(String netid, String password, Context context) { System.out.println("ldapAuthenticate"); // if (!password.equals("")) { // Set up environment for creating initial context Hashtable env = new Hashtable(); env.put(javax.naming.Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory"); env.put(javax.naming.Context.PROVIDER_URL, GVHD: Ths Nguyễn Thị Thanh Thủy 141 SVTH: Triệu, Lượt, Nhi Smart Learning Kit ldap_provider_url); // Authenticate env.put(javax.naming.Context.SECURITY_AUTHENTICATION, "Simple"); env.put(javax.naming.Context.SECURITY_PRINCIPAL, netid); // env.put(javax.naming.Context.SECURITY_CREDENTIALS, password); // env.put(javax.naming.Context.AUTHORITATIVE, "true"); env.put(javax.naming.Context.AUTHORITATIVE, "false"); env.put(javax.naming.Context.REFERRAL, "follow"); DirContext ctx = null; try { // Try to bind ctx = new InitialDirContext(env); } catch (NamingException e) { log.warn(LogManager.getHeader(context, "ldap_authentication", "type=failed_auth " + e)); return false; } finally { // Close the context when we're done try { if (ctx != null) ctx.close(); } catch (NamingException e) { } } // } else { // // return false; } GVHD: Ths Nguyễn Thị Thanh Thủy 142 SVTH: Triệu, Lượt, Nhi Smart Learning Kit return true; } } } Thay file chooser.jsp folder [DSPACE_Source]\dspace\target\dspace-1.6.0build.dir\webapps\jspui\login\ GVHD: Ths Nguyễn Thị Thanh Thủy 143 SVTH: Triệu, Lượt, Nhi Smart Learning Kit

GVHD: Ths Nguyễn Thị Thanh Thủy 146 SVTH: Triệu, Lượt, Nhi Smart Learning Kit Thay file LogoutServlet.java folder [DSPACE_Source]\dspace- jspui\dspace-jspui-api\src\main\java\org\dspace\app\webui\servlet để đăng xuất khỏi CASServer package org.dspace.app.webui.servlet; import java.io.IOException; import java.sql.SQLException; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.log4j.Logger; import org.dspace.app.webui.util.Authenticate; import org.dspace.app.webui.util.JSPManager; import org.dspace.authorize.AuthorizeException; import org.dspace.core.ConfigurationManager; import edu.yale.its.tp.cas.client.ServiceTicketValidator; import edu.yale.its.tp.cas.util.SecureURL; import org.dspace.core.Context; import org.dspace.core.LogManager; /** * Servlet that logs out any current user if invoked * * @author Robert Tansley * @version $Revision: 3705 $ */ public class LogoutServlet extends DSpaceServlet { /** log4j logger */ private static Logger log = GVHD: Ths Nguyễn Thị Thanh Thủy 147 SVTH: Triệu, Lượt, Nhi Smart Learning Kit Logger.getLogger(LogoutServlet.class); protected void doDSGet(Context context, HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException, SQLException, AuthorizeException { log.info(LogManager.getHeader(context, "logout", "")); String urlLogout = ""; String serviceLogout = (String)request.getSession().getAttribute("serviceLogout"); if(serviceLogout == null){ // Display logged out message urlLogout = "/login/logged-out.jsp"; Authenticate.loggedOut(context, request); JSPManager.showJSP(request, response, urlLogout); } if(serviceLogout != null) { String casLogout = ConfigurationManager.getProperty("cas.logout.url"); String homeApplication = ConfigurationManager.getProperty("dspace.url.logout") // ServiceTicketValidator stv = new ServiceTicketValidator(); //stv.setRenew(true); // request.getSession().removeAttribute("serviceLogout"); request.getSession().removeAttribute("serviceLogout"); System.out.println(" logout"); urlLogout = casLogout+"?url="+homeApplication; Authenticate.loggedOut(context, request); response.sendRedirect(urlLogout); GVHD: Ths Nguyễn Thị Thanh Thủy 148 SVTH: Triệu, Lượt, Nhi Smart Learning Kit } } }  Cấu hình xác thực qua CAS LDAP file dspace.cfg Yêu cầu: - Làm việc với CAS 2.0 nghĩa là: user/net ID nhận từ CAS định dạng XML - Yêu cầu thư viện Cas Client – đưa vào lib ứng dụng theo bước 5.1.1 - Yêu cầu sử dụng giao thức bảo mật https để giao tiếp với CasServer - Sử dụng ID người dùng (qua trình duyệt web) từ CasServer xác thực thành công – lấy email Cách cấu hình: Thay đổi file dspace.cfg [DSPACE SOURCE]\dspace\config plugin.sequence.org.dspace.eperson.AuthenticationMethod = \ org.dspace.eperson.CASAuthentication dspace.url = https://hcmuaf.edu.vn:8080/dspace/index.jsp dspace.url.logout = http://dspace.myftp.org:8080/dspace/logout ##cas.server.url= URL đến trang đăng nhập CAS cas.server.url= https://hcmuaf.edu.vn:8443/cas/login ## cas.validate.url= URL nơi CAS ticket xác nhận cas.validate.url= https://hcmuaf.edu.vn:8443/cas/serviceValidate ##cas.logout.url= URL đến trang đăng xuất CAS cas.logout.url= https://hcmuaf.edu.vn:8443/cas/logout ## tạo người dùng ứng dụng sau xác thực thành công webui.cas.autoregister = true Config LDAP để làm việc với CASServer file dspace.cfg GVHD: Ths Nguyễn Thị Thanh Thủy 149 SVTH: Triệu, Lượt, Nhi Smart Learning Kit # ví dụ có nhánh quản lí user LDAP : o=it,dc=hcmuaf,dc=edu,dc=vn # Mở kết nối LDAP ldap.enable = true # Url kết nối đến LDAP ldap.provider_url = ldap://localhost:389/ # Thiết lập trường để tìm kiếm UIL email ldap.id_field = uid # Đối tượng url tìm kiếm ldap.object_context = o=it,dc=hcmuaf,dc=edu,dc=vn ldap.search_context = dc=hcmuaf,dc=edu,dc=vn # Thiết lập trường khác để lấy liệu người dùng ldap.email_field = mail ldap.surname_field = sn ldap.givenname_field = givenName ldap.phone_field = telephoneNumber # Bật tính tự động cập nhật tài khoản người dùng webui.ldap.autoregister = true # Xác định giới hạn tìm kiếm ldap.search_scope = # Thơng tin đăng nhập quản trị LDAP server ldap.search.user = cn=Directory Manager ldap.search.password = admin  Tiến hành rebuild lại ứng dụng  Rebuild gói ứng dụng DSpace Chạy dòng lệnh sau cmd (từ thư mục [dspace-source]/dspace/ ): GVHD: Ths Nguyễn Thị Thanh Thủy 150 SVTH: Triệu, Lượt, Nhi Smart Learning Kit Cd [dspace-source]/dspace/ mvn package  Cập nhật tất thư mục DSpace webapps [dspace]/webapps Chạy dòng lệnh sau cmd (từ thư mục [dspacesource]/dspace/target/dspace-[version]-build.dir ): Cd [dspace-source]/dspace/target/dspace-[version]build.dir Ant update Hoặc Cd [dspace-source]/dspace/target/dspace-[version]build.dir ant -Dconfig=[dspace]/config/dspace.cfg update ## Deploy the the new webapps: cp -R /[dspace]/webapps/* /[tomcat]/webapps  Khởi động lại webserver Tomcat - Windown: vào thư mục bin thư mục cài đặt Tomcat chạy file startup.bat - Unix/ Linux: vào thư mục bin thư mục cài đặt Tomcat chạy file startup.sh GVHD: Ths Nguyễn Thị Thanh Thủy 151 SVTH: Triệu, Lượt, Nhi Smart Learning Kit D CẤU HÌNH CAS TRÊN KOHA  Tùy chỉnh CAS - Là chức tích hợp Koha từ phiên 3.2 beta, cho phép đăng nhập SSO (single sign on) với nhiều ứng dụng khác - Chúng ta dễ dàng bật/tắt CAS qua bước:  Cài CAS [tham khảo]  Cấu hình CAS với csdl quản lí user, ta chọn OpenDS-LDAP [tham khảo]  Tùy chỉnh koha Intranet -> Administration -> Global System Preferences -> Administration -> CAS Authentication -> casAuthentication: Don't use | Use -> casLogout: Don't logout | Logout -> casServerUrl: [url cas server]  Tùy chỉnh LDAP - Là chức cho phép kết nối với LDAP thông qua giao thức TCP/IP để chứng thực người dùng - Để sử dụng LDAP ta làm bước sau:  Cài đặt OpenDS-LDAP [tham khảo]  Cấu hình, phần để thẻ file cấu hình /etc/koha/koha-config.xml GVHD: Ths Nguyễn Thị Thanh Thủy 152 SVTH: Triệu, Lượt, Nhi Smart Learning Kit [Address LDAP server]:[port] dc=it,dc=nlu,dc=edu cn=NL DN, cn root LDAP > 12345 > 1 > 1 update existing users in Koha database > 0 match SQL field names to your LDAP record field names > [Default] [Default] [Default] [Default] [match with database] [Default] [Default] [Default] [Default]  Sau hồn tất bạn thử login tài khoản LDAP, trước bạn phải restart lại server /etc/init.d/apache2 restart - Chú ý: Sau hồn tất việc cấu hình CAS LDAP bạn dùng user LDAP đăng nhập vào hệ thống thông qua CAS với điều kiện user thêm vào csdl koha hay nói cách khác user đăng nhập lần cách thơng thường (nhằm thêm user vào csdl koha) GVHD: Ths Nguyễn Thị Thanh Thủy 153 SVTH: Triệu, Lượt, Nhi Smart Learning Kit E HƯỚNG DẪN SỬ DỤNG TÙY CHỈNH MOODLE, DSPACE KOHA  Moodle Moodle_SoftwareArchitectureDocument Moodle_UserGuide Moodle_Customizations Moodle_Office add in  Dspace Dspace_SAD Dspace_UserGuide Dspace_Customizations  Koha Koha_SAD Koha_Customizations GVHD: Ths Nguyễn Thị Thanh Thủy 154 SVTH: Triệu, Lượt, Nhi ...BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC NÔNG LÂM TP HCM KHOA CÔNG NGHỆ THÔNG TIN LUẬN VĂN TỐT NGHIỆP TÌM HIỂU CÁC HỆ THỐNG HỌC MÃ NGUỒN MỞ VÀ XÂY DỰNG HỆ THỐNG MINH HỌA SMART LEARNING KIT Giáo viên... Smart Learning Kit 2.1.2.2 Kiến trúc hệ thống Moodle  Kiến trúc hệ thống Moodle chưa có Plugin Hình 2.2: Kiến trúc hệ thống Moodle  Kiến trúc hệ thống Moodle Plugin Hình 2.3: Kiến trúc hệ thống. .. Hiện thực hệ thống Smart Learning Kit (SLK) cho khoa Công Nghệ Thông Tin – Đại Học Nông Lâm Thành Phố Hồ Chí Minh GVHD: Ths Nguyễn Thị Thanh Thủy SVTH: Triệu, Lượt, Nhi Smart Learning Kit CHƯƠNG

Ngày đăng: 12/06/2018, 15:26

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN