105
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 ĐỒ ÁN CHUYÊN NGÀNH Triển Khai Sakai Ngành: CNTT Niên khoá: 2009-2013 Lớp: DH09DT Sinh viên thực hiện: 09130082 09130006 09130099 1

Báo cáo SAKAI Final

Embed Size (px)

DESCRIPTION

deploy sakai tren tomcat

Citation preview

Page 1: Báo cáo SAKAI Final

BỘ GIÁO DỤC VÀ ĐÀO TẠOTRƯỜNG ĐẠI HỌC NÔNG LÂM TP HCM

KHOA CÔNG NGHỆ THÔNG TIN

ĐỒ ÁN CHUYÊN NGÀNH

Triển Khai Sakai

Ngành: CNTTNiên khoá: 2009-2013Lớp: DH09DTSinh viên thực hiện:

091300820913000609130099

TP.HỒ CHÍ MINH, tháng 6 năm 2013

1

Page 2: Báo cáo SAKAI Final

BỘ GIÁO DỤC VÀ ĐÀO TẠOTRƯỜNG ĐẠI HỌC NÔNG LÂM TP HCM

KHOA CÔNG NGHỆ THÔNG TIN

ĐỒ ÁN CHUYÊN NGÀNH

Triển Khai Sakai

Giáo viên hướng dẫn: Sinh viên thực hiện:

Phạm Công Thiện 091300820913000609130099

2

Page 3: Báo cáo SAKAI Final

LỜI CẢM ƠN

Lời cảm ơn đầu tiên, chúng em xin kính gửi lòng biết ơn chân thành đến ông bà,

cha mẹ đã nuôi dưỡng và dạy bảo để chúng em có ngày hôm nay.

Xin cảm ơn quý Thầy, Cô trường Đại học Nông Lâm TP.HCM, đặc biệt là các

Thầy, Cô Khoa Công Nghệ Thông Tin đã tận tình truyền đạt những kiến thức và kinh

nghiệm cho chúng em trong suốt thời gian học tập tại trường.

Cảm ơn thầy, thạc sĩ Phạm Công Thiện đã tận tình hướng dẫn chúng em trong

suốt thời gian thực hiện đề tài này.

Xin cảm ơn các bạn trong lớp DH09DT đã chia sẻ, giúp đỡ và động viên chúng

tôi trong suốt thời gian học tập tại trường cũng như trong thời gian thực hiện đề tài.

Mặc dù chúng em đã cố gắng hoàn thành đề tài này với tất cả nỗ lực, nhưng vẫn

không tránh khỏi những thiếu sót nhất định. Kính mong nhận được sự chỉ bảo của quý

Thầy, Cô và sự góp ý chân thành của các bạn.

Kính chúc quý thầy cô mạnh khỏe, tiếp tục đạt được nhiều thắng lợi trong giảng

dạy, trong nghiên cứu khoa học và trong sự nghiệp trồng người.

Xin chân thành cảm ơn !

Sinh viên thực hiện:

Trần Bảo Thắng 09130082

Nguyễn Hoàng Chương 09130006

Nguyễn Tuấn Văn 09130099

3

Page 4: Báo cáo SAKAI Final

I. Mục lục

ContentsI. Mục lục................................................................................................................4

II. Tìm hiểu về Sakai................................................................................................8

1. Giới thiệu Sakai project...................................................................................8

2. Tổ chức Sakai (Sakai Foundation)...................................................................8

3. Cộng đồng Sakai (Sakai Community).............................................................8

4. Sakai CLE........................................................................................................9

III. Tính năng.............................................................................................................9

IV. Hướng dẫn cài đặt và triển khai.........................................................................11

1. Chuẩn bị.........................................................................................................11

2. Cài đặt............................................................................................................11

2.1 Cài đặt Java 1.7....................................................................................11

2.2 Cài đặt Maven 3.0.4.............................................................................14

2.3 Cài đặt MySQL....................................................................................19

2.4 Giải nén gói Sakai-src 2.9.0.................................................................31

2.5 Cài đặt Tomcat7...................................................................................31

2.6 Deploy sakai........................................................................................34

V. Bộ công cụ giao tiếp giữa giảng viên và sinh viên............................................61

5.1 Announcement – Thông báo.......................................................................61

Cách tạo thông báo..................................................................................61

Xem – Chỉnh sửa thông báo....................................................................62

Kết hợp thông báo của trang học khác....................................................62

5.2 Schedule – Lịch công tác............................................................................63

Tạo một sự kiện trong lịch công tác........................................................63

Lấy sự kiện từ trang khác........................................................................64

VI. Các vấn đề tìm hiểu liên quan...........................................................................65

6.1 Maven.........................................................................................................65

4

Page 5: Báo cáo SAKAI Final

6.1.1 Khái niệm về Maven................................................................................65

6.1.2 Ưu điểm của Maven...............................................................................65

6.2 Giới thiệu Portal – Liferay.................................................................................65

6.2.1 Portal là gì?...............................................................................................65

6.2.2 Giới thiệu về Liferay.................................................................................68

VII. Phân Quyền....................................................................................................70

7.1 Phân quyền tài khoản:........................................................................................70

7.2 Phân quyền – Chức Năng – Mô tả.....................................................................71

VIII. Demo tạo project site.....................................................................................83

8.1 Tạo project site:..........................................................................................83

8.2 Tạo  Announcements (thông báo):.............................................................88

8.3 Tạo Assignments(bài tập):..........................................................................89

IX. Kết quả đạt được................................................................................................93

5

Page 6: Báo cáo SAKAI Final

6

Page 7: Báo cáo SAKAI Final

DANH SÁCH CHỮ VIẾT TẮTSSO Single Sign On

OpenSSO Open Single Sign On

ESSO Enterprise Single Sign On

CAS Central Authentication Service

JDK Java Development Kit

J2EE Java 2 Platform, Enterprise Edition

LDAP Lightweight Directory Access Protocol

URI Uniform Resource Identifier

URL Uniform Resource Locator

LMS Learning Mangement System

Sakai CMS Sakai Course Management System

API Application Programming Interface

CSDL Cơ Sở Dữ Liệu

7

Page 8: Báo cáo SAKAI Final

I. Tìm hiểu về Sakai1. Giới thiệu Sakai project.

Sakai (http://sakaiproject.org/) là một cộng đồng các viện nghiên cứu, các tổ

chức thương mại và các cá nhân hợp tác với nhau để phát triển một Môi trường

Cộng tác và Học tập chung (Collaboration and Learning Environment - CLE).

Sakai ban đầu được phát triển dựa trên các công cụ được xây dựng bởi 5 trường

đại học Indiana University, Massachusetts Institute of Technology, Stanford

University, University of Michigan, Polytechnic University of Valencia.

Sau phiên bản đầu tiên, họ mời thêm các học viện khác với tư cách là những

người cộng tác (Sakai Partners Program).

Hiện tại việc phát triển Sakai được thực hiện dưới sự cộng tác của nhiều học

viện, trường đại học, các tổ chức thương mại, những cá nhân tình nguyện và tổ

chức Sakai.

2. Tổ chức Sakai (Sakai Foundation).

- Là một thành viên được hơn 100 tổ chức, học viện, tài trợ kinh phí khiêm tốn

cho những hoạt động phi lợi nhuận bao gồm việc quản lý các tài nguyên trí

tuệ của Sakai, bảo trì hệ thống Sakai, phát hành Sakai và là người phát ngôn

của Sakai.

3. Cộng đồng Sakai (Sakai Community).

- Là sự đóng góp của nhiều tổ chức và cá nhân trên thế giới. Cộng đồng Sakai

chịu trách nhiệm về mọi khía cạnh của Sakai CLE. Họ tin rằng việc phát triển

mô hình dựa vào cộng động sẽ tạo ra sản phẩm tốt nhất.

- Các học viện dù lớn hay nhỏ đều có thể hợp tác với các đối tác thương mại

của Sakai, những người cung cấp host và các dịch vụ phát triển, hỗ trợ để

ứng dụng Sakai vào học viện của mình.

8

Page 9: Báo cáo SAKAI Final

4. Sakai CLE 

- là một phần mềm giáo dục miễn phí, mã nguồn mở được phân phối theo Giấy

phép Giáo dục Cộng đồng (Educational Community License - một kiểu của

giấy phép mã nguồn mở). Sakai CLE được dùng để dạy học, để nghiên cứu

và để cộng tác nhiều người với nhau. Hệ thống này là một dạng của Hệ quản

trị đào tạo (Learning Management System - LMS). Vào tháng 7 năm 2007,

Sakai là sản phẩm được hơn 150 viện nghiên cứu tham gia phát triển và được

thí điểm ở hơn 100 nơi khác.

- Hiện nay, Sakai được áp dụng cho hơn 160 học viện, trường đại học, cao

đẳng… trên toàn thế giới.

- Hình 32 - Các nơi nghiên cứu và sử dụng Sakai

II. Tính năng.

- Sakai bao gồm nhiều tính năng chung của các Hệ quản trị đào tạo, bao gồm

đưa lên các tài liệu hướng dẫn, sách giáo trình, mục thảo luận, trao đổi trực

tuyến, bài tập lớn, và các bài kiểm tra online.

- Thêm vào đó, Sakai còn cung cấp một bộ công cụ làm việc nhóm dùng cho

nghiên cứu và các dự án nhóm. Để hỗ trợ các tính năng này, Sakai đã thêm

vào khả năng thay đổi thiết lập của tất cả mọi công cụ dựa trên vai trò, thay

9

Page 10: Báo cáo SAKAI Final

đổi quyền hệ thống tùy theo người dùng. Nó cũng tích hợp một wiki, mailing

list và lưu trữ, bộ đọc RSS.

10

Page 11: Báo cáo SAKAI Final

III. Hướng dẫn cài đặt và triển khai1. Chuẩn bị

Java JDK 1.7

Apache Maven 3.0.4

Tomcat7

MySQL 5.5.30

Source Sakai 2.9.0

MySQL Java Connector

- Tất cả có trong thư mục kèm tài liệu này.

2. Cài đặtTạo thư mục opt trong ổ đỉa C (C:\opt). Là nơi chứa tất cả các cài đặt

2.1 Cài đặt Java 1.7 Download Java JDK 1.7+

11

Page 12: Báo cáo SAKAI Final

Cài đặt Java JDK vào thư mục opt. Java JRE vào 1 thư mục khác nếu không sẽ gặp một số lỗi không mong muốn (nên để mặc định)

Thêm biến môi trường:

- Chọn tiếp:

12

Page 13: Báo cáo SAKAI Final

- Chọn New để tạo biến môi trường:

- Thiết lập biến môi trường:

- Thiết lập biến môi trường:

13

JAVA_HOME = C:\opt\Java\jdk1.7.0_17

Page 14: Báo cáo SAKAI Final

JAVA_HOME = C:\opt\Java\jdk1.7.0_17

- Nếu trong quá trình deploy biến môi trường trên thông báo lỗi ta thiết lập lại như sau:

- Thêm vào sau biến Path: ; C:\opt\Java\jdk1.7.0_17\bin

2.2 Cài đặt Maven 3.0.4- Download và giải nén vào thư mục opt

14

JAVA_OPTS = -server -Xmx1028m -XX:MaxPermSize=320m -Djava.awt.headless=true -Dcom.sun.management.jmxremote -Dsun.lang.ClassLoader.allowArraySyntax=true

JAVA_OPTS = -server -Xms512m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=512m -XX:NewSize=192m -XX:MaxNewSize=384m -Djava.awt.headless=true -Dhttp.agent=Sakai -Dorg.apache.jasper.compiler.Parser.STRICT_QUOTE_ESCAPING=false -Dsun.lang.ClassLoader.allowArraySyntax=true

Page 15: Báo cáo SAKAI Final

MAVEN_OPTS = -Xms128m -Xmx796m -XX:PermSize=64m -XX:MaxPermSize=172m

- Thiết lập biến môi trường:

--

- Thiết lập biến môi trường:

15

MAVEN_HOME = C:\opt\apache-maven-3.0.5

Page 16: Báo cáo SAKAI Final

MAVEN_OPTS = -Xms128m -Xmx796m -XX:PermSize=64m -XX:MaxPermSize=172mXX:MaxPermSize=512m

- Nếu trong quá trình deploy biến môi trường trên thông báo lỗi ta thiết lập lại

như sau:

- Tạo thư mục .m2 để chứa thư viện biên dịch bằng lệnh sau (paste vào cmd):

16

mkdir %HOMEDRIVE%%HOMEPATH%\.m2\repository

Page 17: Báo cáo SAKAI Final

17

Page 18: Báo cáo SAKAI Final

<settings xmlns="http://maven.apache.org/POM/4.0.0"

   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0

                      http://maven.apache.org/xsd/settings-1.0.0.xsd">

  <profiles>

    <profile>

      <id>tomcat5x</id>

      <activation>

        <activeByDefault>true</activeByDefault>

      </activation>

      <properties>

        <appserver.id>tomcat5x</appserver.id>

        <appserver.home>/opt/tomcat</appserver.home>

        <maven.tomcat.home>/opt/tomcat</maven.tomcat.home>

        <sakai.appserver.home>/opt/tomcat</sakai.appserver.home>

        <surefire.reportFormat>plain</surefire.reportFormat>

        <surefire.useFile>false</surefire.useFile>

      </properties>

    </profile>

  </profiles>

</settings>

- Tạo file settings.xml trong thư mục .m2 với nội dung:(có thể lấy trong thư

mục kèm theo tài liệu này).

18

Page 19: Báo cáo SAKAI Final

2.3 Cài đặt MySQL

- Download và cài đặt vào thư mục opt

- Chọn next:

19

Page 20: Báo cáo SAKAI Final

20

Page 21: Báo cáo SAKAI Final

- Chọn thư mục cài đặt là c:\opt:

21

Page 22: Báo cáo SAKAI Final

Cài msql:

22

Page 23: Báo cáo SAKAI Final

23

Page 24: Báo cáo SAKAI Final

24

Page 25: Báo cáo SAKAI Final

25

Page 26: Báo cáo SAKAI Final

26

Page 27: Báo cáo SAKAI Final

- Trong lúc cài đặt, đánh dấu check vào yêu cầu thêm thư mục bin vào Path

- Không sử dụng anonymous account

- Đặt pass là: root

27

Page 28: Báo cáo SAKAI Final

28

Page 29: Báo cáo SAKAI Final

default-storage-engine = InnoDBinnodb_file_per_tablecharacter-set-server=utf8collation-server=utf8_general_cilower_case_table_names = 1log_output=FILElog=/tmp/mysql-query.logslow-query-log=1long_query_time=1slow_query_log_file=/tmp/mysql-slow-query.logexpire_logs_days=5

- Vào thư mục chứa MySQL. Sửa file my.ini. Tìm cụm từ [mysqld] và thêm

vào sau đó đoạn code sau:

-

29

Page 30: Báo cáo SAKAI Final

- Tạo Database cho sakai. Vào cmd gõ:

- Paste đoạn code này vào cửa sổ mysql

30

mysql –uroot –proot

Page 31: Báo cáo SAKAI Final

2.4 Giải nén gói Sakai-src 2.9.0

- Download và đặt vào thư mục opt đỗi tên thư mục Sakai-src 2.9.0 thành

Sakai-src

2.5 Cài đặt Tomcat7

- Download vào thư mục opt (đổi tên thành tomcat – không được có khoảng

trắng)

31

create database sakai default character set utf8;grant all privileges on sakai.* to 'sakai'@'localhost' identified by 'ironchef';flush privileges;quit

Page 32: Báo cáo SAKAI Final

- Thiết lập biến môi trường: CATALINA_HOME: C:\opt\tomcat

- Thêm vào sau biến Path: ; C:\opt\tomcat\bin

- Vào vào file tomcat/conf/catalina.properties.

32

Page 33: Báo cáo SAKAI Final

- Tìm “common.loader=”. thêm vào sau đó:

- Tìm “shared.loader=”. thay bằng:

- Tìm “server.loader=”. thay bằng:

33

,${catalina.base}/common/classes/,${catalina.base}/common/lib/*.jar

${catalina.base}/shared/classes/,${catalina.base}/shared/lib/*.jar

Page 34: Báo cáo SAKAI Final

- Vào

<sakai>/config/configuration/bundles/src/bundle/org/sakaiproject/config/bundle/default.sakai.properties. Copy file default.sakai.properties vào thư mục tomcat/sakai (tạo thêm thư mục sakai) và đỗi tên thành sakai.properties.

- Sửa file copy đó. Như sau:

- Sửa tiếp :

34

${catalina.base}/server/classes/,${catalina.base}/server/lib/*.jar

[email protected][email protected]=ironchef

# HSQLDB settings (DEFAULT) #[email protected]=hsqldb#[email protected]=org.hsqldb.jdbcDriver#hibernate.dialect=org.hibernate.dialect.HSQLDialect#[email protected]=select 1 from INFORMATION_SCHEMA.SYSTEM_USERS# Two hsqldb storage options: first for in-memory (no persistence between runs), second for disk based.#[email protected]=jdbc:hsqldb:mem:sakai#[email protected]=jdbc:hsqldb:file:${sakai.home}db/sakai.db

Page 35: Báo cáo SAKAI Final

- Sửa tiếp :

2.6 Deploy sakai

- Tải và giải nén mysql-connector-java-5.1.24.rar sau đó vào trong thư mục

mysql-connector-java-5.1.24 coppy mysql-connector-java-5.1.24-bin.jar vào

C:\opt\tomcat\lib

- Mở cmd dùng lệnh cd c:\opt\sakai-src để chuyển đến thư mục sakai.

- Gõ mvn clean install -Dmaven.test.skip=true

35

# MySQL [email protected][email protected]=com.mysql.jdbc.Driverhibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialecturl@javax.sql.BaseDataSource=jdbc:mysql://127.0.0.1:3306/sakai?useUnicode=true&[email protected]=select 1 from [email protected]=TRANSACTION_READ_COMMITTED

Page 36: Báo cáo SAKAI Final

- Sau khi build xong sẽ hiện BUILD SUCCESS. Gõ tiếp

mvn clean install -Dmaven.test.skip=true sakai:deploy -Dmaven.tomcat.home=C:\opt\tomcat

Sau khi deploy xong gõ startup.bat

Vào trình duyệt web gõ localhost:8080/portal để vào sakai :

-- User: admin

- Pass: admin

--

1.Bộ công cụ để dạy và học, quản lý điểm số.

36

Page 37: Báo cáo SAKAI Final

1.1 Syllabus – Đề cương bài giảng.1.1.1 Tạo đề cương.

- Chọn Syllabus > Create/Edit > Add.

- Title: Đặt tên cho đề cương môn học.

- Content: Nơi soạn thảo nội dung của đề cương.

- Public View: Bất kỳ ai cũng có thể xem được đề cương.

- Only for Site: Chỉ cho phép thành viên khóa học được xem đề cương.

- Add Attachments: Đính kèm tệp tin cho đề cương.

- Email Notification: Thông báo mail về đề cương môn học.

- Post: Đưa đề cương lên.

- Preview: Xem lại đề cương.

- Save Draft: Lưu đề cương thành bản nháp để chỉnh sửa sau.

1.1.2 Lấy từ đề cương có sẵn trên web.

37

Page 38: Báo cáo SAKAI Final

- Chọn Syllabus > Create/Edit > Redirect > Nhập vào đường dẫn đến trang

web.

2.Gradebook – Sổ điểm.

Giúp giảng viên tính điểm, lưu trữ và thông báo điểm cho sinh viên.

Tự động tính toán điểm của khóa học.

Có thể cho xem, nhập mới, chỉnh sửa và công bố đến sinh viên điểm và các lời phê.

Có thể chuyển điểm vào từ các công cụ khác như Test and Quizzes, Assignment.

Xuất/Nhập điểm và xếp loại ra dạng .csv.

38

Page 39: Báo cáo SAKAI Final

Hình 34 – Sổ điểm

All Grades: Xem tất cả các điểm của tất cả của sinh viên.

Course Grades: Xem điểm khóa học của tất cả các sinh viên.

Gradebook Setup: Một số thiết lập cho sổ điểm.

Course Grade Options: Tùy chọn điểm cho khóa học (quy định cách đánh giá khóa

học theo điểm chữ (A-F) hoặc đánh giá theo đậu/rớt).

Import Grades: Nhập điểm số từ tệp tin Bảng tính và một số tùy chọn khác.

39

Page 40: Báo cáo SAKAI Final

Add Gradebook Item: Thêm một mục sổ điểm.

Import gradebook item from spreadsheet.

Gradebook Items Summary.

Title: Tiêu đề của sổ điểm.

Edit: Chỉnh sửa.

ClassAvg: Điểm trung bình của lớp (trung bình tất cả các sinh viên).

Due Date: Ngày hết hạn của sổ điểm.

Released to Students: đã cho sinh viên xem sổ điểm này chưa.

Included in Course Grade: Mục sổ điểm này có được tính vào trong điểm chung của khóa học hay không.

6.1.4 Quy định cách đánh giá môn học.

Giảng viên có thể quy định cách đánh giá cuối môn học với kết quả Đậu/Rớt hoặc điểm bằng chữ A-F.

40

Page 41: Báo cáo SAKAI Final

Hình 35 - Sakai Gradebook - Quy định cách đánh giá môn học

Chọn công cụ Grade Book > Change course grade options.

41

Page 42: Báo cáo SAKAI Final

Hình 36 - Sakai Gradebook - Quy định cách đánh giá môn học (tt)

Display course grade to students now: Chọn nếu muốn hiển thị kết quả điểm môn học

đến thời điểm hiện tại cho sinh viên.

Grade Type:

Letter Grades (with +/-): Đánh giá kết quả cuối cùng của môn học theo điểm chữ

từ A-F

Pass/Not Pass: Đánh giá kết quả cuối cùng của môn học là đậu hay rớt.

Rồi điền bên dưới (hoặc để mặc định) tỷ lệ % điểm sinh viên phải đạt được để tương

ứng vớt kết quả đánh giá.

42

Page 43: Báo cáo SAKAI Final

6.1.5 Quy định hệ số điểm cho bài kiểm tra/bài tập.

Giáo viên quy định bài kiểm tra/bài tập theo các nhóm rồi quy định hệ số điểm tương

ứng cho mục đó.

Ví dụ: Bài thi giữa kìa chiếm 40% tổng điểm, bài thi cuối kỳ chiếm 40% tổng điểm, các

bài tập chiếm 20% tổng điểm (lưu ý tổng các tỷ lệ phải đủ 100%).

43

Page 44: Báo cáo SAKAI Final

Hình 37 - Sakai Gradebook - Quy định hệ số điểm cho bài kiểm tra/bài tập

Chọn công cụ Gradebook > Gradebook Setup.

Categories & Weighting: Phân loại cho bài kiểm tra/bài tập và gán cho hệ số điểm.

Sau đó điền các phân loại và tỷ lệ điểm tương ứng.

Chọn Save Changes để lưu các thay đổi.

44

Page 45: Báo cáo SAKAI Final

Hình 38 - Quy định hệ số điểm cho bài kiểm tra/bài tập (tt)

Sau khi lưu các thay đổi, trở lại Gradebook Items.

Đối với các Mục sổ điểm (Gradebook Item) đã tạo trước đó (nếu có) mà chưa phân loại (Unassigned) thì chọn Edit để phân loại.

45

Page 46: Báo cáo SAKAI Final

Hình 39 - Quy định hệ số điểm cho bài kiểm tra/bài tập (tt)

6.1.6 Cách tạo sổ điểm.

Chọn Gradebook > Add Gradebook Item.

Title: Tiêu đề sổ điểm.

Gradebook Item Point Value (điểm thực của sinh viên trong mục sổ điểm được tính

dựa trên tỉ lệ điểm bài tập/ Gradebook Item Point Value).

Ví dụ: Bài tập A sử dụng mục sổ điểm B này (với Gradebook Item Point Value = 20),

nếu bài tập A sinh viên được 10 điểm thì điểm thực tính theo mục sổ điểm B là 10/20.

Due Date: Ngày hết hạn của sổ điểm.

46

Page 47: Báo cáo SAKAI Final

Release this item to Students: Cho phép sinh viên thấy sổ điểm này.

Include this item in course grade calculations: Tính vào điểm khóa học.

6.1.7 Sử dụng sổ điểm.

Ghi chú: Một mục trong sổ điểm (Gradebook) có thể được tạo bằng công cụ Gradebook hoặc cũng có thể được tạo từ các công cụ khác như Bài tập (Assginment), Kiểm tra (Test and Quizzes).

Trong phần tạo bài tập, phần Grading, chọn Associate with existing Gradebook

entry để sử dụng một mục trong sổ điểm đã có sẵn hoặc chọn Add Assginment to

Gradebook để tạo mới một mục sổ điểm cho bài tập này.

Hình 40 - Sử dụng sổ điểm khi tạo bài tập

Trong phần tạo bài kiểm tra (Test and Quizzes).

Vào mục Settings (cài đặt một số thông tin cho bài kiểm tra), mục Grading, chọn

Grades sent to Gradebook.

47

Page 48: Báo cáo SAKAI Final

Hình 41 - Sử dụng sổ điểm khi tạo bài kiểm tra

6.1.8 Assignment – Bài tập.

Giúp giảng viên tạo, gửi bài tập cho sinh viên và chấm điểm trực tuyến, cho lời phê các

bài tập đó.

Hỗ trợ nhiều cách tính điểm, đánh giá (điểm chữ, điểm số, phần trăm, đậu/rớt).

Tạo bài tập.

Chọn trang học thích hợp, nơi mà người dùng có tư cách giảng viên.

Chọn Assigment > Add, để bắt đầu tạo một bài tập.

Title: Tên bài tập.

Open Date: Ngày bài tập được gửi đến sinh viên. Sinh viên không thể thấy và làm bài

nếu chưa đến ngày này.

Due Date: Hạn nộp bài.

Accept until: Hạn nộp cuối, sau ngày này sinh viên không thể làm hay nộp bài cho giáo

viên.

48

Page 49: Báo cáo SAKAI Final

Student Submission: Chọn hình thức để sinh viên nộp bài

Inline and Attachments: Nộp dạng chữ và tệp tin đính kèm.

Inline only: Chỉ nộp dạng chữ.

Attachments only: Chỉ dùng tệp tin đính kèm.

Non-electronic: Không nộp qua site khóa học (có thể là nộp trực tiếp với giáo viên).

Grade Scale: Cách tính điểm.

Ungrade: Không chấm điểm (chỉ dùng làm bài tập mang tính rèn luyện).

Letter Grade: Điểm chữ (A-F).

Points: Điểm số (0-10).

For points, enter maximum possible: Phải quy định điểm tối đa cho bài tập.

Pass/Fail: Đánh giá đậu/rớt.

Checkmark: Đánh giá chấp nhận/không chấp nhận.

Assginment Instruction: Phần hướng dẫn làm bài của giáo viên.

Add an announcement about the open date to Announcements: Thông báo ngày

giao bài tập xuống sinh viên vào bảng thông báo.

Add honor pledge: Thêm cam kết danh dự (cam kết sinh viên không nhận sự giúp đỡ

của người khác lúc làm bài tập này).

Grading: Ghi nhận điểm của bài tập vào sổ điểm.

Do not add assignment to Gradebook: Không đưa điểm bài tập vào sổ điểm.

Add Assignment to Gradebook: Đưa điểm bài tập vào sổ điểm.

49

Page 50: Báo cáo SAKAI Final

Associate with existing Gradebook entry: Đưa điểm bài tậo vào sổ điểm và dùng chung cột điểm với một bài tập đã có trong sổ điểm (dùng khi giáo viên muốn cho sinh viên gở điểm xấu của bài tập trước).

Submission Notification Email Options: Tùy chọn thông báo mail đến giáo viên khi

có sinh viên nộp bài.

Add Attachment (hay Add/Remove Attachment): Thêm hoặc bớt tệp tin đính kèm

cho bài tập.

Khi bài tập chưa có tệp tin đính kèm, người dùng sẽ thấy Add Attachment để thêm tệp tin đính kèm.

Khi bài tập đã có tệp tin đính kèm, người dùng sẽ thấy Add/Remove Attachment để thêm hoặc bỏ tệp tin đính kèm.

Nếu đã đính kèm, người dùng sẽ thấy Items to attach, nhấn Remove để xóa.

Upload local file: Chọn tệp tin trên máy tính.

or a URL: Lấy liên kết của tệp tin từ trang web khác.

Select a resource: Chọn tệp tin từ resource của khóa học (Chọn Attach a copy của tệp

tin muốn tải lên từ resource).

Post: Hoàn thành việc tạo bài tập.

Preview: Xem lại bài tập vừa tạo.

Save Draft: Lưu bài tập dạng nháp để chỉnh sửa sau.

Cancel: Hủy bỏ, không tạo bài tập.

Xem – Chỉnh sửa – Chấm điểm bài tập.

View - Assigment List: Xem các bài tập đã tạo.

50

Page 51: Báo cáo SAKAI Final

Hình 42 - Xem danh sách bài tập

Assigment title: Tên bài tập.

Status: Trạng thái của một bài tập.

Not Open: Bài tập này chưa đến ngày giao xuống cho sinh viên .

Open: Bài tập này đã được giao xuống cho sinh viên.

Due: Bài tập đến hạn nộp.

Close: Bài tập đã hết hạn nộp.

Draft: Bài tập đang được chỉnh sửa, chưa giao xuống sinh viên.

Open: Ngày giờ bài tập sẽ được giao xuống cho sinh viên.

51

Page 52: Báo cáo SAKAI Final

Due: Ngày giờ bài tập đến hạn nộp.

In / New: Tổng số các bài nộp của sinh viên (In) và số bài nộp giáo viên chưa chấm

điểm (New).

Scale: Loại điểm của một bài tập.

Xem lại nội dung bài tập: Nhấn vào tên bài tập (ví dụ: Bài tập 1) để xem với tư cách

giáo viên hoặc tư cách sinh viên (student view).

Chỉnh sửa bài tập: Nhấn Edit để chỉnh sửa toàn bộ thông tin và nội dung bài tập. Với

những bài tập hết hạn nộp hay đã có sinh viên nộp bài, giáo viên sẽ nhận được cảnh báo

nhắc nhở trước khi chỉnh sửa. Tùy theo những chỉnh sửa của giáo viên mà các bài sinh

viên đã nộp sẽ bị ảnh hưởng (thường là mất bài).

Tạo bản sao của bài tập: Nhấn Duplicate để tạo ra một bài tập hoàn toàn giống bài tập

hiện tại.

Chấm điểm: Nhấn Grade, màn hình hiển thị tương tự bên dưới, nhấn vào tên sinh viên

để chấm điểm bài làm cho sinh viên.

52

Page 53: Báo cáo SAKAI Final

Hình 43 – Chấm điểm

View - Assigment List by Student: Chỉ xem danh sách sinh viên và trạng thái các bài

tập giáo viên đã giao xuống cho sinh viên.

53

Page 54: Báo cáo SAKAI Final

Hình 44 - Xem danh sách bài tập theo sinh viên

Xem bài tập dưới góc nhìn của sinh viên.

54

Page 55: Báo cáo SAKAI Final

Hình 45 - Xem bài tập dưới góc nhìn của sinh viên

Submit as Student: Thử làm bài như sinh viên(để ước lượng thời gian làm bài, độ khó

bài tập, …).

6.1.9 Tests and Quizzes – Kiểm tra.

Giúp giảng viên tạo bài kiểm tra hoặc các bảng thăm dò ý kiến.

Điểm được tự động chấm.

Có thể có nhiều loại câu hỏi trong bài kiểm tra (bảng thăm dò ý kiến):

Multiple Choice: Chọn một hoặc nhiều câu trả lời cho một câu hỏi.

Servey: Thăm dò ý kiến với các mức ý kiến đã quy định sẵn cho một câu hỏi thăm dò.

Short Answer/Essay: Bài tiểu luận ngắn.

Fill in the Blank: Điền vào chỗ trống.

Numeric Response: Câu trả lời dạng số.

55

Page 56: Báo cáo SAKAI Final

Matching: Câu hỏi dạng nối hai cột để có kết quả đúng.

True False: Chọn lựa đúng hoặc sai.

Audio Recording: Trả lời bằng cách ghi âm trực tiếp.

File Upload: Câu trả lời là tệp tin đính kèm.

Copy from Question Pool: Chọn các câu hỏi có sẵn từ ngân hàng câu hỏi.

6.1.10 Tạo ngân hàng câu hỏi.

Chọn Tests & Quizzes > Question Pools > Add New Pools.

Pool Name: Tên ngân hàng câu hỏi.

Creator: Người tạo ngân hàng câu hỏi (tên người đã đăng nhập và tạo ra ngân hàng câu

hỏi này, không thay đổi được).

Department/Group: Tên Phòng Ban/Nhóm chủ ngân hàng câu hỏi.

Description: Mô tả ngắn về ngân hàng câu hỏi.

Objectives: Mô tả ngắn mục đích ngân của ngân hàng câu hỏi.

Keywords: Từ khóa cho ngân hàng câu hỏi để hỗ trợ tìm kiếm nhanh ngân hàng câu

hỏi này.

Công cụ cũng hỗ trợ phân cấp nhiều nhiều ngân hàng câu hỏi con. Ví dụ, trong ngân

hàng câu hỏi môn A, có ngân hàng các câu hỏi một lựa chọn, ngân hàng câu hỏi nhiều

lựa chọn, ngân hàng câu hỏi đúng sai…

56

Page 57: Báo cáo SAKAI Final

Hình 46 - Sakai Test & Quizzes - Tạo ngân hàng câu hỏi

Chọn Add bên dưới Ngân hàng câu hỏi muốn tạo ngân hàng con, rồi tạo bình thường.

Các ngân hàng con sẽ được hiển thị bên dưới.

Thêm câu hỏi vào Ngân hàng câu hỏi.

Nhấn vào tên của Ngân hàng câu hỏi. Chọn Add tương ứng với Questions để thêm câu hỏi.

57

Page 58: Báo cáo SAKAI Final

Hình 47 - Sakai Test & Quizzes - Thêm câu hỏi

Các bước khi tạo bất kỳ loại câu hỏi nào:

58

Page 59: Báo cáo SAKAI Final

Hình 48 - Soạn nội dung câu hỏi

Answer Point Value: Điểm cho câu hỏi (trừ loại survey).

Soạn nội dung câu hỏi.

Đặt câu hỏi vào phần (part) trong bài kiểm tra (thi), đưa câu hỏi vào ngân hàng câu hỏi.

59

Page 60: Báo cáo SAKAI Final

Soạn các phản hồi (feedback) cho câu hỏi.

Hình 49 - Phản hồi đáp án cho sinh viên

Tạo bài kiểm tra.

Chọn Test & Quizes > Assessment > Add Assessment.

Title: Tên bài kiểm tra (thi).

Chọn Create (hoặc Quick Create) để tạo bài kiểm tra.

60

Page 61: Báo cáo SAKAI Final

Create: Bài kiểm được tạo, giáo viên tiến hành tạo các câu hỏi cho bài kiểm tra (xem

phần tạo câu hỏi và ngân hàng câu hỏi).

Quick Create: Tạo nhanh các câu hỏi bẳng dạng text (theo định dạng đã được sakai

quy định), cách này một lúc tạo được nhiều câu hỏi.

6.1.11 Presentation – Trình diễn slide bài giảng.

Giúp giảng viên tạo các slide bài giảng dưới dạng hình. Việc này giúp cho giảng viên

có thể trình chiếu cho người xem. Khi giảng viên di chuyển các slide bài giảng trong

lúc giảng dạy, màn hình của sinh viên cũng sẽ thay đổi, để theo dõi bài giảng của giáo

viên.

Tạo một bài giảng.

Vào công cụ Resource, tạo một thư mục tên Presentations.

Tạo các thư mục con bên trong thư mục Presentation > Tải hình ảnh các slide vào các

thư mục này.

Các thư mục này sẽ hiển thị trong Presentation và cho phép trình chiếu như trình chiếu

slide.

Hình 50 - Sakai Presentations

61

Page 62: Báo cáo SAKAI Final

IV. Bộ công cụ giao tiếp giữa giảng viên và sinh viên.

IV.1 Announcement – Thông báo.

Giúp giảng viên thông báo các tin tức về khóa học cho sinh viên.

Thông báo có thể được giảng viên tạo trực tiếp hoặc thông qua một công cụ khác (như

Assignement – tạo thông báo khi bài tập được giảng viên đưa ra).

Cách tạo thông báo.

Chọn Announcement > Add.

Announcement title: Tiêu đề của thông báo.

Body: Nội dung thông báo.

Access: Quản lý việc xem thông báo.

Only members of this site can see this announcement: Chỉ cho phép các thành viên

của khóa học xem thông báo này.

This announcement is publicly viewable: Mọi người đều có thể xem.

Availability:

Show: Luôn luôn hiển thị thông báo này.

Hide: Luôn luôn ẩn thông báo này.

Specify Dates: Chỉ định khoảng thời gian thông báo được hiển thị.

Beginning: Ngày bắt đầu của thông báo.

Ending: Ngày kết thúc thông báo.

62

Page 63: Báo cáo SAKAI Final

Add Attachments: Đính kèm tệp tin cho thông báo.

Email Notification: Thông báo mail.

All participants: Thông báo đến tất cả các thành viên của khóa học.

Only participants who opted in: Chỉ thông báo đến các thành viên chỉ định.

No Notification: Không thông báo mail.

Add Announcement: Tiến hành thêm thông báo.

Preview: Xem lại thông báo.

Xem – Chỉnh sửa thông báo.

View: Các thông báo trong bảng thông báo.

All: Xem tất cả các thông báo.

Public: Chỉ xem các thông báo chung.

By group: Xem thông báo của các nhóm.

Nhấn vào tiêu đề thông báo để xem chi tiết thông báo.

Nhấn vào Edit để chỉnh sửa thông báo.

Để xóa thông báo, chọn ô Remove, nhấn Update bên dưới.

Kết hợp thông báo của trang học khác.

Chọn Announcement > Merge.

Chọn các trang web muốn lấy thông báo > Save. Các sự kiện này sẽ được thêm vào

bảng thông báo của khóa học hiện tại.

Ghi chú: Những thông báo lấy từ site khác sẽ không được chỉnh sửa hay xóa.

63

Page 64: Báo cáo SAKAI Final

IV.2 Schedule – Lịch công tác.

Giúp giảng viên ghi chú các sự kiện đặc biệt trong khóa học.

Giảng viên có thể tạo sự kiện trực tiếp hoặc thông qua một công cụ khác (như

Assignement – tạo sự kiện cho báo cho sinh viên biết ngày hết hạn làm bài tập).

Tạo một sự kiện trong lịch công tác.

Chọn Schedule > Add.

Title: Tên sự kiện.

Date: Ngày sự kiện diễn ra.

Start Time: Thời điểm bắt đầu sự kiện.

Duration: Khoảng thời gian sự kiện diễn ra.

End Time: Thời điểm kết thúc sự kiện.

Message: Nội dung của sự kiện.

Display to site: Hiển thị trên bảng lịch biểu của khóa học (mặc định được chọn).

Frequency: Chọn số lần lặp lại cho sự kiện.

Once: Chỉ xuất hiện1 lần, không lặp lại.

Daily: Hằng ngày.

Weekly: Hằng tuần.

Monthly: Hằng tháng.

Yearly: Hằng năm.

Event Type: Chọn loại sự kiện.

64

Page 65: Báo cáo SAKAI Final

Academic Calendar: Lịch học

Activity: Hoạt động

Cancellation: Hủy hẹn

Class section – Discussion: Thảo luận

Class section – Lab: Thực hành

Class section – Lecture: Thuyết trình

Class section - Small Group: Nhóm

Computer Session: Học vi tính

Deadline: Hạn cuối nộp bài

Exam: Kiểm tra

Multidisciplinary Conference: Hội nghị

Quiz: Thi

Web Assignment: Bài tập trên web

Event Location: Mô tả nơi sự kiện diễn ra.

Add Attachments: Thêm file đính kèm cần thiết cho sự kiện.

Save Event: Lưu lại sự kiện vào lịch công tác.

Lấy sự kiện từ trang khác.

Hình 51 - Lấy sự kiện từ trang khác

65

Page 66: Báo cáo SAKAI Final

Chọn Schedule > Merge > chọn trang web muốn lấy sự kiện > Save.

V. Các vấn đề tìm hiểu liên quan.V.1 Maven

6.1.1 Khái niệm về Maven

- Đối với những Dev nào làm về cách hệ thống lớn, phức tạp sử dụng nhiều

thư viện và frame work lại đòi hỏi phải release liên tục cho nên công việc

đóng gói (build & deploy), quản lý, nâng cấp và bào trì chúng thực sự rất

oải. Ngoài ra việc tích hợp các thư viện mới cũng như quản lý và nâng cấp

các thư viện có sẵn là tương đối phức tạp.

Tuy nhiên, những trở ngại nói trên hoàn toàn có thể giải quyết được nhờ vào

Apache Maven.

6.1.2 Ưu điểm của Maven

- Tự động hóa toàn bộ quá trình release project, khởi tạo, cập nhật thư viện,

build & unit test và release, với một project cỡ lớn thì việc này là tối quan

trọng, chỉ cần một sai lầm trong một công đoạn là có để delay cả dự án

- Quản lý các dependency (các thư viện) trong project một các ưu việt: tự động

cập nhật, mở rộng dễ dàng, đóng gói. Vì thế toàn bộ các file jar thư viện điều

được "vứt" cho Maven quản lý điều đó khiến cho dung lượng project của

chúng ta nhẹ nhàng đi rất nhiều.

- Trong thực tế thì cũng có khá nhiều dự án cũng như các công ty sử dụng

Maven như một nền tảng build với những ứng dụng Java Enterprise. Các

Dev, các bạn đã khởi đầu với Ant như là Beginner, vậy hãy đến với Maven

như một Professional.

66

Page 67: Báo cáo SAKAI Final

6.2 Giới thiệu Portal – Liferay

6.2.1 Portal là gì?

Portal là cổng thông tin điện tử. Khác với các website thông thường portal là nơi tích hợp hầu hết các thông tin và dịch vụ cần thiết cho người dùng. Sự ra đời của portal nhằm giải quyết các nhược điểm mà các website thông thường mắc phải như khó bảo trì, tích hợp, mờ rộng, v.v… đặc biệt là khả năng tùy biến khá cao, cá nhân hóa, tính bảo mật cao và đăng nhập một .

Phân loại portal.

Tùy thuộc vào mục đích cung cấp dịch vụ cho người dùng cuối mà ta có những cổng thông tin như sau:

Cổng thông tin công cộng (Public portals): Khi muốn ghép nối các thông tin lại với nhau từ nhiều nguồn, nhiều ứng dụng và từ nhiều người ta dùng loại cổng thông tin này. Ngoài ra nó còn cho phép cá nhân hóa (personalization) các website theo từng đối tượng người dùng. Ví dụ Yahoo.

Cổng thông tin doanh nghiệp (Enterprise portal hay Corporate Desktops): Cổng thông tin này được xây dựng để cho phép các thành viên của doanh nghiệp sử dụng và tương tác trên các thông tin hay ứng dụng nghiệp vụ tác nghiệp của doanh nghiệp.

Cổng gáo dịch điện tử (Marketplace portals): Là nơi lien kết giữa người bán và người mua. Ví dụ: eBay, ChemWeb.

Cổng thông tin ứng dụng chuyên biệt (Specialized portals): Ví dụ như SAP portal, cổng thông tin loại này cung cấp các ứng dụng chuyên biệt khác nhau.

Tính năng cơ bản

Các loại cổng thông tin đều có chung một số tính năng cơ bản. Người ta xem các tính năng đó như một tiêu chuẩn để phân biệt portal với một website tổng hợp tin tức, ứng dụng quản trị nội dung website, hoặc một ứng dụng chạy trên nền Web.

Khả năng cá nhân hoá (Customization hay Personalization): Portal được hiển thị theo nhiều cách khác nhau tùy thuộc vào đối tượng người dùng hay nhóm người sử dụng. Mỗi cá nhân có thể tự chỉnh sửa cách thể hiện thông tin, ứng dụng theo yêu cầu sử dụng.

67

Page 68: Báo cáo SAKAI Final

Tích hợp nhiều loại thông tin (Content aggregation): Cho phép xây dựng nội dung thông tin từ nhiều nguồn khác nhau cho nhiều đối tượng sử dụng. Sự khác biệt giữa các nội dung thông tin sẽ được xác định qua các ngữ cảnh hoạt động của người dùng (user-specific context).

Xuất bản thông tin( Content syndication): Thu thập thông tin từ nhiều nguồn khác nhau, cung cấp cho người dùng thông qua các phương pháp hoặc giao thức (protocol) một cách thích hợp. Có khả năng xuất bản thông tin với các định dạng đã được quy chuẩn. Ngoài ra, các tiêu chuẩn dựa trên XML cũng phải được áp dụng để quản trị và hiển thị nội dung một cách thống nhất, xuyên suốt trong quá trình xuất bản thông tin.

Hỗ trợ nhiều môi trường hiển thị thông tin (Multidevice support): Portal phải có khả năng vận hành đa nền đa phương tiện. Để truy xuất vào portal người dùng có thể sử dụng nhiều loại thiết bị như và nhiều trình duyệt khác nhau

Khả năng đăng nhập một lần: Đây là một tính năng rất quan trọng. Portal sẽ lấy thông tin về người sử dụng từ các thư mục như LDAP (Lightweight Directory Access Protocol), DNS (Domain Name System) hoặc AD (Active Directory).

Quản trị portal (Portal administration): Xác định cách thức hiển thị thông tin cho người dùng cuối. Cho phép thiết lập các giao diện người dùng với các chi tiết đồ hoạ, người quản trị phải định nghĩa được các thành phần thông tin, các kênh tương tác với người sử dụng cuối, định nghĩa nhóm người dùng cùng với các quyền truy cập và sử dụng thông tin khác nhau.

Quản trị người dùng (Portal user management): Cung cấp các khả năng quản trị người dùng cuối tùy vào đối tượng sử dụng của portal. Người sử dụng có thể tự đăng ký thành viên tại một cổng thông tin công cộng hoặc được người quản trị tạo tài khoản và gán quyền sử dụng thích hợp.

Nếu hệ thống chỉ thỏa mãn tối đa năm tính năng đã nêu trên thì đó chỉ là một ứng dụng web hoặc phần mền quản trị nội dung chứ không phải giải pháp portal.

Nếu hệ thống không thỏa mãn tính năng Hỗ trợ nhiều môi trường hiển thị thông tin (Multidevice support) nhưng lại thỏa mãn tất cả các tính năng còn lại thì hệ thống đó vẫn được xem là giải pháp.

So sánh Portal và Web truyền thống.

Những ưu điểm nổi bật của Portal so với WebSite truyền thống là:

68

Page 69: Báo cáo SAKAI Final

Khả năng cá nhân hóa cao. Ví dụ: Giao diện portal có một số chức năng không cần thiết với người dùng thì họ có thể bỏ đi, khả năng thay đổi cách hiển thị của portal hoặc của từng porlet.

Khả năng đăng nhập một lần với tất cả các tài nguyên liên kết với portal.

Người dùng có thể truy cập thông tin từ nhiều thiết bị khác nhau.

Người phát triển có thể dựa trên các chuẩn có sẵn để tích hợp công cụ mới.

6.2.2 Giới thiệu về Liferay.

Giới thiệu.

Đến thời điểm tháng 06/2009 thì phiên bản mới nhất của Liferay là 5.2.3.

Liferay Portal Enterprise Edition: Là phiên bản thương mại được hỗ trợ nhiều tính năng.

Liferay Portal Standard Edition: Là phiên bản miễn phí với các tính năng mới nhất và hỗ trợ thông qua các hoạt động cộng đồng.

Liferay Portal đưa ra các chức năng vô cùng hữu ích với trên 60 ứng dụng theo chuẩn

JSR-168. Danh mục ứng dụng bao gồm: Quản trị, quản lý dữ liệu, cộng tác, cộng

đồng, giải trí, công cụ cá nhân, công cụ mua sắm, công cụ người phát triển. Liferay

được phát triển bằng ngôn ngữ lập trình Java trên nền tản J2EE và Web 2.0. Liferay

tương thích với 12 hệ quản trị cơ sở dữ liệu: Apache, Derby, IBM DB2, Firebird,

Hypersonic, Interbase, JDataBase, MySQL, Oracle, PostgresSQL, SAP, SQL Server,

Sybase. Cho phép hoạt động trên các hệ điều hành như Windows; Linux: CentOS,

RHES, SUSE, Ubuntu,v.v..; Unix: AIX, HP-UX, Mac OS X, Solaris,v.v... Các công

nghệ được sử dụng trong Liferay bao gồm: Apache ServiceMix, Ehcache, Hibernate,

ICEfaces, Java J2EE/JEE, jBPM, JGroups, jQuery JavaScript Framework, Lucene,

MuleSource ESB, PHP, Ruby, Seam, Spring & AOP, Struts & Tiles, Tapestry,

Velocity. Các tiêu chuẩn của Liferay hiện nay có: AJAX, iCalendar & Microformat,

JSR-168, JSR-127, JSR-170, JSR-286 (Portlet 2.0), JSF-314 (JSF 2.0),

OpenSearch. Môi trường mở với hỗ trợ của web service gồm có: JSON, Hessian,

Burlap, REST, RMI, WSRP, WebDAV. Liferay hỗ trợ cho 22 ngôn ngữ với những bản

dịch mặc định.

69

Page 70: Báo cáo SAKAI Final

Liferay Portal là cổng thông tin cho phép người sử dụng kéo thả các ứng dụng để sắp xếp phù hợp với sở thích của người sử dụng. Tất cả các trang của Liferay Portal đều được thực hiện theo chuẩn CSS để đơn giản hóa việc phát triển giao diện. Sử dụng một trong những hiệu ứng giao diện có sẵn để thay đổi bề ngoài của cổng thông tin mà không phải thông qua bất kỳ thao tác chỉnh sửa mã nguồn phức tạp nào. Liferay cho phép tạo và tích hợp giao diện vào hệ thống. Mỗi cá nhân trong cộng đồng được cung cấp các trang cá nhân. Người sử dụng có thể thiết kế trang riêng của theo sở thích. Hệ thống quản lí quyền sử dụng các ứng dụng trong Liferay chặt chẽ, được chia làm nhiều cấp độ quản lí. Trong quá trình sử dụng ta cũng có thể định nghĩa ra hệ thống người dùng cho hệ thống của mình.

Từ phiên bản 5.0, Liferay đã bắt đầu hổ trợ chuẩn JSR-286. Ngoài ra Liferay còn hỗ trợ các JSP tag lib và nhiều class tiện ích khác trong những package khác nhau. Khi sử dụng các package tiện ích này ta có thể dễ dàng phát triển portal hay portlet. Nhưng các portlet không còn tuân theo chuần JSR-168. Liferay cũng cho phép thể thêm các ứng dụng web viết bằng Struct, JSF, v.v… vào Liferay.

Các vai trò (role), hệ thống người dùng sẵn có trong Liferay

Người dùng không đăng ký được gọi là khách (Guest), không có role.

Người dùng đã đăng ký có một trong các role cơ bản sau:

User: Người dùng đăng ký tài khoản trong Liferay, không có tài nguyên riêng.

Power User: Có trang web trong hệ thống dành cho cá nhân người dùng dạng này, bao gồm trang công cộng và trang riêng (public pages và private pages).

Owner: Người người dùng đã đăng ký và là người tạo ra một tài nguyên nào đó (trang web, file…).

Administrator: Quản trị hệ thống.

Ngoài ra người dùng có thể tham gia vào một hay nhiều nhóm người dùng sau:

User group: Nhóm các người dùng có chung đặc điểm nào đó, có trang web riêng. Các người dùng trong nhóm có vai trò như nhau.

Organization: Nhóm các người dùng, các nhóm người dùng có chung đặc điểm nào đó, có trang web riêng, tài nguyên riêng. Người dùng trong tổ chức này có vai trò sau:

70

Page 71: Báo cáo SAKAI Final

o Organization Owner: Người tạo ra tổ chức.

o Organization Administrator: Người quản trị tổ chức.

o Organization Member: Thành viên trong tổ chức.

Community: tập hợp các người dùng, các nhóm người dùng, các tổ chức, có trang web riêng và tài nguyên riêng. Người dùng trong cộng đồng này có các vai trò sau:

o Community Owner: Người tạo ra cộng đồng.

o Community Administrator: Người quản trị cộng đồng.

o Community Member: Thành viên trong cộng đồng.

Hai khái niệm Organization và Community gần giống như nhau. Việc quyết định sử dụng khái niệm nào để quản lý một hệ thống phụ thuộc vào sự phân tích của người phát triển.

Trong Liferay, mặc định người dùng đăng ký vào hệ thống đều thuộc cộng đồng khách (Community Guest) và đương nhiên có thể truy cập vào các tài nguyên của khách.

VI. Phân Quyền7.1 Phân quyền tài khoản:Một user sẽ được thêm vào sakai bằng cách tạo một tài khoản. Một tài khoản thì có một loại riêng (ví dụ: Instructor, Student, guest ).

Các loại tài khoản của quy định bởi: !user.template.<type>. Trong đó <type> chính là loại tài khoản.

Ví dụ: kiểu tài khoản mặc định của Sakai là !user.template.registered.

Nếu một tài khoản không có loại hoặc loại của nó không tồn tại thì loại của nó sẽ được quy định bởi !user.template.

Các loại tài khoản có thể được xem / thay đổi bằng cách chỉnh sửa tài khoản với Admins User (sakai.users) tool.

Những tài khoản được tạo bằng New Account Tool thì sẽ có loại là registered.

71

Page 72: Báo cáo SAKAI Final

Một số quyền khác:

!user.template: là một cách cấp quyền truy cập cho người dùng trong phạm vi My Workpace của họ dựa trên loại tài khoản của họ.

!user.template.guest: Sử dụng cho tài khoản có loại tài khoản là “guest ”.

!user.template.maintain: Sử dụng cho tài khoản có loại tài khoản là “maintain”.

!user.template.sample: Sử dụng cho tài khoản có loại tài khoản là “maintain”.

Vai trò và Quyền trong WorkSite – Site mẫu:

Người tạo ra Worksite sẽ tự động trở thành thành viên của Worksite.

Người tạo sẽ được cấp quyền là “maintain”.

Sakai có thể được cấu hình để các trang web của các loại khác nhau có thể khác nhau về vai trò.

Các Sites cũng giống như các tài khoản cũng có 1 loại. Như vậy nếu loại của các Sites tồn tại thì nó sẽ thừa hưởng !site.template.<type>. Và ngược lại thì nó sẽ kế thừa !site.template.

7.2 Phân quyền – Chức Năng – Mô tảAnnouncements (Thông Báo)

Permission(Quyền)

Functions(Chức Năng)

Description(Mô tả)

New annc.new Cho phép người dùng tạo thông báo.read annc.read Cho phép người dùng đọc thông báo.revise.own annc.revise.own Cho Phép người dùng sửa những thông báo

mà họ tạo ra.revise.any annc.revise.any Cho phép người dùng sửa những thông báo

được tạo bởi bất cứ users nào.delete.any annc.delete.any Cho phép xóa tất cả các thông báo, do bất

kì users nào tạo.delete.own annc.delete.own Cho phép xóa những thông báo do chính

user đó tạo ra.read.drafts annc.read.drafts Khả năng đọc dự thảo thông báo được tạo

ra bởi những người khác. Users luôn có thể xem dự thảo thông báo họ tạo ra.

all.groups annc.all.groups Những thành viên có loại là maintain, có thể mong đợi để có quyền truy cập để xem

72

Page 73: Báo cáo SAKAI Final

và thao tác các thông báo trong các trang webcũng như tất cả các nhóm trang web, mà không cần phải thành viên rõ ràng trong nhóm nào.

Assignments (Bài tập)

Permission(Quyền)

Functions(Chức Năng)

Description(Mô tả)

read asn.read Cho phép users xem danh sách các bài tập.New asn.new Cung cấp cho người dùng khả năng để tạo

ra bài tập mới.revise asn.revise Cho Phép người dùng sửa lại bài tập.delete asn.delete Cho phép người dùng xóa bài tập.submit asn.submit Cho phép người dùng có khả năng nộp bài.grade asn.grade Cho phép người dùng phân cấp bài tập

Chat Room

Permission(Quyền)

Functions(Chức Năng)

Description(Mô tả)

new chat.new Cung cấp cho người dùng khả năng gửi tin nhắn mới.

read asn.new Cung cấp cho người dùng khả năng đọc tin nhắn trò chuyện.

delete.any asn.revise Cho phép người dùng xóa các tin nhắn trò chuyện được tạo bởi bất kì users nào.

delete.own asn.delete Xóa tin nhắn chat của chính users đó.

Discussion (Thảo Luận)

Permission(Quyền)

Functions(Chức Năng)

Description(Mô tả)

new disc.new Cần thiết để gửi một trả lời.read disc.read Cung cấp cho người dùng khả năng xem

Thảo luậnnội dung, bao gồm danh sách các thể loại,

73

Page 74: Báo cáo SAKAI Final

chủ đề,và Trả lời.

revise.any disc.revise.any Sửa đổi nội dung của thảo luận của bất kì users nào.

revise.own disc.revise.own Sửa đổi nội dung thảo luận của chính mìnhdelete.any disc.delete.any Cung cấp cho người dùng khả năng để xóa

các loại thảo luận, chủ đề đăng bởi bất kỳ người dùng nào. Cần thiết để xóa.

delete.own disc.delete.own Cung cấp cho người dùng khả năng xóa thảo luận trả lời rằng họ đã đăng.

new.topic disc.new.topic Cung cấp cho người dùng khả năng để tạo ra thể loại mới và chủ đề.

Dropbox

Permission(Quyền)

Functions(Chức Năng)

Description(Mô tả)

dropbox.maintain Vai trò cấp dropbox.maintain sẽ có thể đọc / viết truy cập vào tất cả các dropboxes. Họ sẽ thấy toàn bộ danh sách của dropboxes và có thể điều hướng vào bất kỳ dropbox, và có thể đọc và tải lên tập tin đó.

dropbox.own Cung cấp Dropbox cá nhân và sẽ không thể nhìn thấy Dropbox của user khác.

Email Archive

Permission(Quyền)

Functions(Chức Năng)

Description(Mô tả)

new mail.new Cung cấp cho người dùng khả năng gửi email đến các trang web, được lưu trữ trong các kho lưu trữ email và gửi về cho người tham gia trang web với quyền đọc.

read mail.read Cung cấp cho người dùng khả năng xem danh sách lưu trữ email và đọc các email trong danh sách.

delete.any mail.delete.any Allows user to delete any email message in the

74

Page 75: Báo cáo SAKAI Final

archive, sent by any user.

Resources (Tài Nguyên)

Permission(Quyền)

Functions(Chức Năng)

Description(Mô tả)

read content.read Cho phép người dùng truy cập các tài nguyên khu vực-xem danh sách các tài nguyên và điều hướng đến thư mục con.

new content.new Cho phép người dùng tải lên các tập tin tài nguyên, hoặc tạo văn bản mới, html, hoặc tài nguyên URL.

revise content.revise Cho phép người dùng chỉnh sửa các tập tin trong tài nguyên được tạo ra bởi bất kỳ người dùng.

delete content.delete Cho phép người dùng xóa các tập tin trong tài nguyên được tạo ra bởi bất kỳ người dùng nào.

Schedule (Lịch)

Permission(Quyền)

Functions(Chức Năng)

Description(Mô tả)

read calendar.read Cho phép người dùng xem lịch trình và đọc mục lịch. Sự cho phép này là cần thiết để xem các sự kiện lịch.

new calendar.new Cho phép người dùng tạo một mục lịch mới.

delete calendar.delete Cho phép người dùng xoá các sự kiện lịch.Import calendar.import Cho phép người dùng nhập sự kiện lịch từ

Outlook, Meeting Maker, or csv files.revise calendar.revise Cho phép người dùng sửa đổi các sự kiện.

Tests and Quizzes

Permission(Quyền)

Functions(Chức Năng) Description(Mô tả)

75

Page 76: Báo cáo SAKAI Final

assessment.createAssessment Cho phép người dùng tạo ra 1 bài đánh giá mới.

assessment.deleteAssessment.any Người dùng có thể xóa bất kỳ bài đánh giá tạo ra bởi bất cứ ai.

assessment.deleteAssessment.own Người dùng có thể xóa các bài đánh giá mà họ tạo ra.

assessment.editAssessment.any Người dùng có thể chỉnh sửa bất kỳ bài đánh giá được tạo ra bởi bất kì ai.

assessment.editAssessment.own Người dùng có thể chỉnh sửa các bài đánh giá mà họ tạo ra.

assessment.gradeAssessment.any Người dùng có thể chấm điểm bài đánh giá bất kỳ.

assessment.gradeAssessment.own Người dùng có thể chấm điểm bài đánh giá họ đã tạo ra.

assessment.publishAssessment.any Người dùng có thể publish bài đánh giá bất kỳ.

assessment.publishAssessment.own Người dùng chỉ có thể publish bài đánh giá của mình tạo ra.

assessment.questionpool.copy.own Người dùng có thể tạo một bản sao của bất kỳ hồ bơi đánh giá.

assessment.questionpool.create Tạo ra ngân hàng câu hỏi

assessment.questionpool.delete.own Có thể xóa ngân hàng câu hỏi của riêng mình.

assessment.questionpool.edit.own Có thể chỉnh sửa câu hỏi mà họ đã tạo ra.

assessment.submitAssessmentForGrade Tạo ra một trình đánh

76

Page 77: Báo cáo SAKAI Final

giá để học sinh làm.assessment.takeAssessment Làm bài đánh giá.assessment.template.create Người sử dụng có khả

năng để tạo ra một mẫu mới mà sau đó có thể được sử dụng để kiểm soát các thiết lập đánh giá.

Cách gán quyền cho một user trong sakaiVào Realm tạo New Realm có Real Id là !user.template.student

Sau đó chọn Add Role với Role ID là Student với nội dung như sau:

Student Có thể đọc nội dung, và thêm nội dung vào một trang web nơi thích hợp.

77

Page 78: Báo cáo SAKAI Final

78

Page 79: Báo cáo SAKAI Final

79

Page 80: Báo cáo SAKAI Final

80

Page 81: Báo cáo SAKAI Final

81

Page 82: Báo cáo SAKAI Final

Xong chọn Done.

Sau đó chọn Grant Ability để gán quyền:

Điền User ID mà bạn muốn gán quyền. sau đó check vào Student để cấp quyền cho User đó là Student. Chọn Save để kết thúc.

82

Page 83: Báo cáo SAKAI Final

Tương tự ta có cách gán quyền cho Instructor là Có thể đọc, chỉnh sửa, xóa và thêm cả nội dung và tham gia vào một trang web.

VII. Demo tạo project siteVII.1 Tạo project site:

Login vào tài khoản Instructor -> Worksite setup -> New

83

Page 84: Báo cáo SAKAI Final

Check vào project site sau đó chọn Continue

Điền tên project site và mô tả:

84

Page 85: Báo cáo SAKAI Final

Chọn bộ công cụ cho site:

Nhập Site mail:

85

Page 86: Báo cáo SAKAI Final

Thiết lập tùy chọn truy cập cho trang web:

Xác nhận lựa chọn thiết lập trang web:

86

Page 87: Báo cáo SAKAI Final

Mời người tham gia vào project:

Chọn Site Info -> thêm người tham gia:

Nhập id của người tham gia nhóm vào ô người tham gia chính thức:

87

Page 88: Báo cáo SAKAI Final

Sau đó xác nhận lại người tham gia.

VII.2 Tạo  Announcements (thông báo):Chọn Announcements -> Add

Điền vào tiêu đề và nội dung thông báo sau đó chọn post:

88

Page 89: Báo cáo SAKAI Final

VII.3 Tạo Assignments(bài tập):Chọn Assignments -> Add:

89

Page 90: Báo cáo SAKAI Final

Nhập nội dung câu hỏi:

Sau đó chọn Post.

Student làm bài:

90

Page 91: Báo cáo SAKAI Final

Mở Assignments và chọn bài tập cần làm sau đó làm bài ở ô bên dưới:

Làm bài xong, học sinh chọn Submit.

Chấm bài:

Chọn Grate để chấm bài.

Chấm điểm và cho lời bình về bài làm:

91

Page 92: Báo cáo SAKAI Final

Sau đó chọn Save và gửi kết quả về cho học sinh:

Kết quả chấm điểm sẽ được cập nhật qua bảng điểm (Gradebook):

92

Page 93: Báo cáo SAKAI Final

VIII. Kết quả đạt được. Cài đặt thành công sakai

Hiểu thêm một số tính năng của sakai.

Tìm hiểu về Maven.

Tìm hiểu về cổng thông tin Liferay Portal

Viết tài liệu hướng dẫn chi tiết về cài đặt sakai.

Hướng phát triển:

Hưóng phát triền là nên xây dựng hệ thống sakai trên cổng thông tin portal, kết hợp với Single Sign On.

Những hạn chế chưa làm được:

Chưa hoàn toàn việt hóa được SaKai

Chưa triển khai SaKai trên cổng Liferay Portal

93

Page 94: Báo cáo SAKAI Final

94

Page 95: Báo cáo SAKAI Final