You are on page 1of 24

TRNG I HC BCH KHOA H CH MINH KHOA KHOA HC & K THUT MY TNH

BO CO THC TP CNG NGH PHN MM

TI: TM HIU H THNG SAKAI V HIN THC CHC NNG CHO GRADEBOOK

Gio vin hng dn: Nguyn H Mn Rng Nhm thc hin: Nguyn Th Phc Ha Nguyn Hong Long 50800743 50801132

H Ch Minh, ngy 26 thng 12 nm 2011

MC LC
PHN 1: GII THIU CC CNG NGH H TR I. II. III. IV. M hnh MVC ................................................................................................. 3 Cng ngh Java Server Faces(JSF) ............................................................. 3 Framework Hibernate .................................................................................. 4 Spring Framework ......................................................................................... 6

PHN 2: TM HIU CHC NNG GRADEBOOK I. II. III. IV. V. Tng quan v chc nng Gradebook ............................................................... 7 Cch ly source v deploy Sakai project ......................................................... 9 Cch import module Gradebook vo Eclipse ............................................... 13 Cch deploy module Gradebook ................................................................... 15 Cch debug module Gradebook vi Tomcat bng Eclipse ......................... 15

PHN 3: HIN THC THM CHC NNG CHO GRADEBOOK I. Khi to d liu trn Sakai............................................................................. 17 1. To kha hc trn Sakai ...................................................................... 17 2. Thm user vo kha hc v gn im cho user ................................. 17 Hin thc 1 dng trong gradebook hin th tng s im 0 ca mt user .. 21

II.

PHN 4: TNG KT V NH GI I. II. Cc kt qu thc hin c ....................................................................... 24 Nhng kh khn v hn ch ........................................................................... 24

Trang 2

PHN 1: GII THIU CC CNG NGH H TR I. M hnh MVC

MCV (Model View Controller) l tn mt phng php chia nh mt ng dng thnh ba thnh phn ci t, mi thnh phn ng mt vai tr khc nhau v nh hng ln nhau, l models, views, v controllers.

1. Models (Tng d liu): l mt i tng hoc mt tp hp cc i tng biu din cho phn d liu ca chng trnh, v d nh cc d liu c lu trong database, d liu t mt h thng cc ng dng khc nh legacy system, file system, mail system 2. Views (Tng giao din) : l phn giao din vi ngi dng, bao gm vic hin d liu ra mn hnh, cung cp cc menu, nt bm, hp i thoi, chn la , ngi dng c th thm, xa. sa, tm kim v lm cc thao tc khc i vi d liu trong h thng. Thng thng, cc thng tin cn hin th c ly t thnh phn Models. 3. Controllers (Tng iu khin): chu trch nhim x l cc tc ng v mt giao din, cc thao tc i vi models, v cui cng l chn mt view thch hp hin th ra mn hnh. Trong kin trc MVC, view ch c tc dng hin th giao din m thi, cn iu khin dng nhp xut ca ngi dng vn do Controllers m trch.

II.

Cng ngh Java Server Faces(JSF)

JavaServer Faces (JSF) d dng pht trin cc ng dng web bng vic mang n mt s h tr mnh m giu tnh nng vi cc thnh phn giao din ngi dng (nh cc text box, list box, tabbed pane v data grid) cho th gii pht trin ng dng Web. Mt thnh phn ca Java Community Process, JSF hng n tr thnh mt phn ca Java 2 Enterprise Edition (J2EE). Trang 3

JSF l mt framework hng component. Cc thnh phn ca trang web nh form, button, link u c JSF m t v hin thc thnh cc component ring to cho ngi pht trin cm gic pht trin ng dng web ging nh l cc ng dng desktop. Nhng trng thi ca cc component trong JSF s c lu tr khi client yu cu mi v phc hi li trng thi c khi cn thit. Mt nh JSF s dng JSP hin th cc thnh phn. Ngoi ra JSF cn c mt phn h tr l Facelets gip to template khi pht trin ng dng bng JSF. Cc ng dng JSF cng tng t nh bt k cc ng dng Java Web khc, chng chy trn mt Java Servlet container, v thng thng cha: Cc thnh phns JavaBean (c gi l nhng m hnh i tng trong cng ngh JSF). Cc event listener. Cc trang (chng hn nh JSP). Cc lp helper pha server (chng hn nh cc bean truy cp d liu).

ng dng JSF c trin khai trong WAR file - file nn vi phn m rng l .war v tun theo chun cu trc th mc nh sau: HTML, JSP files. WEB-INF/ cha cc file cu hnh. classes/ cha cc class file. /lib cha cc th vin.

JSF c th kt hp d dng vi cc cng ngh h tr khc nh: Spring, Hibernate, iBatis V t bit l b ba JSF-Spring-Hibernate l mt s kt hp tuyt vi. JSF c rt nhiu cng c h tr khc nhau nh: Netbean, Eclipse, WebSPhere, Exadel Studio V t bit vi Netbean6 h tr vic ko th rt tt lm cho tc ci thin c tc lm ng dng bng JSF.

III.

Hibernate Framework

ORM (Object Relational Mapping) framework l mt c ch cho php ngi lp trnh thao tc vi database mt cch hon ton t nhin thng qua cc i tng. Lp trnh vin hon ton khng quan tm n loi database s dng, SQL, Persistence layer l mt layer c nhim v kt ni Relational DBMSs(h qun tr c s d liu quan h) v truy xut, thao tc trn d liu c lu tr cng nh lu tr d liu mi vo chng. Hibernate framework l mt ORM framework cho persistence layer. V th, Hibernate gip bn c th d dng hn trong vic lu tr cc i tng java vo CSDL. Kin trc ca Hibernate:

Trang 4

Hibernate gip pht trin cc class dng lu tr liu theo hng i tng: association, inheritance, polymorphism, composition v collections. Hibernate cho php thc hin cc truy vn d liu bng cch s dng ngn ng SQL m rng ca Hibernate(HQL) hoc l ngn ng SQL nguyn thy cng nh l s dng cc API. Cch s dng: V mt vt l, theo m hnh d liu quan h, d liu ca bn s bao gm cc thc th (entity) c quan h vi nhau. V khi hin thc c th hn mc database, chng s c i din bi cc table, bi cc rng buc kha ngoi, kha chnh, Hibernate cng nh vy. Mi table trong database l mt object trong Hibernate. Do , bn cn c mt java bean cho mi table trong database. Cc java bean ny s c cc getters / setters v mt s ngoi l theo quy c ca Hibernate. Tip theo Hibernate bit mt object c nh x (mapping) nh th no vi table trong database, Hibernate yu cu bn cung cp tp tin c t gi l mapping file. Theo quy c ca Hibernate, cc mapping file ny c ui l .hbm.xml v phi hp l vi DTD (Document Type Definition) m Hibernate a ra. Trong cc mapping file ny, bn s c t cc mi quan h gia property ca object vi field ca table. Tc l bn gip cho Hibernate hiu mi quan h gia cc object tng ng nh th no vi mi quan h gia cc field. Tip theo na, bn cn c 1 tp tin Hibernate bt u: hibernate.cfg.xml. C th ni tp tin ny c load ln u tin khi bn khi ng Hibernate. Cc thnh phn ca Hibernate project: Hibernate Core: Cung cp cc chc nng c bn ca mt persistence layer cho cc ng dng Java vi cc APIs v h tr XML mapping metadata. Hibernate Annotations: Cc map class vi JDK annotations, bao gm Hibernate Validator. Hibernate EntityManager: S dng EJB EntityManager API trong JSE hoc vi bt k JEE server no.

Trang 5

Hibernate Tools: Cc tool tch hp vi Eclipse v Ant dng cho vic sinh ra cc persistence object t mt schema c sn trong database (reverse-engineering) v t cc file hbm sinh ra cc class java hin thc cc persistence object, ri Hibernate t to cc object trong database (forward-engineering). NHibernate: Hibernate cho .Net framework. JBoss Seam: Mt Java EE framework cho pht trin cc ng dng JSF, Ajax v EJB vi s h tr ca Hibernate.

IV.

Spring Framework

Spring l mt J2EE application framework c cung cp qun l cc i tng nghip v v s ph thuc gia chng. V d, vi IoC (Inversion of Control), n cho php bn xc nh DAO (Data Access Object) ph thuc vo DataSource. N cng cho php developer vit cc giao tip v n gin nh ngha ci t trong XML file. Spring cha nhiu lp h tr cc framework khc (nh Hibernate v Struts) to s tch hp d dng hn. Spring cha nhiu c tnh, bao gm nhiu modules , mi modules gm nhng file jar ring. Spring c 7 module ring, mi module s c cc file JAR ring:

1. Core package l phn c bn nht ca framework, cung cp nhng c tnh IoC v Dependency Injection. Khi nim c bn l BeanFactory - ci t factory pattern cho php bn mc ni s ph thuc gia cc i tng trong file cu hnh. 2. Pha trn ca Core package l Context package - cung cp cch truy cp i tng. Context package kt tha cc c tnh t bean package v thm vo chc nng a ngn ng (I18N), truyn s kin, resource-loading,... 3. DAO package cung cp cho tng JDBC, b bt nhng coding di dng ca JDBC v chuyn i m li c xc nh bi database vendor. JDBC package cung cp cch lp trnh tt nh declarative transaction management, khng ch cho cc lp ci t cc giao tip c bit m cn cho tt c POJO. POJOs l vit tt ca "plain old Java objects" ch nhng object java bnh thng, chng khng c g c bit, n khng theo mt m hnh hay quy c no c ch bao gm cc thuc tnh v phng thc.

Trang 6

4. ORM package cung cp tng tch hp vi object-relational mapping API bao gm: JDO, Hibernate, iBatis. S dng ORM package bn c th s dng tt c cc O/R mapper kt hp vi tt c cc c tnh ca Spring nh declarative transaction management. 5. Spring AOP package cung cp aspect-oriented programming cho php bn nh ngha method-interceptor v pointcut mc ni cc chc nng c ci t trong cc module. S dng chc nng metadata bn c th kt hp tt c thng tin vo code. 6. Spring Web package cung cp c tnh ca web nh: chc nng file-upload, khi to IoC container s dng trnh lng nghe serlvet v web-oriented application context. Package ny tch hp vi WebWork v Struts. 7. Spring MVC package cung cp m hnh MVC cho ng dng web. Spring MVC framework cung cp s phn bit r rng gia domain model v web form - cho php bn s dng tt c cc c tnh khc ca Spring framework.

PHN 2: TM HIU CHC NNG GRADEBOOK I. Tng quan v chc nng Gradebook
1. Gii thiu v Sakai Sakai l mt cng ng cc vin nghin cu, cc t chc thng mi v cc c nhn hp tc vi nhau pht trin mt Mi trng Cng tc v Hc tp chung (Collaboration and Learning Environment - CLE). Sakai CLE l mt phn mm gio dc min ph, m ngun m c phn phi theo Giy php Gio dc Cng ng (Educational Community License). Sakai CLE c dng dy hc, nghin cu v cng tc nhiu ngi vi nhau. Sakai bao gm nhiu tnh nng chung ca cc H qun tr o to, bao gm a ln cc ti liu hng dn, sch gio trnh, mc tho lun, chat trc tuyn, bi tp ln, v cc bi kim tra online. Thm vo , Sakai cn cung cp mt b cng c lm vic nhm dng cho nghin cu v cc d n nhm. h tr cc tnh nng ny, Sakai thm vo kh nng thay i thit lp ca tt c mi cng c da trn vai tr, thay i quyn h thng ty theo ngi dng. N cng tch hp mt wiki, mailing list v lu tr, v b c RSS. Sakai l mt ng dng da trn Java, mt gi ng dng hng dch v c thit k theo phng chm co gin, tin cy, tng tc v m rng (scalable, reliable, interoperable and extensible). B cng c lm vic nhm tch hp trong nhn ca Sakai:

Announcements - thng bo cho ngi dng v nhng vn chnh yu Drop Box - cho php ging vin v hc vin trao i ti liu vi nhng th mc ring bit cho mi sinh vin Email Archive - tt c tin nhn gi n a ch email ca trang web s c lu tr ti y Resources - chia s nhiu loi thng tin yu cu bo mt vi cc thnh vin trong trang, hoc cho php n c nhn thy bi mi ngi. Chat Room - chat thi gian thc cho mi thnh vin ang ng nhp vo site Forums - cng c cho ging vin v thnh vin c cp quyn c th to ra cc mc tho lun Message Center - cng c giao tip cho php cc thnh vin s dng mail ni b News/RSS - cng c c RSS Poll tool - cho php ngi dng bnh chn trc tuyn Trang 7

Presentation - cho php thc hin thuyt trnh trc tuyn Profile / Roster - h s ngi dng, bao gm hnh nh, tn tui v cc thng tin khc Repository Search - tm kim thng tin c lu tr trn site Schedule - cho php ging vin a thng tin di dng thng tin trn lch

Cng c ging dy:


Assignments Grade book Module Editor QTI Authoring QTI Assessment Section Management Syllabus

ti ny s dng phin bn Sakai 28.0 2. Tng quan Gradebook tool Gradebook l tool instructors ghi li v th hin course grade mt cch an ton v m bo tnh ring t. Gradebook tool c th c dng tnh ton, lu tr thng tin im v th hin trc tuyn thng tin ny cho sinh vin. Mt s thng tin v Gradebook tool: - Instructors c th xem thng tin trong Gradebook theo nhiu cch, bao gm mt bng tm tt cho mi course, chi tit mc, danh sch tt c im, danh sch im course, thit lp gradebook v course grade options. - Sinh vin c th xem im tch ly cho tt c cc mc v t l tng ng, im cc kha hc khi instructor pht hnh chng; v sp xp cc theo tiu , ngy, im v tng s im c th cho mi mc. - Gradebook l section aware, v th instructors v TAs ch c th nhn thy im ca nhng sinh vin trong sections ca h. - C 2 phng php import im vo Sakai Gradebook: o Import Grades: dnh cho cc mc/ct v gi tr im c trn Sakai. o Import Gradebook item t spreadsheet: Thm vo cc mc/ct t spreadsheet m Sakai cha bit trc. - Null v Zero: nu sinh vin b im xero ti mt mc ca Gradebook, instructor phi in vo im zero. Nu mt mc b b trng, hoc null, th mc ny khng c tnh vo im tng kt cui cng ca sinh vin. 3. Thm mt mc mi vo Gradebook Thm mt mc gradebook mi: a. Trn menubar, click Gradebook ri click Add Gradebook item(s). b. Trn mn hnh Add Gradebook Item(s), in vo cc thng tin: o o Title: tiu cn phi in cho tt c cc gradebook items. Tiu c th di ti 255 k t. Gradebook Item Point Value: phi gn 1 gi tr im(ln hn 0) cho tt c cc gradebook items, chp nhn gi tr thp phn, nhng gii hn 2 ch s thp phn o Due Date: ty chn iu chnh ngy cho gradebook items.

Trang 8

o c.

Category: Nu bn to ra mt category, bn c th ty chn gn mt item vo category s dng drop-down list.

Nu bn mun sinh vin nhn thy mc no, check Release this item to Students. Nu bn khng mun tnh im mc no, uncheck Include this item in course grade calculations, c th thay i ty chn ny sau .

d. Cui cng, click Add Item(s). 4. Grading Categories a. To Gradebook categories i. Trong menubar, click Gradebook. ii. Gn u trang, click Gradebook Setup. iii. Di Categories & Weighting, ch chn Categories. iv. Xut hin hp text, g vo tn ca category m bn mun thm vo. Mun to thm category, click Add a Category. v. Khi kt thc, click Save Changes. b. To categories theo im i. Trong menubar, click Gradebook. ii. Gn u trang, click Gradebook Setup. iii. Di Categories & Weighting, chn Categories & Weighting. vi. Xut hin hp text, g vo tn ca category m bn mun add. Mun to thm category, click Add a Category. iv. Bn cnh mi tn category, trong mc %, nhp s i din cho t l phn trm category ca final grade. v. Khi kt thc, click Save Changes. c. Thm Gradebook items vo 1 category Sau khi to category, bn phi gn Gradebook items cho n. Bn c th gn 1 item khi va to ra n hoc chnh li item to.

II.

Cch ly source v deploy Sakai project A. Cch ly source v install cc chng trnh b tr
y l hng dn thit lp mi trng pht trin Sakai trn laptop hoc desktop. Nhng hng dn ny s gip thit lp mt development server, v thit lp c cho b nh. Hng dn ny dnh cho phin bn Sakai 2.8. Khi thit lp mi trng pht trin Sakai, bn c th lp trnh bng tool Sakai ring hoc chnh sa tool c. * Lu cho ngi dng Window: Dng \ cho tt c cc ng dn khi chnh cc file build.properties Thm k t C: vo ng dn. S dng %VARIABLE% cho cc bin mi trng. thit lp bin mi trng: Control panel System Advanced Environment Variables. Th mc Sakai v nhng chng trnh lin quan nn c ci vo ng dn C:\opt.

Trang 9

1. Install/Verify you have Java a. Kim tra version ca java hin ti trong my, run java version trn command line. Nu khng c, download JRE t link: http://www.oracle.com/technetwork/java/javase/downloads/jre-7u2download-1377135.html Mac OS X users s mc nh c Java 1.5/1.6 Download JDK t link: http://www.oracle.com/technetwork/java/javase/downloads/java-archivedownloads-javase7-521261.html b. Ci JDK vo ng dn C:\opt\java Ch : Ci JRE(c th ng dn mc nh) vo ng dn khc JDK. c. Thit lp bin mi trng: JAVA_HOME=C:\opt\java Mac users: JAVA_HOME=/Library/Java/Home Windows users default: JAVA_HOME= C:\opt\java\jdk1.6.0_29 d. Add %JAVA_HOME%\bin vo PATH, s dng du ; ngn cch gia cc bin 2. Install/Verify you have MySQL a. Bn nn ci phin bn MYSQL trn 5.0.x. kim tra: run mysql help trn command line. Nu cha c, download MySQL t link: http://www.mysql.com/downloads/mysql/ b. Ci SQL vo th mc C:\opt\mysql Linux users nn ci MySQL s dng 1 package hay binaries nu c th. o Chn standard configuration o Ci nh l mt windows service (Windows only) o Launch automatically (recommended) Nu khng chn iu ny, hy chc rng bn startup MySQL trc khi chy Sakai o Include ng dn C:\opt\mysql vo Path o Khng dng anonymous account o Thit lp root password thnh "mysqlpwd1" Setup Sakai DB (schema) and user a. To sakai database v sakai user (password=ironchef) b. Chy dng lnh sau t command line prompt: mysql -uroot -pmysqlpwd1 c. Sau chy nhng cu lnh sau t mysql prompt (mi cu lnh mt dng): create database sakai default character set utf8; grant all privileges on sakai.* to 'sakai'@'localhost' identified by 'ironchef'; flush privileges; quit d. [Optional] Download v install mysql query browser: i. http://dev.mysql.com/downloads//gui-tools/5.0.html ii. By gi bn cha phi lm g vi tool ny. 3. Download and setup Maven 2.0.6+ stable package a. Download Maven 2.2.X (t nht of 2.0.10, khng nn down cc bn t 3.0 tr ln) - http://maven.apache.org/download.html b. Gii nn gi maven vo th mc C:\opt\maven. Sau ci t cc bin mi trng sau: MAVEN2_HOME= C:\opt\maven Trang 10

c. Add %MAVEN2_HOME%\bin to PATH\ d. Thit lp bin mi trng MAVEN_OPTS: MAVEN_OPTS='-Xms256m -Xmx796m -XX:PermSize=64m XX:MaxPermSize=136m' Adding -XX:+AggressiveOpts may speed up your builds depending on your OS, JVM, and system hardware e. To th mc .m2 cha th vin bin dch bng lnh sau: mkdir %HOMEDRIVE%%HOMEPATH%\.m2\repository f. Trn Windows th mc Home mc nh l th mc user ca bn v d: C:\Users\username To mt file settings.xml trong th mc .m2 khai bo vi Maven bit server home Tomcat nm u vi ni dung nh sau:

Trong : c:\opt\tomcat l ng dn ti th mc ci Tomcat, c th thay ch bng ${env.CATALINA_HOME} ch cn chnh sa trong System Environment. 4. Download and setup tomcat 5.5.17+ (stable only)

Lu :

Always do a fresh install of Tomcat Windows users nn chc rng khng c khong trng trong ng dn n th mc tomcat, nu khng n s gy ra li vi JSF tools ca Sakai GOOD: C:\opt\tomcat\, C:\sakaistuff\installs\tomcat\ BAD: C:\program files\tomcat\, C:\opt\apache tomcat 5.5.18\ a. Download tomcat 5.5 - http://tomcat.apache.org/download-55.cgi#5.5.34 Windows users nn chn zip file thay v ci 1 service. iu ny s gip cho vic xem tomcat logs v configure tomcat d dng hn. b. Gii nn v ci tomcat vo th mc C:\opt\tomcat v ci t bin mi trng nh sau: Thit lp bin mi trng: CATALINA_HOME= C:\opt\tomcat Add %CATALINA_HOME%\bin vo PATH To file setenv.bat t trong th mc bin ca tomcat vi ni dung nh sau:

Trang 11

set JAVA_OPTS=-server -Xms256m -Xmx512m -XX:PermSize=64m XX:MaxPermSize=128m -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

Cc gi tr Xms256m, Xmx512m: l gi tr quy nh kch thc ca i tng Java heap, khi u l 256MB v ln nht l 512MB, ph thuc vo dung lng RAM trn my, nu RAM 1GB th nn y, RAM 2GB th c th chnh thnh Xms512m, Xmx1024m, ch l gi tr Xms khng c bng hoc ln hn gi tr Xmx. Tip n gi tr -XX:PermSize=64m -XX:MaxPermSize=128m l gi tr vng nh load cc class java, ty vo RAM m nn kch thc va phi, RAM 1GB th gi tr nh trn, RAM 2GB th c th chnh thnh -XX:PermSize=128m XX:MaxPermSize=512m. Mt ch quan trng l cc gi tr trn phi ng b gia MAVEN_OPTS v JAVA_OPTS. Copy file MySQL Java Connecter (file *.jar) vo th mc: C:\opt\tomcat\common\lib Mysql Connector J : http://dev.mysql.com/downloads/connector/j/5.0.html 5. Cu hnh Sakai: Download source Sakai ti: http://source.sakaiproject.org/release/2.8.1/ Gii nn sakai vo mt th mc C:\opt\sakai. To th mc sakai trong th mc tomcat v copy file sakai.properties t C:\opt\sakai\reference\docs vo th mc sakai va to. Sau chnh sa ni dung li nh sau: o Tm v comment cc thng s trong phn HSQLDB setting: ## HSQLDB settings on by default #vendor@org.sakaiproject.service.framework.sql.SqlService=hsqldb #driverClassName@javax.sql.BaseDataSource=org.hsqldb.jdbcDriver #hibernate.dialect=org.hibernate.dialect.HSQLDialect #validationQuery@javax.sql.BaseDataSource=select 1 from SYSTEM_USERS # two hsqldb storage options: first for in-memory (no persistence between runs), second for disk based #url@javax.sql.BaseDataSource=jdbc:hsqldb:. #url@javax.sql.BaseDataSource=jdbc:hsqldb:${sakai.home}/db/sakai.db o Tm v chnh sa 2 dng sau: Set username@javax.sql.BaseDataSource=sakaiuser Set password@javax.sql.BaseDataSource=sakaipwd o o Trong sakaiuser, sakaipwd ln lt l username v password truy cp c s d liu. Tm v uncomment cc thng s trong phn MySQL:

## MySQL settings make sure to alter as appropriate vendor@org.sakaiproject.db.api.SqlService=mysql driverClassName@javax.sql.BaseDataSource=com.mysql.jdbc.Driver hibernate.dialect=org.hibernate.dialect.MySQLDialect url@javax.sql.BaseDataSource=jdbc:mysql://127.0.0.1:3306/sakai? useUnicode=true&characterEncoding=UTF-8 validationQuery@javax.sql.BaseDataSource=select 1 from DUAL Trang 12

defaultTransactionIsolationString@javax.sql.BaseDataSource=TRANS ACTION_READ_COMMITT

B. Cch deploy Sakai project


To file Master POM cho Sakai: g cc dng lnh sau trong cmd cd c:\opt\sakai\master mvn clean install Deploy Sakai: g cc dng lnh sau trong cmd cd c:\opt\sakai mvn clean install sakai:deploy Nu ln u tin bin dch, chng trnh s t ng down cc gi th vin cn thit nn thi gian c th hi lu, chng 2 gi ng h. Sau khi bin dch v deploy thnh cng, chy Tomcat bng lnh sau: startup.bat M browser ln v g vo a ch: http://localhost:8080/portal Tt Tomcat: g dng lnh sau trong cmd shutdown.bat

III.

Cch import module Gradebook vo Eclipse A. Cu hnh Eclipse


1. Download Eclipse ti: http://www.eclipse.org/downloads/packages/eclipse-ide-java-ee-developers/indigosr1 ( c sn WebTools Platform) v gii nn vo th mc C:\opt 2. Thit lp memory settings cho Eclipse Default memory settings cho Eclipse qu thp n handle mt s lng ln webapps chy Sakai installation. Ta thc hin cc bc sau: Shutdown eclipse nu n ang chy. Chnh sa file eclipse.ini trong th mc C:\opt\eclipse Thay i gi tr trong file nh sau: --launcher.XXMaxPermSize 256M -vmargs -Xms40m -Xmx256m tr thnh: 256m --launcher.defaultAction openFile -vm C:\opt\java\jdk1.6.0_29\bin\java.exe -vmargs -Dosgi.requiredJavaVersion=1.5 -Xms128m -Xmx1024m -XX:+UseParallelGC 3. Thit lp JVM Default JVM ti JRE, mi th s hot ng tt hn nu bn thay i n n.

Trang 13

Startup eclipse nu n cha chy. Chn Window -> Preferences -> Java -> Installed JREs Select the current installed JRE Click Edit button Click Browse v navigate n home directory ca JAVA installation: (C:\opt\java\jdk1.6.0_29) Click OK lu v sau OK kt thc 4. Add subclipse to Eclipse a. Startup Eclipse. b. Chn Help -> Software Updates c. Chn Available Software, click Next d. Click Add Site e. Nhp vo http://subclipse.tigris.org/update_1.8.x cho URL f. Click Finish g. Check the Subclipse box v click Next h. Ngoi tr terms, click Next, click Finish, click Install All i. Restart workbench khi c yu cu 5. Add Maven Eclipse Plugin to Eclipse j. Startup eclipse k. Chn Help -> Software Updates l. Chn Available Software, click Next m. Click Add Site n. Nhp http://m2eclipse.sonatype.org/sites/m2e cho URL o. Click Finish p. Expand the Maven Integration for Eclipse update site q. Check the Maven Integration box v click Next r. Accept terms, click Next, click Finish, click Install All s. Restart the workbench khi c yu cu

B. Import module Gradebook vo Eclipse


a. [OPTIONAL] Chy dng lnh sau trong th mc C:\opt\sakai-n s xa ht cc file eclipse tn ti: mvn eclipse:clean b. [OPTIONAL] To cc file eclipse s dng maven-n s to ra cc file eclipse .project v .classpath t maven build. mvn eclipse:eclipse

Nu bn ang dng Maven Plugin for Eclipse th nn chy dng lnh ny: mvn eclipse:m2eclipse

c. Startup eclipse nu cha chy. d. To a new workspace cho Sakai trn Eclipse: i. Click vo File Switch Workspace ii. Nhp "WS-Sakai" vo ng dn mc nh "workspace". iii. Click OK (eclipse s restart). Nhng bc sau s c thc hin trong th mc WS-Sakai workspace ny. Add Maven Repository libraries vo classpath: Ch : iu ny s to s tng thch vi cc projects say ny, nu chng s dng bin M2_REPO v th c th b qua bc ny: i. Chn Window Preferences Java Build Path Classpath Variables

Trang 14

Add ng dn n local maven repository vo ng dn ca bin M2_REPO: The path nn l: %USER_HOME%\.m2\repository Switch n Java perspective (Window Open Perspective Java) Chc chn rng bn ang package explorer Tt Automatic builds: Chn Project v uncheck Build automatically Chn File Import Existing Projects into Workspace . Nhp vo full path n gradebook sakai source directory cho root directory: C:\opt\sakai\gradebook i. Click Finish import projects c chn, iu ny s mt khong hn 5 pht. ii. Xa ht tt c Sakai projects 1. Chn Project Clean 2. Chn Clean all projects 3. Check Start a build immediately 4. Click OK M Automatic builds Chn Project v check Build automatically ii.

Hnh Cc projects Gradebook Sakai sau khi c add vo Eclipse.

IV.

Cch deploy module Gradebook


Deploy module gradebook: g cc dng lnh sau trong cmd cd c:\opt\sakai\gradebook mvn clean install sakai:deploy

V.

Cch debug module Gradebook vi Tomcat bng Eclipse


Vic debug s gip ta hiu c cc bc chy v ngha ca cc li gi hm, ng thi, h tr ngi lp trnh tm ra cc li khi chy chng trnh va code. thc hin debug module Gradebook Sakai chy trn server Tomcat, ta cn phi thc hin mt s bc sau: Bc 1: Cu hnh JPDA cho Tomcat kt ni Eclipse vi Tomcat.

Trang 15

To bng sao ca file C:\opt\tomcat\bin\startup.bat C:\opt\tomcat\bin\startup-debug.bat Thm on code vo file startup-debug.bat nh sau:

thnh

file

Thm tham s jpda vo nh sau:

Sau , chy file startup-debug.bat ny bt u debug. Ch : Nu port 8000 b trng th c th i port khc bng cch chnh sa tham s JPDA_ADDRESS. Nu khng mun chy debug th c th chy file startup.bat nh thng. Bc 2: Cu hnh Eclipse 1) Khi ng Tomcat bng cch chy file startup-debug.bat 2) Trong Eclipse, click double vo ct bn tri code t breakpoint ti v tr cn debug. 3) Trn thanh menubar, chn Run Debug Configurations s hin ra bng Debug Config. 4) Trong list type, click chn Remote Java Application, click Debug to mt mc mi. 5) Nhp vo tn cho mc va to trong text Name (sakai-gradebook). 6) Chn tab Source, click button Add bt u add source. Bng Add Source hin ra: a. Click chn Java Project load source cn debug vo. b. Sau , click Select All hoc check vo nhng project m cn import vo. c. Click Ok tip tc bng Debug Config. 7) Chn tab Connect, click Allow termination of remote VM. 8) Click Apply lu la chn. 9) Click Debug bt u qu trnh debug. 10) M sakai bng browser cho n khi gp breakpoint, Eclipse s t ng dng bn debug.

Trang 16

PHN 3: HIN THC THM CHC NNG CHO GRADEBOOK I. Khi to d liu trn Sakai 1. To kha hc trn Sakai
Truy xut vo schema sakai vi password ironchef Chnh sa table cm_academic_session_t: Thm vo 1 dng vi gi tr nh sau:

Kt qu thu c:

Tip tc to tab mn hc theo tng bc, ta thm vo 1 tab mn hc vi tn l: 502013 Aut I 2011. Kt qu thu c:

Trang 17

2. Thm user vo kha hc v gn im cho user


a. Thm user vo kha hc: ng nhp bng account ca ngi qun l. Trong tab MyWorkspace: Chn Users, click vo New User. in cc thng tin ca user cn to nh sau:

Click Save Details tip tc. Tip theo, vo tab ca kha hc cn add user. Trong tab kha hc ny: Chn Site Info, click chn Add Participants. in vo cc thng tin trong bng:

Trang 18

Click Tip tc chn vai tr cho User va add:

Click Tip tc chn:

Click Tip tc s hin ra bng thng tin ca User va to. Sau chn Kt thc hon tt vic add user vo kha hc. b. Gn im cho user: Trong tab ca kha hc cn add im: Chn Gradebook, click Add Gradebook Item(s) thm vo 1 mc mi cho bng im, in cc thng tin vo bng:

Trang 19

Trong : - Title l tiu ca mc cn to. - Gradebook Item Point Value: gi tr im mc. - Due Date: Gi tr ngy. - Chn 2 ty chn pha di nu cn. Click Add Item(s) hon tt. Trong bng Gradebook Items Summary s c mc im va to, click vo Title ca mc im ny chnh sa im cho cc user ca kha hc:

Trang 20

Click Save Changes hon tt:

II.

Hin thc 1 dng trong gradebook hin th tng s im 0 ca mt user

hin thc ta chnh sa file ViewByStudentBean trong th mc ca project /sakai-gradebook-appui/src/java/org.sakaiproject.tool.gradebook.ui nh sau: Trong hm private List retrieveGradeRows(List assignments, List gradeRecords) ti on code c comment Create a map of assignments to assignment grade rows, ta sa li nh sau: Gii thut a ra l ly tun t tng ct im ca sinh vin, nu sinh vin c ct im bng 0 th tng dn bin m ln v xut ra kt qu l s im 0 tng ng vi sinh vin Vn t ra l ct im v mn hc c lu tr nh th no o Theo qu trnh tm hiu ta c c: Mn hc: c hin thc bi class c tn l Assignment im ca mt sinh vin: c hin thc bi class c tn l AssignmentGradeRecord Lu tr ct im hin th trn web: c hin thc bi class c tn l AssignmentGradeRow ng vi mi class ta c cc phng thc set, get gi tr. y a ra mt s hm tiu biu: setName(): gn gi tr Name cho 1 bin setPointsPossible: gi gi tr im ti a ca mt mn hc m sinh vin c th t c getPointsEarned(): ly gi tr ct im m sinh vin t c ca mt mn hc

Trang 21

Thm vo bin m count cho vng lp lin di nh sau: Bin ny c nhim v m s im duyt ca mt sinh vin, da vo , ta bit c duyt ti ct im no ca sinh vin

Trang 22

Phn hin thc sau khi chnh sa code: Deploy li project: o Khi ng cmd o G lnh: cd opt\sakai\gradebook mvn clean install sakai:deploy Sau khi deploy thnh cng, ta start tomcat login vo accout sakai ng vi mt mn hc c cc ct im tng ng nh sau:

Khi ng nhp vo ti khon ca user ta s c c dng hin th s im 0 ca ca user :

Trang 23

PHN 4: TNG KT V NH GI I.

Cc kt qu thc hin c
Lm quen v ng dng cc cng ngh nh: JSP, Hibernate, Spring, JSF, S dng tt hn cc cng c h tr nh: Eclipse, Maven. Hc c cch deploy, debug Sakai ni chung v module Gradebook ni ring Nng cao kh nng s dng Eclipse debug project, module. C thm nhiu kin thc v kin trc h thng Sakai, cch s dng mt s tool ca n. Nm c c bn v database ca Sakai trn MySQL. Hiu c kin trc ca tool Gradebook, cch s dng n. Hin thc c vic tnh tng s im 0 trong bng im ca tng sinh vin.

II.

Nhng kh khn v hn ch

Lm quen vi nhiu cng ngh mi nn c phn b ng, nhng c gng khc phc. Hng dn ci t v deploy project khng update kp cc thay i v version cc phn mm, cch phn chia memory deploy project cho ph hp. Tn nhiu thi gian debug v fix cc li pht sinh do ti liu cn cha ng v y . Cha hin thc c tool hon chnh thc hin chc nng cnh bo cho sinh vin khi vt qu s im 0 theo quy nh c th.

CM N THY C BO CO!

Trang 24

You might also like