Download - LVCNTT-CMSModuleTMA
-
8/14/2019 LVCNTT-CMSModuleTMA
1/167
-
8/14/2019 LVCNTT-CMSModuleTMA
2/167
TRNG I HC KHOA HC TNHIN
KHOA CNG NGH THNG TIN
B MN CNG NGH PHN MM
NG NH VNG 0112458
BI VNH PH 0112024
XY DNG CMS MODULE CHO H THNG
INTRANET CA CNG TY TMA
KHA LUN CNHN TIN HC
GIO VIN HNG DN
TS. TRN VIT HUN
KS. NGUYN TN H
KS. L THANH NHN
TP. HCM, NM 2005
-
8/14/2019 LVCNTT-CMSModuleTMA
3/167
LI CM N
Chng ti xin chn thnh cm n Khoa Cng ngh Thng tin, trng i hc
Khoa hc T nhin, Thnh ph H Ch Minh v Cng ty TMA to iu kin cho
chng ti thc hin ti tt nghip ny.
Xin cm n Thy Trn Vit Hun, Anh Nguyn Tn H, Anh L Thanh Nhn,
ngi tn tnh hng dn, ch bo chng ti trong sut thi gian thc tp ti Cng
ty.
Chng ti cm n cc anh ch trong nhm TIS gip , ng gp kin chochng ti trong qu trnh ci t, th nghim chng trnh.
Xin gi li cm n chn thnh n gia nh, ba m v b bn v lun l
ngun ng vin to ln, gip chng ti vt qua nhng kh khn trong sut qu
trnh lm vic.
Mc d c gng hon thin lun vn vi tt c s n lc ca bn thn, nhng
chc chn khng th trnh khi nhng thiu st. Knh mong qu Thy C tn tnh chbo.
Mt ln na, chng ti xin chn thnh cm n v lun mong nhn c sng
gp qu bu ca tt c mi ngi.
Thng 7 nm 2005
ng nh Vng
Bi Vnh Ph
-
8/14/2019 LVCNTT-CMSModuleTMA
4/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
MC LC
DANH SCH CC HNH V ......................................................................................1
MT S K HIU V TVIT TT......................................................................4
MU .........................................................................................................................6
Chng 1 Gii thiu ti ........................................................................................7
TNG QUAN ...............................................................................................................12
Chng 2 Tng quan v spht trin ca cc h CMS.......................................13
NGHIN CU..............................................................................................................16Chng 3 Nhu cu sdng h CMS trong cc t chc........................................17
1. Nhu cu hin ti..................................................................................................181.1 Tnh hnh cc web site ca cc t chc Vit Nam.....................................181.2 Nhu cu cp nht v qun l ni dung..........................................................18
1.2.1 Nhu cu ca cc doanh nghip...............................................................181.2.2 Nhu cu ca cc tbo in t ..............................................................201.2.3 Nhu cu trong cc h thng thng tin ca cc cng ty ..........................21
2. Nhng li ch m mt h CMS mang li cho cc cng ty..................................23
Chng 4 H thng intranet hin ti ca cng ty .................................................251. Yu cu khi pht trin h thng intranet ca cng ty TMA ...............................261.1 Tnh hnh hin ti..........................................................................................261.2 Quy nh v kin trc....................................................................................27
1.2.1 Kin trc mnh.......................................................................................271.2.2 Xy dng cc cng c h thng phi chc nng .....................................281.2.3 Bo mt ..................................................................................................281.2.4 Kh nng tch hp ..................................................................................29
1.3 Yu cu lc pht trin ...................................................................................292. Portal hin ti ca TMA .....................................................................................30
2.1 c im v cc thnh phn ca portal ........................................................302.2 Cc thnh phn c xy dng................................................................312.3 Kin trc h thng ca portal........................................................................34
2.3.1 Kin trc h thng ca cc portal ph bin............................................342.3.2 Kin trc h thng ca portal TMA.......................................................35
3. Cng nghc s dng pht trin h thng intranet...................................36
-
8/14/2019 LVCNTT-CMSModuleTMA
5/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
4. Cc chun dng pht trin h thng...............................................................365. Nhu cu ca cng ty TMA khi xy dng mt h CMS......................................37
5.1 Nhu cu chia s thng tin gia cc d n v cc v tr cng vic.................395.2 Xy dng h CMS di dng mt portlet c thc s dng bi cc ng
dng v cc thnh phn khc ..............................................................................415.3 Cc k thut s dng trong qu trnh pht trin............................................41
Chng 5 Chun JSR 168 .......................................................................................431. Gii thiu v chun JSR 168 ..............................................................................442. Mt s khi nim chnh ......................................................................................45
2.1 Portal .............................................................................................................452.2 Portlet............................................................................................................452.3 Portlet Container ...........................................................................................46
3. So snh Portlet v Servlet...................................................................................46
3.1 im ging nhau gia Portlet v Servlet......................................................463.2 im khc nhau gia Portlet v Servlet .......................................................463.3 c trng ca Portlet m khng c servlet................................................47
4. Giao din portlet .................................................................................................475. Portlet URL.........................................................................................................486. Portlet Mode .......................................................................................................487. Window State......................................................................................................498. Portlet Request....................................................................................................509. Portlet Response .................................................................................................5010. Portlet Preferences............................................................................................5111. Caching.............................................................................................................5112. ng dng Portlet...............................................................................................53
12.1 Cc thnh phn ca ng dng Portlet .........................................................5312.2 Cu trc cy th mc ..................................................................................5312.3 Tp tin lu tr ca ng dng Portlet...........................................................54
13. Cc c tng gi v trin khai......................................................................5413.1 c t trin khai ca ng dng Web v ng dng Portlet..........................5413.2 Trin khai ng dng Portlet v ng dng Web...........................................5513.3 Cc thnh phn ca c t trin khai Portlet...............................................5513.4 Tnh duy nht ca cc gi tr trong c t trin khai Portlet.......................59
14. Th vin cc th Portlet....................................................................................59
14.1 Th actionURL............................................................................................6014.2 Th renderURL ...........................................................................................60
Chng 6 Chun JSR 170 .......................................................................................611. Gii thiu v chun JSR 170 ..............................................................................622. M hnh repository..............................................................................................63
-
8/14/2019 LVCNTT-CMSModuleTMA
6/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
3. Mt s API cbn ..............................................................................................643.1 Thao tc trn repository ................................................................................66
4. S lin h gia Node, Property v Item..............................................................675. S sp xp cc Item con .....................................................................................67
6. Namespace..........................................................................................................687. Property...............................................................................................................697.1 Property a tr................................................................................................697.2 Cc kiu d liu ca Property.......................................................................69
7.2.1 Kiu Date................................................................................................707.2.2 Kiu Reference, Path v Name ..............................................................70
8. Node....................................................................................................................718.1 Quan h gia cc node cng tn v cng cha ( Same-Name Siblings ) .......718.2 Cc kiu ca Node ........................................................................................71
8.2.1 Kiu node chnh v kiu node ph .........................................................73
8.2.2 Property definitions................................................................................738.2.3 Child Node Definitions ..........................................................................748.2.4 Cc kiu node c nh ngha sn .......................................................75
8.3 Node tham chiu (Referenceable Nodes) .....................................................789. Workspace ..........................................................................................................79
9.1 Repository c mt workspace.......................................................................799.2 Repository c nhiu Workspace v s tng ng cc node.........................80
10. To phin bn ( Versioning )............................................................................8210.1 Version History...........................................................................................8310.2 Mi quan h gia cc versionable node v version history........................84
10.3 Th Biu Din Cc Phin Bn Trn Repository....................................84
10.4 Phin Bn CBn (Base Version)..............................................................8510.5 Khi To Mt Version History...................................................................8510.6 To Phin Bn Mi Ca Mt Node ............................................................8610.7 Phc Hi Li Trng Thi Trc Ca Node ..........................................8710.8 Checkout .....................................................................................................8810.9 Update.........................................................................................................8810.10 Cc Node C Th To Phin Bn Trn Repository..................................8910.11 Thuc Tnh OnParentVersion...................................................................91
10.11.1 COPY .................................................................................................9210.11.2 VERSION...........................................................................................9310.11.3 INITIALIZE.......................................................................................9310.11.4 COMPUTE.........................................................................................9410.11.5 IGNORE.............................................................................................9410.11.6 ABORT ..............................................................................................94
10.12 V d v mt Repository c h trto phin bn.....................................95
-
8/14/2019 LVCNTT-CMSModuleTMA
7/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
11. Lng Nghe S Kin Trn Repository (Observation)........................................9611.1 Pht sinh s kin .........................................................................................9611.2 Cc loi s kin...........................................................................................9711.3 i tng lng nghe v x l s kin.........................................................98
11.4 La chn s kin lng nghe ...................................................................9911.5 Cc s kin xy ra i vi mt hnh ng trn Repository........................9911.5.1 Hnh ng thm mt Item....................................................................9911.5.2 Hnh ng thay i gi tr ca Property ............................................10011.5.3 Hnh ng thm vo mt Node tn ti trong Repository .............10011.5.4 Khi phc li trng thi ca mt Node ..............................................10111.5.5 Sao chp mt Node ............................................................................10111.5.6 Xa mt Item......................................................................................10211.5.7 Di chuyn v tr ca mt Node...........................................................10211.5.8 To Phin Bn Ca Item ....................................................................102
11.5.9 Kho mt Item....................................................................................10311.5.10 Mkha mt Item............................................................................10312. Vn bo mt trn Repository .....................................................................10413. Cch kha trn Repository ..........................................................................104
13.1 Mc kha .............................................................................................10413.2 Phm vi kha.............................................................................................10413.3 Loi kha...................................................................................................105
14. Tm kim ni dung trn Repository................................................................10514.1 Ngn ng truy vn JCRQL.......................................................................106
14.1.1 Mnh SELECT..............................................................................106
14.1.2 Mnh FROM .................................................................................106
14.1.3 Mnh LOCATION ........................................................................10614.1.4 Mnh WHERE...............................................................................10914.1.5 Mnh SEARCH.............................................................................11014.1.6 Mnh ORDER BY.........................................................................111
15. Mt s v d v vic ci t JCR ....................................................................11215.1 JCR ci t bn trn File System..............................................................11215.2 JCR ci t bn trn mt Database ...........................................................113
Chng 7 So snh mt s gii php CMS m ngun mph bin ...................1151. Gii thiu cc gii php hin ti .......................................................................116
1.1 Xu hng pht trin ca cc h CMS.........................................................116 1.1.1 Xu hng v mt thng mi ..............................................................1161.1.2 Xu hng v cng ngh, k thut ........................................................117
1.2 So snh cc gii php CMS thng dng .....................................................1181.2.1 Tiu ch la chn cc gii php CMS so snh ................................118
-
8/14/2019 LVCNTT-CMSModuleTMA
8/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
1.2.2 Cc tiu ch so snh..............................................................................1182. M t cc gii php so snh .........................................................................123
2.1 Gii php Cofax 2.0 ....................................................................................1232.2 Gii php Daisy 1.1.....................................................................................125
2.2.1 Repository cha ni dung ....................................................................1262.2.2 Giao din web.......................................................................................1262.3 Gii php Magnolia 2.1...............................................................................1272.4 Gii php OpenCMS 5.0.............................................................................129
3. Kt lun.............................................................................................................130
NG DNG................................................................................................................132
Chng 8 Cc chc nng ca TMA CMS ...........................................................1331. M hnh Use case..............................................................................................1342. M t cc chc nng .........................................................................................135
2.1 Qun l vai tr.............................................................................................1352.2 Qun l ngi s dng................................................................................1352.3 Phn quyn s dng cho vai tr..................................................................1362.4 Phn phi vai tr n ngi s dng ..........................................................1372.5 Ti u ho cc thng tin cu hnh h thng................................................1382.6 Bin son ni dung trang web.....................................................................1382.7 p dng template vo trang web ................................................................1392.8 Phn loi ni dung.......................................................................................1392.9 Truy nhp vo h CMS...............................................................................139 2.10 Tm kim ni dung....................................................................................140
2.11 La chn ngn ng ...................................................................................140
Chng 9 Tch hp h thng CMS vo TMA portal..........................................1411. System Architecture ca Magnolia CMS .........................................................142
1.1 M hnh mt s package quan trng ca Magnolia CMS ..........................1421.2 M t cc package.......................................................................................142
1.2.1 Package info.magnolia.cms..................................................................1421.2.2 Package info.magnolia.cms. security...................................................1431.2.3 Package info.magnolia.cms.servlets ....................................................1431.2.4 Package info.magnolia.cms.core..........................................................143
1.2.5 Package info.magnolia.module.adminInterface...................................1431.2.6 Package info.magnolia.module.templating..........................................1441.2.7 Package info.magnolia.repository........................................................1441.2.8 Package info.magnolia.exchange.........................................................144
2. Hng tip cn tch hp...............................................................................1442.1 Hng tip cn th 1...................................................................................144
-
8/14/2019 LVCNTT-CMSModuleTMA
9/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
2.2 Hng tip cn th 2...................................................................................1453. Cch thc thc hin ..........................................................................................146
3.1 To d n J2EE da trn m ngun ca Magnolia.....................................1473.2 Chun ho d n J2EE theo chun JSR 168...............................................147
3.3 Tch hp h thng bo mt .........................................................................151
KT LUN.................................................................................................................152
HNG PHT TRIN.............................................................................................155
TI LIU THAM KHO .........................................................................................157
-
8/14/2019 LVCNTT-CMSModuleTMA
10/167
-
8/14/2019 LVCNTT-CMSModuleTMA
11/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 2 ngnh Vng
Hnh 26: Giao din Daisy.............................................................................................125
Hnh 27: Giao din Magnolia.......................................................................................127
Hnh 28: Giao din OpenCMS.....................................................................................129
Hnh 29: Cc gi chnh ca Magnolia CMS................................................................142
Hnh 30: Cu trc d n J2EE ca h CMS.................................................................148
-
8/14/2019 LVCNTT-CMSModuleTMA
12/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 3 ngnh Vng
DANH SCH CC BNG
Bng 1: Mt s thnh phn c xy dng trong h thng portal ca Cng ty .......32
Bng 2: Cc hng s trong giao din javax.jcr.version.OnParentVersionAction..........92Bng 3: Cc hng snh ngha trong giao din javax.jcr.observation.EvenType ......97
Bng 4: So snh yu cu h thng ca mt s CMS ...................................................119
Bng 5: So snh tnh bo mt ca mt s CMS...........................................................119
Bng 6: So snh tnh tin dng ca mt s CMS ........................................................120
Bng 7: So snh hiu sut hot ng ca mt s CMS ...............................................120
Bng 8: So snh tnh kh chuyn ca mt s CMS .....................................................121
Bng 9: So snh kh nng qun l ca mt s CMS ...................................................121
Bng 10: So snh cc kh nng h trkhc ca mt s CMS.....................................122
-
8/14/2019 LVCNTT-CMSModuleTMA
13/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 4 ngnh Vng
MT S K HIU V TVIT TT
API Application Programming Interface
CMS Content Management System
Dragndrop Thut ngDrag and Drop
Eclipse Phn mm min ph dng pht trin cc ng dng trn Java
http://www.eclipse.org/
HTML Hyper Text Markup Language
HTTP Hypertext Transfer Protocol
HTTPS Secure Hypertext Transfer Protocol
JBoss Web application server min ph
http://www.jboss.org/products/jbossas
JCR Java Content Repository
JDK Java Development Kit
JSR Java Specification RequestLomboz plug-in gip Eclipse giao tip vi JBoss v to cc d n J2EE
http://www.objectlearn.com/index.html
MIME Multipurpose Internet Mail Extensions
MVC M hnh thit kModel-View-Controller
ORB Object Request Broker
RMI-IIOP Remote Method Invocation over internet Inter-ORB Protocol
SOA Service Oriented Architecture
SOAP Simple Object Access Protocol
-
8/14/2019 LVCNTT-CMSModuleTMA
14/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 5 ngnh Vng
SPI Service Provider Interface
URI Uniform Resource Identifiers
URL Uniform Resource Locator
XHTML eXtensibleHyper Text Markup Language
XML eXtensible Markup Language
WSRP web Services for Remote portlets
WYSIWYG What You See Is What You Get
-
8/14/2019 LVCNTT-CMSModuleTMA
15/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 6 ngnh Vng
MU
-
8/14/2019 LVCNTT-CMSModuleTMA
16/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 7 ngnh Vng
Chng 1Gii thiu ti
-
8/14/2019 LVCNTT-CMSModuleTMA
17/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 8 ngnh Vng
Mt cch n gin nht, CMS l mt h thng h trngi s dng trong vic
to ra cc trang web, qun l ni dung cc trang web. Sau cng, cc trang web sc
xut bn phn phi n mi ngi. C quy trnh t lc to ra ni dung trang web,
qun l ni dung c to ra v sau cng phn phi ni dung ny u hon ton t
ng. Hnh v sau s m t cho quy trnh tng ny.
Hnh 1: H CMS qun l tng ni dung trang web
Lun vn ny c thc hin trong qu trnh thc tp ca chng ti ti cng typhn mm Tng Minh (TMA). Khi lun vn bt u th h thng thng tin (intranet)
ca cng ty ang c xy dng li. Vic xy dng ny da trn cc chun mv cc
cng ngh, gii php m ngun m.
-
8/14/2019 LVCNTT-CMSModuleTMA
18/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 9 ngnh Vng
Hnh 2: Giao din h thng intranet ca cng ty TMA
H thng Intranet ca cng ty TMA h trcc cng c, cc chc nng nh sau:
Qun l nhn s
Qun l nng lc ca nhn vin
Qun l tuyn dng
Qun l thng tin cc d n
H qun l ti liu
Tm kim thng tin
H thng bo mt
Cc s kin ni b ca cng ty
-
8/14/2019 LVCNTT-CMSModuleTMA
19/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 10 ngnh Vng
H thng thng tin ny nu c nhn di gc ca ngi pht trin s bao
gm cc thnh phn nh sau:
Portal c xy dng da trn Liferay
HREmployee
Contact
Project
Information
Cc ng dng
Recruitment PA Event
Cc dch v
HR Recruitment Search
Cc thnh phn chc nng
Search
Engine
Authentifi-
cation
Scheduling
System
WorkflowEngine
Cc thnh
phn phi chcnng
Cung cp
Cung cp
Cung cp
DMS
CMS
Reporting
Engine
Hnh 3: H thng thng tin hin ti ca cng ty TMA
H thng thng tin ny bao gm cc ng dng, cc dch v dng h trhot
ng cho cc ng dng. Ngoi ra, cn c cc thnh phn chc nng dng cung cp
-
8/14/2019 LVCNTT-CMSModuleTMA
20/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 11 ngnh Vng
cc chc nng cho cc dch v. Cc thnh phn phi chc nng dng h tr hot
ng cho cc ng dng, cc dch v v cc thnh phn chc nng.
H CMS cn xy dng cho cng ty TMA s thuc nhm cc thnh phn phichc nng nh trn hnh v trn minh ho.
Mc ch chnh ca ti ny l xy dng v tch hp CMS module vo trong
h thng intranet ca cng ty TMA. thc hin iu ny, chng ti thc hin 3
cng vic chnh nh sau:
Nghin cu v CMS.
Tm hiu v so snh cc gii php xy dng CMS chn ra gii php
thch hp nht vi yu cu cng ty.
Tch hp gii php chn vo trong h thng intranet ca cng ty.
Chng ti thc hin ti ny ngoi mong mun bo v thnh cng kho lun
ca mnh, cn mun qua hc hi thm nhiu kin thc v kinh nghim trong vic
pht trin mt h CMS, mt lnh vc mi m v y tim nng.
-
8/14/2019 LVCNTT-CMSModuleTMA
21/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 12 ngnh Vng
TNG QUAN
-
8/14/2019 LVCNTT-CMSModuleTMA
22/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 13 ngnh Vng
Chng 2Tng quan v spht trin ca cc h CMS
-
8/14/2019 LVCNTT-CMSModuleTMA
23/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 14 ngnh Vng
Xy dng h thng CMS l mt lnh vc ch mi xut hin trong 6 nm gn
y. Cng ty Microsoft ch mi tham gia lnh vc ny vo nm 2002. Vit Nam, s
lng cc cng ty xy dng v s dng cc h CMS vn rt gii hn do y vn cn l
lnh vc qu mi mnc ta.
Tuy ch mi xut hin gn y nhng lnh vc ny cng t c mt s kt
qu kh quan. Cc cng ngh v cc tiu chun c ra pht trin cc h
CMS.
a phn cc cng ty pht trin cc h CMS u vi mc ch kinh doanh. Bn
cnh cng c nhng cng ty, t chc v c nhn cung cp cc gii php CMS ca
h di dng m ngun mhay min ph.
Cc cng ngh s dng cho vic pht trin cc h CMS cng rt a dng. Sa
dng ny c th thy r qua thng k sau y:
Java: CMS Genie, CMS Master, Cofax, Contelligent, Daisy, Eplica,
imCMS, Jahia, jNetPublish, Magnolia, NetPotential CM
Java Script: CMS Master, Complete Site Manager, Contelligent, e107,eazyCMS, Magnolia, NetPotential CMS, Open CMS
PHP: Acuity CMS, AGPCMS, Aiyoota!-CMS, Back-End CMS, BxCMS,
Caravel, CathDesign CMS, Complete Site Manager, dotWidget CMS,
e107, eazyCMS, EGOCMS, fly CMS, Jaws, Mambo, Komodo CMS,
OpenPHPNuke, PostNuke
C++: Lighthouse, Manila
ASP: Acuity CMS, Baseline CMS
Cold Fusion: AssetNow, EasyConsole CMS
ASP.NET: AxCMS.net, Composite CMS, contentXXL - ASP.NET
CMS, DotNetNuke, Dozing Dogs ASP.NET CMS, Dynamicweb
-
8/14/2019 LVCNTT-CMSModuleTMA
24/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 15 ngnh Vng
VB.NET: AxCMS.net, contentXXL - ASP.NET CMS, Dozing Dogs
ASP.NET CMS
C#: AxCMS.net, contentXXL - ASP.NET CMS, Dozing Dogs ASP.NET
CMS, Rainbow
Python: Easy Publisher
Mt s h CMS c xy dng nh l mt thnh phn ca portal. S cn li
c pht trin di dng mt ng dng hot ng c lp. Ngoi 2 dng CMS va
nu th vic s dng mt h CMS c lp tch hp vo mt portal c sn vn rt mi
m. Do , cc ti liu v cng vic ny rt gii hn v s lng cc ngi pht trin
am tng v lnh vc ny cng rt him.
Tht vy, trong qu trnh thc hin ti, khi chng ti gp cc vn v em
cc vn ny hi cc lp trnh vin chuyn pht trin cc h CMS th h cng
khng c cu tr li xc ng cho cc vn chng ti gp phi.
-
8/14/2019 LVCNTT-CMSModuleTMA
25/167
-
8/14/2019 LVCNTT-CMSModuleTMA
26/167
-
8/14/2019 LVCNTT-CMSModuleTMA
27/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 18 ngnh Vng
1.Nhu cu hin ti1.1 Tnh hnh cc web site ca cc t chc Vit Nam
Vit Nam, theo pht trin ca kinh t, s lng cc doanh nghip v cc t
chc xut hin ny cng nhiu. Cc t chc ny u c nhu cu cung cp thng tin cho
khch hng ca mnh. Do , vic to ra cc web site cho cc t chc ny l ti cn
thit.
Tuy nhin, ni dung cc web site ca Vit Nam a s cn ssi v khng p
ng c nhu cu ca khch hng. Mt trong cc l do chnh ca tnh trng ny l sthiu cp nht thng tin ln cc web site. Nhng nguyn nhn su xa v mt k thut l
thiu cc phn mm dng cp nht v qun l ni dung cc web site.
1.2 Nhu cu cp nht v qun l ni dung
1.2.1Nhu cu ca cc doanh nghip cp nht thng tin cho cc trang web trong doanh nghip, ngi ta cn phi
thu thp cc thng tin t nhiu ngun khc nhau. Sau , cc thng tin ny sc
chuyn cho nhm ph trch v web site ca doanh nghip cp nht ln web site
ca h.
Hnh v sau s minh ha cho quy trnh cp nht thng tin ny
-
8/14/2019 LVCNTT-CMSModuleTMA
28/167
-
8/14/2019 LVCNTT-CMSModuleTMA
29/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 20 ngnh Vng
1.2.2Nhu cu ca cc tbo in tTrong cc to son bo in t, cp nht thng tin thng xuyn, cc phng
vin v cc nh bo phi tp h p thng tin t nhiu ngun khc nhau. Sau , ccthng tin ny phi ch s kim duyt. Cc thng tin sau khi c kim duyt s
chuyn cho i ng lm web ca to son cp nht ln web site ca bo in t.
Hnh 6: Quy trnh cp nht thng tin trong mt tbo n t
Nu s dng mt h CMS trong to son ca mnh, ton son bo c th gim i
mt s bc trong quy trnh cp nht thng tin ca h. Do , h c th gim thiu thi
gian v cng sc lm cng vic ny. Bi v khi s dng h CMS th h khng cn
phi c i ng lm web cho ton son v cc bin tp vin c th duyt cc thng tin
ny bng cch s dng h CMS.
Ngoi ra, h CMS cn c th gip cc phng vin v cc nh bo trong vic thu
thp thng tin.
-
8/14/2019 LVCNTT-CMSModuleTMA
30/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 21 ngnh Vng
Hnh v sau s minh ho quy trnh cp nht thng tin trong mt to son bo c
s dng h CMS
Hnh 7: Quy trnh cp nht thng tin trong to son bo in tc sdng h CMS
1.2.3Nhu cu trong cc h thng thng tin ca cc cng tyTrong cc h thng thng tin ca cc cng ty, ngi ta phn thnh cc phng
ban v cc d n. Cc phng ban v cc d n ny c nhim v phi cung cp thng tin
cho nhm lm web ca cng ty. Sau , thng tin ny mi c cp nht ln h thng
Intranet.
-
8/14/2019 LVCNTT-CMSModuleTMA
31/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 22 ngnh Vng
Quy trnh cp nht thng tin ny c minh ho bng hnh v di y.
Hnh 8: Quy trnh cp nht thng tin trong mt h thng thng tin
Trong quy trnh ny, cc phng ban v cc d n shu thng tin ring ca h.
Tuy nhin, h khng c quyn a cc thng tin ny ln h thng intranet ca cng ty.
Vic cp nht thng tin b ph thuc vo nhm lm web. Do , khi nhm lm web
nhn c thng tin t cc phng ban v cc d n, h cn phi kim tra li tnh chnh
xc ca thng tin trc khi cp nht thng tin ln h thng intranet.
Do cc phng ban v cc d n qu bn rn vi cng vic ca h, h thngkhng cung cp thng tin thng xuyn cho nhm lm web cp nht thng tin v
phng ban hay d n ca mnh. Khi nhng thng tin trn intranet ca cng ty qu li
thi v khng c cp nht thng xuyn th nhm lm web mi nhc nhcc phng
ban v cc d n cung cp thng tin cho mnh cp nht. V iu ny tht s lm
chn nn c nhm lm web ln cc phng ban v cc thnh vin ca d n.
Ngc li, khi s dng mt h CMS trong h thng thng tin ca cng ty, ccphng ban v cc d n c th cp nht cc thng tin ca h mt cch nhanh chng m
khng cn phi ph thuc vo nhm lm web. Hn na, chnh cc phng ban v cc d
n s chu trch nhim v cc thng tin m mnh a ln cng nh l tnh trng thng
-
8/14/2019 LVCNTT-CMSModuleTMA
32/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 23 ngnh Vng
tin thiu cp nht v phng ban hay d n ca mnh. Do , cc phng ban v cc d
n s cm thy c trch nhim hn vi vic cp nht thng tin thng xuyn ny.
Hnh 9: Quy trnh cp nht thng tin trong mt h thng thng tin c CMS
Ngoi ra, h thng thng tin ca cng ty c th s dng h CMS ny nh mt
cng c qun l ni dung. V cng c ny c sc s dng bi nhiu ngdng khc nhau trn intranet.
2.Nhng li ch m mt h CMS mang li cho cc cng tyDo ti ny c thc hin nhm pht trin mt h CMS cho cng ty TMA,
do , chng ti ch quan tm v nu ra nhng li ch m mt h CMS mang li cho h
thng intranet ca Cng ty. Nhng li ch ny c trnh by di y:
Cp nht thng tin nhanh chng.
Gim thi gian, cng sc v chi ph cho vic cp nht thng tin.
-
8/14/2019 LVCNTT-CMSModuleTMA
33/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 24 ngnh Vng
Cc ng dng khc c th s dng h CMS ny nh mt cng c h tr
cho vic cung cp v cp nht thng tin.
Gip ngi s dng d dng to ra ni dung cc trang web trong mt mi
trng thun tin.
Phn quyn s dng tng ng vi mi ngi s dng.
C nhn ho thng tin ngi s dng.
Cung cp cch tm kim thng tin.
p dng cc template gip cho vic to ra ni dung mt cch ng
nht.
Cho php thay i d dng cch thc hin th ca cc trang web trongweb site.
Chm dt tnh trng thng tin thiu cp nht trn cc web site.
Nng cao trch nhim ca cc phng ban v cc n trong cng vic
cp nht thng tin v phng ban v n.
-
8/14/2019 LVCNTT-CMSModuleTMA
34/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 25 ngnh Vng
Chng 4H thng intranet hin ti ca cng ty
-
8/14/2019 LVCNTT-CMSModuleTMA
35/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 26 ngnh Vng
1.Yu cu khi pht trin h thng intranet ca cng ty TMA1.1 Tnh hnh hin ti
Khi ti ny c bt u th nhm TIS (TMA Information System) ang pht
trin mt h thng intranet mi cho cng ty da trn kin trc SOA (Service Oriented
Architecture). Hnh v sau s minh ho cho kin trc ny.
Portal c xy dng da trn Liferay
Hnh 10: Kin trc SOA ca intranet ca cng ty TMA
-
8/14/2019 LVCNTT-CMSModuleTMA
36/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 27 ngnh Vng
Trong hnh v trn, chng ta c th lit k mt s thnh phn nh sau:
Cc ng dng: qun l nhm, thng tin lin h nhn vin, qun l nhn
s, qun l thng tin cc d n
Cc Dch v: Dch v bo mt, dch v tuyn dng
Cc thnh phn chc nng: Cc gi th vin dng chung
Cc thnh phn phi chc nng: H qun l ti liu, H qun l ni dung,
H tm kim thng tin, H h trlm bo co
Trong qu trnh xy dng h thng intranet, cng ty ra cc yu cu pht
trin mt h thng n nh, chng hn cc yu cu v h thng v cc yu cu v trin
khai. Cc thnh vin tham gia pht trin h thng v cc thnh phn lin quan phi tun
th cc quy nh ra.
1.2 Quy nh v kin trc
1.2.1Kin trc mnhMt kin trc mnh c xy dng phi bao gm cc tnh cht sau:
C th d dng mrng kin trc intranet trong tng lai.
H thng phi hot ng n nh.
Intranet c th s dng di dng mt h thng phn tn.
Intranet h trnhiu loi ng dng.
Intranet hot ng vi hiu sut cao.
Intranet s dng cc thnh phn m ngun mv min ph.
-
8/14/2019 LVCNTT-CMSModuleTMA
37/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 28 ngnh Vng
1.2.2Xy dng cc cng c h thng phi chc nngH thng intranet bao gm mt s cng c phi chc nng nh sau :
Thnh phn bo mt: h thng intranet c mt h thng bo mt cho
php phn quyn nhng ngi s dng trn h thng.
Kim sot quy trnh x l: h thng intranet xc nh cch qun l cc
quy trnh x l.
H qun l ni dung trang web: h thng intranet cung c p cc thnh
phn dng qun l ni dung cc trang web.
H qun l ti liu: h thng intranet cung cp cc thnh phn dng
qun l ti liu trong h thng h thng intranet.
Cc template ca giao din ngi dng: h thng intranet h tr cc
template gip cho ngi s dng to ra nhanh chng v d dng ni
dung mt cch ng nht.
1.2.3Bo mt H trnhiu loi ngi dng: do trong cng ty TMA c nhiu nhm v
trong mi nhm c nhiu v tr cng vic khc nhau nn cn phi h tr
nhiu loi ngi dng khc nhau.
Truy cp mi ni: do cc nhn vin ca cng ty c nhu cu truy cp vo
mng intranet ca cng ty khi h trv nh ca h nn h thng intranet
s h trcchp ng nhu cu ny
Ghi nhn truy cp: h thng intranet ghi nhcc thao tc trn h thngtrong phin lm vic ca tng ngi s dng.
-
8/14/2019 LVCNTT-CMSModuleTMA
38/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 29 ngnh Vng
1.2.4Kh nng tch hpCc yu cu ny cho php tch hp d dng cc module vo trong h thng
intranet ca cng ty:
Kin trc m ngun m: c im ny cho php h trnhiu cng ngh
khc nhau cng hot ng .
S dng cc th vin c sn thay v xy dng tu.
1.3 Yu cu lc pht trin
Do h thng intranet c xy dng s dng trong ni b ca cng ty TMA,
Cng ty t ra cc yu cu trong qu trnh pht trin nh sau:
Cn phi s dng cc cng c m ngun mv min ph pht trin h
thng.
Cn phi s dng cc cng c trn nn web tch hp d dng cc cng
c ny vo h thng thng tin hin ti ca TMA. H thng intranet v cc thnh phn ca n c xy dng da trn m
ngun mv min ph.
-
8/14/2019 LVCNTT-CMSModuleTMA
39/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 30 ngnh Vng
2.Portal hin ti ca TMA2.1 c im v cc thnh phn ca portal
Theo nh thit k ban u, portal ca cng ty TMA bao gm cc cc c im
sau:
Cch bo mt: y chnh l c im quan trng nht ca portal dng
kim sot truy cp ca ngi s dng.
Kh nng tch hp: c im ny cho php tch hp cc thnh phn khcnhau vo trong nhn ca portal.
H qun tr ti liu: h thng ny dng qun l cc ti liu s dng
trong ni b cng ty.
H qun tr ni dung: h thng ny dng qun l ni dung cc trang
web c s dng trong ni b Cng ty.
Cch tm kim: cch cho php cc nhn vin trong Cng ty tm kim
thng tin cn thit ca h.
Cch h trbo co.
H qun l quy trnh hot ng: h thng ny gip cho cc nhn vin
trong cng vic ca h. Khi c s thay i xy ra trong quy trnh lm
vic th ch cn nh ngha li th t thc hin cc cng vic trong quy
trnh nhn c cng mt kt qu nh lc cha thay i, thay v phi
vit li ton b quy trnh lm vic.
H qun l lch trnh: h thng hot ng vo mt thi im nh trc
trong tng lai.
-
8/14/2019 LVCNTT-CMSModuleTMA
40/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 31 ngnh Vng
Trong cc thnh phn nu trn, c mt s thnh phn c xy dng hon
thin v s cn li ang trong giai on thc hin.
2.2 Cc thnh phn c xy dng
Vo thi im bt u thc hin lun n ny, cc thnh phn sau c xy
dng v tch hp vo portal ca cng ty:
-
8/14/2019 LVCNTT-CMSModuleTMA
41/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 32 ngnh Vng
Module M ngun msdng
Portal Liferayhttp://www.liferay.com/cms/servlet/HOME-
INDEX
Document Management System OpenEDMS v Knowledge Tree
http://www.openedms.com/edms/index.html
http://theknowledgetreeinc.com/
Search Engine http://Dig
http://www.htdig.org/
Report Engine Datavision
http://datavision.sourceforge.net/
Workflow Engine Bonita
http://bonita.objectweb.org/
Bng 1: Mt sthnh phn c xy dng trong h thng portal ca Cng ty
Cc c im v cc thnh phn trong portal ca cng ty c th hin trong
hnh v sau:
-
8/14/2019 LVCNTT-CMSModuleTMA
42/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 33 ngnh Vng
Enterprise
Portal
Document
Management
Integration
Reporting
engine
Security
Workflow
management
Content
management
Scheduling
system
Searching
Engine
Hnh 11: Cc thnh phn trong portal ca cng ty TMA
ht:/ / Dig
Liferay
BonitaDatavision
OpenEDMS &
Knowledge Tree
-
8/14/2019 LVCNTT-CMSModuleTMA
43/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 34 ngnh Vng
2.3 Kin trc h thng ca portal
2.3.1Kin trc h thng ca cc portal ph bin
Hnh 12: Kin trc h thng ca cc portal phbin
Trong cc portal ph bin, ngi ta s dng trnh duyt web v giao thc HTTP
kt ni n cc ng dng web trn portal. Mi portal c duy nht mt portlet/servlet
container. Cc ng dng web ca portal giao tip vi portlet/servlet container bi cc
APIs v cc SPIs.
Portlet/servlet container cha ton b cc portlet. Cc portlet ny cung cp cc
APIs portlet/servlet container c th s dng cc chc nng ca n
-
8/14/2019 LVCNTT-CMSModuleTMA
44/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 35 ngnh Vng
2.3.2Kin trc h thng ca portal TMA
Hnh 13: Kin trc h thng ca portal TMA
Trong kin trc ny, khi ta nh p vo d liu dng HTML, WML hay XML(Web services trong hnh v), cc d liu ny i qua 3 tng: trnh din, x l v d
liu ca m hnh MVC. Trong 3 tng ny, ngi ta c th s dng cc cng ngh nh:
struts, servlet, spring, EJB, Hibernate, JMS
-
8/14/2019 LVCNTT-CMSModuleTMA
45/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 36 ngnh Vng
Ngoi d liu dng HTML, WML hay XML, chng ta cn c th s dng cc
i tng di dng J2EE, J2SE hay J2ME.
3.Cng nghc sdng pht trin h thng intranetTrong qu trnh xy dng h thng intranet, cc cng ngh v k thut sau
c s dng:
Multi-platform: Linux, Solaris, Windows
Platform : .NET, J2EE
XML, SOAP, HTTP, RMI-IIOP, WSRP... H qun tr c s d liu: Hypersonic, MySQL, PostgreSQL, SQL
Server.
Web application server: JBoss, TomCat, Sun ONE, webLogic, Jonas.
4.Cc chun dng pht trin h thngTrong qu trnh pht trin h thng intranet ca Cng ty, Cng ty quyt nh
cc thnh phn c xy dng cn tun theo cc chun trn th gii nu c thc.
S pht trin cc thnh phn da trn cc chun ny c cc li ch nh sau:
S dng mt chun pht trin s cn t thi gian v chi ph hn.
Trn th gii u bit n chun c s dng pht trin, do s c
nhiu s h trhn trong qu trnh xy dng cc thnh phn.
C nhiu m ngun mc xy dng da trn cc tiu chun, do cth tn dng cc thnh phn ny cho portal.
Cc thnh phn c xy dng da trn cc chun s tch hp d dng
hn vo h thng hin ti.
-
8/14/2019 LVCNTT-CMSModuleTMA
46/167
-
8/14/2019 LVCNTT-CMSModuleTMA
47/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 38 ngnh Vng
To, xo b, sa i thng tin ngi s dng.
Cp nht thng tin ngi s dng.
Cho php ngi s dng ng nhp vo h thng.
Ngn cm ngi s dng ng nhp vo h thng.
Gn cc vai tr cho ngi s dng.
Do trong mt t chc tn ti rt nhiu phng ban v v tr cng vic
khc nhau, do cn phi phn chia vai tr cho tng ngi s dng
khc nhau trn h thng tu thuc vo tng phng ban v v tr cng
vic ca h.
Mt ngi s dng c th c nhiu vai tr khc nhau trong h thngv cc vai tr ny c gn bi ngi qun l web site.
S dng cc template cho cc trang web: cc trang web cn phi ng b
vi nhau v cch thc hin th, do cn phi s dng cc template
ging nhau cho ton b web site.
Phn loi ni dung: iu ny l cn thit trnh tnh trng d liu b sp
xp khng theo trt t v c th tm kim d dng thng tin cn thit.
Tm kim thng tin: do ni dung trang web v cc thng tin lin quan
ngy cng nhiu, do cn phi c cch tm kim thng tin h tr
cc nhn vin trong cc trng hp cn thit.
Thay i cc thng s cu hnh: h thng ny cho php thay i cc
thng tin cu hnh ti u ho hot ng ca h thng.
Ngoi cc nhu cu cu ca mt h CMS thng thng, cng ty TMA cn c 2
nhu cu nh sau:
-
8/14/2019 LVCNTT-CMSModuleTMA
48/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 39 ngnh Vng
5.1 Nhu cu chia s thng tin gia cc dn v cc v tr cng
vic
Trong cng ty TMA c rt nhiu d n v trong mi d n li tn ti nhiu v tr
cng vic khc nhau, bao gm c 3 v tr nh sau:
Qun l d n.
Qun l nhm.
Thnh vin bnh thng.
Mi d n shu cc thng tin ring v d n v cc cng vic hang thchin. Mt phn cc thng tin ny c th cho php mi ngi trong cng ty u c th
xem c. Phn cn li ch cho php cc thnh vin trong nhm c th truy cp vo
thi.
Mi d n c mt ngi ph trch cp nht thng tin v d n . Ngi ny
thng thng l trng d n hoc trng nhm. Ngi ny c quyn thc hin mt s
thao tc nh: to, xo b, sa icc thng tin ca nhm trn intranet. cc thnh vin
khc ca nhm ch c quyn xem trn cc thng tin ca nhm.
Hnh v sau s minh ho cho iu va trnh by
-
8/14/2019 LVCNTT-CMSModuleTMA
49/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 40 ngnh Vng
Hnh 14: Chia s thng tin gia cc dn v v tr cng vic trong cng ty TMA
-
8/14/2019 LVCNTT-CMSModuleTMA
50/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 41 ngnh Vng
5.2 Xy dng h CMS di dng mt portlet c thc s
dng bi cc ng dng v cc thnh phn khc
Nh trinh by nh trn, chng ta bit rng h CMS xy dng l mt thnh
phn phi chc nng dng cung cp chc nng cho cc ng dng, cc dch v, cc
thnh phn chc nng khc. Do , cn phi xy dng h CMS di dng mt portlet
c th s dng bi cc ng dng v cc thnh phn khc trn intranet.
5.3 Cc k thut sdng trong qu trnh pht trin
Do h CMS ny c xy dng tch hp vo h thng thng tin c sn cacng ty TMA di dng mt portlet. Do , c mt s quy nh trong qu trnh pht
trin h CMS ny nh sau:
H CMS ny phi c xy dng di dng mt portlet: iu ny cn
thit tch hp vo portal hin ti ca Cng ty.
H CMS ny phi tun theo chun JSR 168: do chun JSR 168 l chun
dng tch hp mt portlet vo portal. H CMS phi c lp trnh bng Java: portal hin ti ca cng ty c
lp trnh bng Java v cc portlet trn portal tun theo chun JSR 168.
H CMS phi c xy dng da trn cc gii php m ngun m v
min ph.
S dng chun JSR 170 xy dng h thng ny nu c thc: do
chun JSR 170 l chun dng h trvic xy dng cc h CMS, vic
xy dng h thng ny nn tun theo chun JSR 170 c th mrng
h thng ny trong tng lai nu c nhu cu.
H thng ny phi c kh nng hot ng trn nn Linux: portal hin ti
ca cng ty hot ng trn Linux.
-
8/14/2019 LVCNTT-CMSModuleTMA
51/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 42 ngnh Vng
H thng ny phi c kh nng hat ng trn application server JBoss:
do portal hin ti ca cng ty hot ng trn JBoss.
-
8/14/2019 LVCNTT-CMSModuleTMA
52/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 43 ngnh Vng
Chng 5Chun JSR 168
-
8/14/2019 LVCNTT-CMSModuleTMA
53/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 44 ngnh Vng
1.Gii thiu v chun JSR 168Chun JSR 168 dng nh ngha portlet v cch thc giao tip gia portlet v
portal.
Phin bn hin ti ca chun ny l 1.0 c a ra bi Sun Microsystems vo
ngy 29/08/2003. (http://jcp.org/en/jsr/detail?id=168)
Hnh 15: M hnh chun JSR 168
Hnh trn m t s giao tip gia portal v cc portlet. S giao tip ny c
thc hin thng qua cc API c cung cp bi chun JSR 168.
Portlet
Portlet
PortletPortlet
Portlet
API
API
APIA
PI
API
JSR-168
-
8/14/2019 LVCNTT-CMSModuleTMA
54/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 45 ngnh Vng
2.Mt s khi nim chnh2.1 Portal
Portal l mt ng dng Web dng tch hp cc ni dung t cc ngun khc
nhau vo cng mt trang Web. Cc ni dung c thc cu hnh ty thuc vo tng
ngi s dng khc nhau m Portal cho php. Mt Portal c th cha nhiu Portlet
2.2 Portlet
Portlet l mt thnh phn (component) da trn nn Web s dng cc cng nghca Java. Portlet c qun l bi mt Portlet Container. Portlet dng x l cc yu
cu v to ra cc thnh phn d liu ng phn hi yu cu.
Portlet c th tch hp vo Portal v Portal s cung cp mt tng trnh din cho
cc thnh phn ca Portlet.
Ni dung c to ra bi Portlet c gi l Fragment. Mt Fragment l mt
mnh d liu c to bi cc ngn ng nh: HTML, XHTML, WML theo mt
nh dng c quy nh. Cc Fragment ny c thc kt hp vi cc Fragment ca
cc Portlet khc hnh thnh trang Web ca Portal.
Ngi s dng tng tc vi Portlet thng qua cch yu cu/phn hi c
cung cp bi Portlet. Ni dung phn hi yu cu c Portlet to ra v ni dung ny
cng ty thuc vo cu hnh ng vi tng ngi s dng.
-
8/14/2019 LVCNTT-CMSModuleTMA
55/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 46 ngnh Vng
2.3 Portlet Container
Porlet Container cung cp mt mi trng lc Runtime cha ng v qun l
chu k sng ca mt Portlet.
Portlet Container nhn yu cu t Portal v chuyn yu cu ny n Portlet
tng ng Portlet x l yu cu v to ni dung phn hi.
3.So snh Portlet v Servlet
3.1 im ging nhau gia Portlet v Servlet
Cng l thnh phn Web s dng cng ngh ca Java.
c cha ng v qun l bi mt Container.
To ra ni dung d liu ng phn hi li yu cu.
Cng tng tc vi ngi s dng thng qua cch yu cu/phn hi.
3.2 im khc nhau gia Portlet v Servlet Portlet ch to ra cc Fragment ch khng to ra ton b ti liu. Portal s
tp hp cc Fragment do Portlet to ra thnh ni dung ca trang Web trn
Portal..
Khng cn phi kt hp mt Portlet vi mt a ch URL nh Servlet
Ngi s dng tng tc vi Portlet thng qua Portal.
Portlet c th c s dng nhiu ni trn cng mt trang Web ca
Portal.
-
8/14/2019 LVCNTT-CMSModuleTMA
56/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 47 ngnh Vng
3.3 c trng ca Portlet m khng c servlet
Portlet cho php truy cp v lu tr cu hnh v ti u ho d liu.
Portlet cho php truy cp vo cc thng tin v ngi s dng. Portlet h trchc nng vit li URL ( URL Rewriting Function ) cho
php to ra lin kt trong ni dung ca n.
Portlet c th lu tr d liu to thi trong phin lm vic ca Portlet 2
phm vi: Phm vi ng dng v Phm vi c nhn.
4.Giao din portletGiao din Portlet khai bo cc API c bn nht ca mt Portlet. Mi Portlet
c xy dng u phi hin thc ho trc tip hoc gin tip giao din Portlet.
Lp GenericPortlet hin thc ho giao din Portlet v nh ngha cc chc nng
cbn nht m mt Portlet cn c. Do , khi xy dng Portlet, lp trnh vin nn m
rng trc tip hoc gin tip lp GenericPorlet ny.
Mt Portlet c qun l thng qua chu trnh sng ca n, bt u t lc Portlet
c ti ln, to th hin ca n v khi to, hot ng phn hi yu cu ca ngi
s dng n lc n c loi b. Cc phng thc c gi n trong chu trnh sng
ca Portlet l:
Gi phng thc init trong qu trnh khi to ca Portlet
Nu yu cu do my khch gi ti l yu cu hnh ng (Action
Request) th phng thc processAction c gi. Nu yu cu do mykhch gi ti l yu cu biu hin (Render Request) th phng thc
processAction c gi.
-
8/14/2019 LVCNTT-CMSModuleTMA
57/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 48 ngnh Vng
Khi Portlet Container xc nh mt Portlet khng cn s dng na th gi
n phng thc destroy ca Portlet . Khi phng thc destroy c
gi th Portlet s gii phng ti nguyn h thng m n ang s dng v
lu li trng thi hin thi ca n.
5.Portlet URLMt Portlet c th to ra URL tham chiu n chnh Portlet . Khi cc URL
ny c gi l Portlet URL.
to ra mt Portlet URL th Porlet cn phi s dng i tng PorletURL.Nu phng thc createActionURL c gi th s to ra mt URL hnh ng v nu
phng thc createRenderURL c gi th to ra mt URL trnh din.
6.Portlet ModeKiu Portlet xc nh chc nng m Portlet hin ang thc hin. Thng thng,
Portlet thc hin cc tc v v to ra ni dung ty thuc vo chc nng hin thi. KiuPortlet cho bit nhng tc v no mt Portlet cn thc hin v nhng ni dung no
Portlet cn phi to ra.
C 3 kiu Portlet c quy nh l:
VIEW
Chc nng chnh ca Portlet khi s dng kiu VIEW l to ra ni
dung cho bit trng thi ca Portlet
Lp trnh vin s hin thc ha kiu VIEW bng cch nh ngha li
phng thc doView ca lp GenericPortlet.
-
8/14/2019 LVCNTT-CMSModuleTMA
58/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 49 ngnh Vng
Mi Portlet u phi h trkiu VIEW
EDIT
Trong kiu EDIT, mt Portlet s cung cp ni dung v cu hnh cc
thnh phn ca n ngi s dng c th ti u ha hat ng ca
Portlet
Lp trnh vin s hin thc ha kiu EDIT bng cch nh ngha li
phng thc doEdit ca lp GenericPortlet.
Mi Portlet khng nht thit phi h trkiu VIEW
HELP
Trong kiu HELP, Portlet cung cp nhng thng tin gip ngi s
dng v Portlet. Nhng thng tin ny c th l nhng thng tin chung
v ton b Portlet hoc l cc gip cm ng cnh (Context-
sensitive help)
Cc hng s tng trng cho 3 kiu Portlet c khai bo trong lp
PortletMode
7.Window StateTrng thi ca s cho bit khong khng gian trn trang Web Portal dnh cho
ni dung ca Portlet.
C 3 trng thi ca sc nh ngha :
NORMAL: cho bit Porlet c th chia s trang Portal vi cc Portlet
khc. Ngoi ra, trng thi ny cn cho bit gii hn hin th ca thit b
do Portlet siu chnh kch thc ph hp vi vng hin th.
-
8/14/2019 LVCNTT-CMSModuleTMA
59/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 50 ngnh Vng
MAXIMIZED: cho bit ch c mt Portlet hin th trn trang Portal hoc
Portlet c u tin hin th ni dung nhiu hn cc Portlet cn li.
MINIMIZED: Cho bit ni dung ca Portlet chc hin th t nht c
thc hoc khng c hin th.
Cc trng thi ca sc nh trong lp WindowState.
8.Portlet RequestMt yu cu gi n Portlet cha cc thng tin v yu cu t pha my khch,
cc tham s ca yu cu, ni dung d liu yu cu, kiu Portlet, trng thi ca s
Yu cu c i din bi mt i tng v i tng ny c truyn vo nh
l i s ca phng thc processAction hay render.
Mi i tng yu cu ch c th hat ng trong phm vi ca mt phng thc
processAction hay render
Cc chc nng cn thit ca i tng PortletRequest c khai bo trong giaodin PortletRequest.
9.Portlet ResponseMt phn hi ca Portlet bao gm nhng thng tin c to ra bi Portlet gi
tr v cho Portlet Container da trn yu cu c gi n nh: s thay i kiu
Portlet, tiu , ni dung Portlet Container s s dng nhng thng tin ny to raphn hi n ngi s dng, thng thng l mt trang Web Portal.
-
8/14/2019 LVCNTT-CMSModuleTMA
60/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 51 ngnh Vng
Mi i tng phn hi ch c th hat ng trong phm vi ca mt phng
thc processAction hay render
Cc chc nng cn thit ca i tng Portlet Response c khai bo tronggiao din PortletResponse.
10.Portlet PreferencesPortlet thng thng c cu hnh cho ph hp vi tng ngi s dng. Cc
thng tin v cu hnh ca Portlet c gi l Portlet Preference. V Portlet Container
s chu trch nhim lu gi nhng thng tin cu hnh ny.
Portlet c th truy cp vo cc thng tin cu hnh ca n thng qua giao din
PortletPreferences. V Portlet ch c th thay i cc thng tin v cu hnh ca n bn
trong phng thc processAction.
nh ngha Portlet xc nh cc thuc tnh preference m mt Portlet s dng.
nh ngha ny bao gm cc gi tr khi to v xc nh xem thuc tnh ny c phi l
thuc tnh chc hay khng.
11.CachingVic lu cc ni dung cn s dng vo vng nhtm thi c thc hin nhm
mc ch rt ngn thi gian x l ca Portlet, ng thi cng rt ngn thi gian x l
ca Server.
c t Portlet xc nh cch ht hn vic lu tr ni dung lu tm thi ny.
C ch ny hat ng ty thuc v tng Portlet v tng ngi s dng Portlet. Ni
-
8/14/2019 LVCNTT-CMSModuleTMA
61/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 52 ngnh Vng
dung c lu tr tm thi khng c chia s gia cc ngi s dng khc nhau ang
s dng ng thi cng mt Portlet.
Mt Portlet mun tng thi gian x l bng cch s dng c ch lu tr tmthi ni dung cn phi nh ngha thi gian ht hn ni dung lu tm thi (tnh bng
n v giy) trong c t trin khai ca n. V d sau y cho bit mt Portlet mun ni
dung ca n c lu tr tm thi vi thi gian ht hn l 300 giy.
...
...
300
...
...
Mt Portlet nu nh ngha thi gian ht hn lu tr d liu tm thi ca ntrong c t trin khai ca n vn c thc lp trnh vin thay i
Thi gian ht hn ca vic lu tr tm thi ny c thc thay i bng cch
thay i thuc tnh ca i tng RenderResponse.
Nu thi gian ht hn ny c gn bng 0 th vic lu tr d liu tm thi b
b qua i vi Portlet. Nu gi tr ny c gn bng -1 th cc ni dung c lu tm
thi ca Portlet s khng bao gib ht hn.
-
8/14/2019 LVCNTT-CMSModuleTMA
62/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 53 ngnh Vng
Nu mt Portlet khng nh ngha thi gian ht hn ca d liu lu tr tm thi
trong c t trin khai ca n th vic thay i gi tr thi gian ny trong i tng
RenderResponse s khng c tc dng do s b Portlet Container b qua.
Nu ni dung ca Portlet c lu tr tm thi v cha ht hn, ng thi
khng c mt yu cu no n Portlet t pha ngi s dng th Portlet Container s s
dng ni dung c lu tr tm thi khi cn thit.
Nu ni dung ca Portlet c lu tr tm thi v c yu cu n Portlet t pha
ngi s dng th Portlet Container s khng s dng ni dung tm thi c lu tr
m s gi n phng thc x l yu cu ca Portlet
12.ng dng Portlet12.1 Cc thnh phn ca ng dng Portlet
ng dng Portlet l mt ng dng Web nn ngoi vic bao gm Portlet v c
t trin khai Portlet, n cn c th cha cc thnh phn khc nh: Servlet, trang JSP,cc lp Do , bn cnh cc thng tin vng dng Portlet, n cn cha ng thng
tin v cc thnh phn c a vo ng dng Portlet.
12.2 Cu trc cy thmc
Mt ng dng Portlet cng c cu trc cy th mc c t chc ging nh mt
ng dng Web. Tuy nhin c mt s khc bit nh sau:
C thm t p tin /WEB-INF/portlet.xml l t p tin c t trin khai ca
Portlet.
-
8/14/2019 LVCNTT-CMSModuleTMA
63/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 54 ngnh Vng
Cc lp c s dng cho ng dng Portlet v cc ti nguyn khc c
truy cp bi ng dng Portlet cn phi c lu trong th mc
/WEB-INF/classes hoc trong cc t p tin JARc lu trong th mc
/WEB-INF/lib.
12.3 Tp tin lu trca ng dng Portlet
Mt ng dng Portlet cng c ng gi nh l mt ng dng Web. Ngha l
s dng dng WAR (Web Application Archive) khi trin khai ng dng.
13.Cc c tng gi v trin khai13.1 c t trin khai ca ng dng Web v ng dng Portlet
Trong cc ng dng Portlet, lun tn ti 2 tp tin c t l:
Tp tin web.xml dng c t cc ti nguyn ca ng dng Web.
Tp tin portlet.xml dng c t cc ti nguyn ca ng dng Portlet.
Cc ti nguyn no khng lin quan n Portlet th c khai bo trong tp tin
c t web.xml. Cn cc ti nguyn no c lin quan n Portlet th c khai bo
trong tp tin portlet.xml . Ngai ra, mt s thng tin ca Portlet cn phi c khai bo
trong tp tin web.xml nh sau:
M t vng dng Portlet c khai bo bng th .
Tn ca ng dng Portlet c khai bo bng th .
Vic nh x cc vai tr bo mt (Security Role Mapping) ca ng dng
Portlet c khai bo bng th .
-
8/14/2019 LVCNTT-CMSModuleTMA
64/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 55 ngnh Vng
13.2 Trin khai ng dng Portlet v ng dng Web
Cc Portlet, c t trin khai v mi ti nguyn u phi c ng gi trong
cng mt tp tin WAR. Trong , th mc WEB-INF bao gm cc thnh phn:
Tp tin c t trin khai /WEB-INF/portlet.xml
Cc lp ca Portlet nm trong th mc /WEB-INF/classes
Cc tp tin JARc lu trong th mc /WEB-INF/lib
Mt v d v cu trc cy th mc ca ng dng Portlet nh sau:
/images/myButton.gif
/META-INF/MANIFEST.MF
/WEB-INF/web.xml
/WEB-INF/portlet.xml
/WEB-INF/lib/myHelpers.jar
/WEB-INF/classes/com/mycorp/servlets/MyServlet.class/WEB-INF/classes/com/mycorp/portlets/MyPortlet.class
/WEB-INF/jsp/myHelp.jsp
ng dng Portlet nu mun s dng cc ti nguyn khng thng gi c
vo tp tin WAR, chng hn EJB, th c thng gi cc ti nguyn ny di dng tp
tin EAR.
13.3 Cc thnh phn ca c t trin khai Portlet
Cc thng tin cu hnh v cc thng tin trin khai sau y phi c h trtrong
tp tin c t trin khai Portlet :
-
8/14/2019 LVCNTT-CMSModuleTMA
65/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 56 ngnh Vng
nh ngha ng dng Portlet (Portlet Application Definition)
nh ngha Portlet (Portlet Definition)
Hnh v sau minh ha cu trc ca mt c t trin khai Portlet:
-
8/14/2019 LVCNTT-CMSModuleTMA
66/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 57 ngnh Vng
Hnh 16: Cu trc mtc t trin khai Portlet
-
8/14/2019 LVCNTT-CMSModuleTMA
67/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 58 ngnh Vng
Hnh 17: Cu trc mtc t trin khai Portlet (tt)
-
8/14/2019 LVCNTT-CMSModuleTMA
68/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 59 ngnh Vng
13.4 Tnh duy nht ca cc gi tr trong c t trin khai
Portlet
Cc gi tr trong c t trin khai sau phi l duy nht trong phm vi ca nh
ngha ng dng Portlet (Portlet Application Definition):
Tn Portlet : .
Kiu Portlet ty chn : .
Kiu ca s ty chn : .
Thuc tnh ngi s dng : .
Cc gi tr trong c t trin khai sau phi l duy nht trong phm vi ca nh
ngha Portlet (Portlet Definition):
Gi tr khi to: .
H trkiu: .
Tham chiu: .
Tham chiu vai tr bo mt: .
14.Thvin cc th PortletTh vic cc th Portlet dng h trcho cc trang JSP khi c gi t Portlet
c th truy nh p vo cc thnh phn ca Portlet nh l : RenderRequest,
RenderResponseCc th vin ny cng gip cho cc trang JSP c th truy cp vo
cc chc nng ca Portlet nh vic to ra cc Portlet URL.
-
8/14/2019 LVCNTT-CMSModuleTMA
69/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 60 ngnh Vng
Cc trang JSP khi s dng cc th vin ny cn phi khai bo chng trong th
th vin theo nh mu sau:
14.1 Th actionURL
Th actionURL to ra mt URL tham chiu n Portlet hin ti v thc thi mt
s yu cu vi cc tham s khi to.
Cc tham s ny c thc thm vo URL bng cch nhp th param gia th
ng v th mactionURL nh trong v d sau :
14.2 Th renderURL
Th renderURL to ra mt URL tham chiu n Portlet hin ti v thc thi mt
s yu cu render vi cc tham s khi to.
Cc tham s ny c thc thm vo URL bng cch nhp th param gia th
ng v th mrenderURL.
-
8/14/2019 LVCNTT-CMSModuleTMA
70/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 61 ngnh Vng
Chng 6Chun JSR 170
-
8/14/2019 LVCNTT-CMSModuleTMA
71/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 62 ngnh Vng
1.Gii thiu v chun JSR 170Chun JSR 170 dng nh ngha cch thc lu tr v truy xut d liu. C
nhiu loi d liu c h trnh: h qun tr csd liu, h thng tp tin ca h
iu hnh, tp tin XMLNgoi ra, chun ny cn cung cp cc API v cc cch
chuyn i gia cc c sd liu cng nh h trcho vic truy xut c sd liu,
nh: lu tr d liu theo cu trc cy, qun l phin bn d liu, lng nghe s kin xy
ra trn cu trc lu tr d liu, khng cho truy cp vo d liu
Phin bn hin ti ca chun JSR 170 l 0.16.2 c a ra bi Day Management AG
vo ngy 25/01/2005. (http://jcp.org/en/jsr/detail?id=170). Hnh v sau m t cchthc giao tip ca JSR 170 vi cc h csd liu.
Hnh 18: Chun JSR 170 giao tip vi csdliu
Repository
DBMS
Repository
File System
Repository
XML
-
8/14/2019 LVCNTT-CMSModuleTMA
72/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 63 ngnh Vng
2.M hnh repositoryMt JCR (Java Content Repository) bao gm mt hay nhiu workspace, mi
workspace l mt cu trc cy gm nhiu item, mt item c th l mt node hay mt
property, mi node c th khng c con hay c nhiu con v khng c property hay c
nhiu property. C duy nht mt node khng c cha gi l root. Tt c cc node ngoi
tr root c t nht mt cha. Property c mt cha v khng c con, c gi l l ca
cy. Property l mt n v ni dung nh nht bao gm tn v gi tr tng ng . D
liu thc sc cha ng trong gi tr ca property.
Hnh 19: M hnh mt workspace ca mt repository
-
8/14/2019 LVCNTT-CMSModuleTMA
73/167
-
8/14/2019 LVCNTT-CMSModuleTMA
74/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 65 ngnh Vng
// Ly mt Ticket
Ticket myTicket = repository.login(credentials, "MyWorkspace");
Vi i tng Ticket, Client c th truy cp n bt k mt Node hay Property
no trong cy ca Workspace ang truy cp :
// Ly Node Root
Node root = myTicket.getRootNode();
// Ly mt Node bt k vi ng dn tuyt i
Node myNode = root.getNode("a/e");
// Ly mt Property ca myNode
Property myProperty = myNode.getProperty("k");
// Ly ra gi tr ca mt Property
Value myValue = mPoperty.getValue();
// Chuyn i mt Value v mt kiu no
double myDouble = myValue.getDouble();
-
8/14/2019 LVCNTT-CMSModuleTMA
75/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 66 ngnh Vng
3.1 Thao tc trn repository
Sau khi c mt Ticket, Client c th thao tc vo Repository bng cch thm
hay xo cc node, property v thay i cc gi tr ca cc Property
V d :
Sau khi c mt node, Client c th thm vo mt node con v thm mt
Property vo node con .
//Thm mt Node con
Node newNode = myNode.addNode(n);
//Thm mt Property
newNode.setProperty(x,Hello);
S thay i bi cc phng thc ca Node v Property khng tc ng ngay
vo Workspace ca Repository. Cc s thay i c lu gi tm thi cng vi i
tng Ticket cho n khi phng thc Ticket.save hoc Node.save c gi
Ticket.save s cp nht tt c s thay i t ln save trc .
Phng thc Node.save(boolean shallow) lu ton b cy con ca i tng
node (khi shallow = false) hoc ch lu cc property ca node (khi shallow = true)
V mt tng qut, Ticket l mt kho lu tr tm thi, tt c nhng s thay i
c thc hin thng qua nhng phng thc ca Ticket hoc gin tip thng qua cc
phng thc ca Node v Property.
-
8/14/2019 LVCNTT-CMSModuleTMA
76/167
-
8/14/2019 LVCNTT-CMSModuleTMA
77/167
-
8/14/2019 LVCNTT-CMSModuleTMA
78/167
-
8/14/2019 LVCNTT-CMSModuleTMA
79/167
-
8/14/2019 LVCNTT-CMSModuleTMA
80/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 71 ngnh Vng
Property c kiu Reference dng tham chiu n mt node trong workspace.
Gi tr ca property ny l mt UUID ca node m n tham chiu. N khng cho php
xa bt k mt node no c trong ch n ca n. Nu mun xo node, trc tin phi
xo cc tham chiu n node .
8.Node8.1 Quan h gia cc node cng tn v cng cha ( Same-Name
Siblings )
Mt node c th ch p nhn cc node khc c cng cha v cng tn vi n.
Trong trng hp ny, mt ng dn khng xc nh duy nht mt node m l mt
mng cc node. Ch mc ca cc node trong mng cc node ny c th b thay i khi
ta xa hay thm mt node mi vo.
Phng thc chun ly v tp h p cc Node l
Node.getNodes(String namePattern). Phng thc ny tr v mt mng cc node con
ca i tng Node.
Khc vi node, mt property c th c nhiu gi tr ch khng tn tiquan h ny.
8.2 Cc kiu ca Node
Nt c bit ca JCR l kh nng h trkiu cho node.
Kiu node quy nh cc Node con hay cc Property m Node c th c hocbt buc phi c.
Mt kiu node bao gm cc thnh phn sau :
-
8/14/2019 LVCNTT-CMSModuleTMA
81/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 72 ngnh Vng
Name: tn ca kiu . JCR quy nh sn mt s kiu bao gm cc kiu
node chnh c tn bt u vi nt: v cc kiu node ph c tn bt u
vi mix:.
Supertype: mi kiu node c th l mrng ca mt hay nhiu kiu node
khc v kiu node c mrng l Supertype ca kiu node mrng.
Property Definitions: mi kiu node quy nh mt tp cc thuc tnh m
Node c kiu ny c th c hay bt buc phi c. ng thi kiu node
cng quy nh nhng c im m cc thuc tnh ny phi c, nhng c
im ny gi l Property Definition.
Child Node Definitions: mi kiu node quy nh mt tp cc Node con
m Node c kiu ny c th c hay bt buc phi c. ng thi kiu
node cng quy nh nhng c im m cc Node con ca Node ny phi
c, nhng c im ny gi l Node Definition.
Mixin Status: JCR quy nh mi kiu node ch c th l kiu node chnh
hay kiu node ph..
-
8/14/2019 LVCNTT-CMSModuleTMA
82/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 73 ngnh Vng
8.2.1Kiu node chnh v kiu node phJCR quy nh mi Node bt buc phi c mt v ch mt kiu node chnh v
kiu node chnh ny s quy nh nhng c im ca cc Node con v cc thuc tnh
m Node c kiu ny c th c.
Ngoi mt kiu node chnh duy nht, JCR cn cho php mi Node c th c
nhiu kiu node ph dng nh ngha thm nhng t tnh m Node c th c.
Kiu node chnh c lu trong gi tr ca thuc tnh jcr:primaryType v kiu Node
phc lu trong gi tr ca thuc tnh jcr:mixinTypes. Do mi Node c th c nhiu
kiu node ph nn thuc tnh jcr:mixinTypes l thuc tnh a tr
Kiu node nt:base l Supertype cu mi kiu node chnh trong Repository
8.2.2Property definitionsMi Property Definition ca kiu node cha cc thng tin sau:
Name: tn ca thuc tnh. Type: kiu thuc tnh.
Value constraints: min gi trc gii hn cho thuc tnh.
Default value: g tr mc nh ca thuc tnh khi thuc tnh c to ra
m khng xc nh r gi tr.
Auto-created: cho bit thuc tnh c tng c to ra khi Node s hu
loi Node c to ra hay khng.
Mandatory: cho bit thuc tnh l bt buc phi c trong Node hay
khng.
-
8/14/2019 LVCNTT-CMSModuleTMA
83/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 74 ngnh Vng
On-parent-version: trng thi ca thuc tnh dng cho bit nhng g s
c thc hin khi mt phin bn mi ca Node cha thuc tnh c
to ra.
Read-only: cho bit thuc tnh l chc hay khng
Primary-Item: cho bit thuc tnh ny c phi l thnh phn chnh ca
Node shu thuc tnh hay khng
Multiple Values: cho bit thuc tnh c tha tr hay khng.
8.2.3Child Node DefinitionsMi Child Node Definition ca loi Node cha cc thng tin sau:
Name: tn Node con.
Required Primary Node Types: cc kiu node chnh m Node con ny
phi c (ch c mt v ch mt trong cc kiu node chnh ny)..
Default Primary Node Type: Nu trong qu trnh to ra Node con m
khng xc nh kiu node chnh cho n th kiu node chnh ny s t
ng c gn cho Node con. Required Mixin Node Types: cc kiu node ph m Node con ny phi
c.
Default Mixin Node Types: cc kiu node ph s tng c gn cho
Node con nu n lc lu ni dng Node con m vn cha c xc nh
kiu node ph.
Auto-created: cho bit Node con c tng c to ra khi Node cha
c to ra hay khng. Mandatory: cho bit Node con ny c bt buc phi c hay khng.
On-parent-version: trng thi ca Node con dng cho bit nhng g s
c thc hin khi mt phin bn mi ca Node cha c to ra.
-
8/14/2019 LVCNTT-CMSModuleTMA
84/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 75 ngnh Vng
Read-only: cho bit thuc tnh l chc hay khng.
Primary-Item: cho bit Node con ny c phi l thnh phn chnh ca
Node cha hay khng.
Same-name siblings: cho bit c th cho php nhiu Node con khc c
cng tn vi Node con ny hay khng.
8.2.4Cc kiu node c nh ngha snJCR quy nh mi Repository u phi h trt nht kiu node chnh nt:base v
cc kiu node chnh khc nu c u phi l kiu con ca nt:base. Ngoi ra, JCR cn
nh ngha sn cc kiu node thng c s dng trong cc Repository, cc kiu nodeny c nh ngha sn theo nh dng sau:
NodeTypeName
...
Supertypes
...
IsMixin
...
ChildNodeDef
Name ...
RequiredPrimaryTypes ...
DefaultPrimaryType ...
RequiredMixinTypes ...
DefaultMixinTypes ...AutoCreate ...
Mandatory ...
OnParentVersion ...
-
8/14/2019 LVCNTT-CMSModuleTMA
85/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 76 ngnh Vng
ReadOnly ...
PrimaryItem ...
SameNameSibs ...
...
. (more ChildNodeDefs)
. ..
PropertyDef
Name ...
Type ...
ValueConstraint ...
DefaultValue ...
AutoCreate ...
Mandatory ...
OnParentVersion ...
ReadOnly ...
PrimaryItem ...
Multiple ...
. ..
. (more PropertyDefs)
8.2.4.1Cc kiu node phc nh ngha snC 2 kiu node ph c nh ngha sn l mix:referenceable v
mix:versionable trong mix:versionable l kiu node con ca mix:referenceablemix:referenceable
||-- mix:versionable
-
8/14/2019 LVCNTT-CMSModuleTMA
86/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 77 ngnh Vng
Mt Node c kiu l mixin: referenceable c s dng cho mc ch :
N l ch ca thuc tnh c kiu REFERENCE
C nhiu hn mt Node cha
Mt Node c kiu l mix: versionable dng cho cc Repository c h trvic
lu cc phin bn ca Node (versioning system). cc thuc tnh c quy nh bi kiu
node ny u l cc thuc tnh chc
8.2.4.2Cc kiu node chnh c nh ngha sn
Mi kiu node chnh u c bt ngun t kiu nt:base. Do , mt Node trnReporitory t nht phi c kiu node chnh nt:base.
Kiu node chnh nt:version v nt:versionHistory l cn thit nu c s dng
phin bn.
Cy sau m t cu trc tha k ca cc kiu node chnh dc nh ngha sn
nt:base||-- nt:default||-- nt:hierarchyElement| || |-- nt:file| || |-- nt:folder|-- nt:nodeType|
|-- nt:propertyDef||-- nt:childNodeDef||-- nt:versionHistory
-
8/14/2019 LVCNTT-CMSModuleTMA
87/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 78 ngnh Vng
||-- nt:version||-- nt:query
8.3 Node tham chiu (Referenceable Nodes)
Nt c bit ca Node tham chiu l n c s dng trong trng hp
repository c nhiu workspace v vic to cc phin bn ca node.
Mt repository c th c nhiu node tham chiu, lm c iu ny, n phih trkiu mix:refrenceable.
Node c kiu mix:referenceable c mt property mang tn jcr:uuid, property
ny c to ra v qun l bi h thng, client ch c thc ch khng th thay i
hay xa property ny.
UUID ca mt node tham chiu c n nh bi h thng trong lc n c
to.
Trong mt workspace xc nh, khng tn ti nhiu hn mt node c chung mt
UUID.
-
8/14/2019 LVCNTT-CMSModuleTMA
88/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 79 ngnh Vng
9.WorkspaceNh ta bit, mt repository bao gm mt hay nhiu workspace, mi
workspace cha duy nht mt node root. Repository c th n gin, cha mt
workspace hay phc tp, cha mt s lng ln workspace. Sau y l mt s m hnh
ca repository.
9.1 Repository c mt workspace
Trong trng hp ny repository l mt cy gm cc node v property..
Hnh 21: Repository c mt workspace
-
8/14/2019 LVCNTT-CMSModuleTMA
89/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 80 ngnh Vng
9.2 Repository c nhiu Workspace v stng ng cc node
Trong trng hp ny, mt node trong mt workspace c th c cc node tng
ng ( corresponding nodes ) trong cc workspace khc v chng cng chia s mtUUID. Cc node tng ng ny c thc xem nh l th hin ca cng mt node
trn nhiu workspace khc nhau. Tuy nhin trong mt workspace, khng tn ti 2 node
c cng chung mt UUID.
Ch c cc node vi kiu mix:refereneable mi c th c cc node tng ng
trn cc workspace khc nhau.
Cc node tng ng ny ch cn c chung mt UUID. Do chng c th c
cc ng dn khc nhau cng nh cc property v cc node con khc nhau.
Khi mt node tham chiu mi (referenceable node) c to ra trong workspace
bi hm Node.addNode th n sc n nh mt UUID mi bi h thng. Mun mt
node c mt node tng ng trong mt workspace khc, n phi c nhn bn
("cloned") t workspace ngun n workspace ch bng cch s dng phng thc :
Workspace.clone( String srcAbsPath, String destAbsPath,
String destWorkspace, boolean shallow)
Phng thc ny thc hin nhn bn cy con tng dn srcAbsPath trong
workspace ngun n ng dn destAbsPath trong workspace ch destWorkspace
nu shallow = false, hoc ch nhn bn mt node v property ca n nu shallow= rue.
Phng thc clone thc nhn bn c nhng node tham chiu v nhng nodekhng tham chiu ( nonreferenceable node ), nhng ch nhng node tham chiu mi
duy tr mi quan h tng ng ca n gia cc workspace.
-
8/14/2019 LVCNTT-CMSModuleTMA
90/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 81 ngnh Vng
Trong trng h p cc root node trong cc workspace c kiu l
mix:referenceable th chng phi c chung mt UUID. Root node ca mt workspace
s tng c to ra khi workspace c to.
Biu sau m t mt repository c 2 workspace
Hnh 22: Repository c nhiu workspace
-
8/14/2019 LVCNTT-CMSModuleTMA
91/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 82 ngnh Vng
Trong biu trn, repository c 2 workspace l WS1 v WS2. ng t khc
ch ra cc node c mi quan h tng ng. Trong mi workspace c cc node khng
xut hin trn workspace cn li, cc node ny c th l cc node tham chiu nhng
khng c nhn bn hay cc node khng tham chiu.
10.To phin bn ( Versioning )H thng to phin bn c xy dng da trn node tham chiu trnh by
trn.
Trong mt repository h tr to phin bn , workspace c th cha cversionable node v nonversionable node. Versionable node c kiu l
mix:versionable. Kiu mix:versionable l kiu con tha k t kiu mix:referenceable,
do mt node cho php to phin bn th n l node tham chiu v c mt UUID.
Kh nng c th to phin bn ca node c ngha l ti bt k mt thi im cho
trc no , trng thi ca node c thc lu gi phc v cho vic phc hi
trong tng lai. Trng thi lu li ny c gi l mt version v hnh ng lu li
c gi l checking in.
Version l mt phn ca version history. Trong mt version history, cc version
hnh thnh mt biu miu t mi quan h gia cc versionable node.
Cc version history lu trong version storage. C mt version storage trong mt
repository, n l mt cy con bn di node /jcr:versionStorage v c lu trong mi
workspace.
-
8/14/2019 LVCNTT-CMSModuleTMA
92/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 83 ngnh Vng
10.1 Version History
Version History c lu trong Repository nh l mt Node c kiu Node l
nt:versionHistory v mt Node c kiu l nt:version sc thm vo Version Historykhi mt trong nhng th hin ca Node trn cc Workspace thc hin thao tc lu
phin bn (check-in). Khi phin bn mi ca Node sc lu nh l thnh phn
tip theo ca mt hay nhiu phin bn trc (successor). Do , Version History s
c lu nh l mt th.
Hnh 23: th m t mt Version History
Trong th dng lu Version History trn th Node VH c kiu l
nt:versionHistory v Vroot, Va, Vb v Vc c kiu l nt:version. VH l Node cha ca
cc Node Vroot, Va, Vb v Vc; trong khi Va, Vb l phin bn k tip ca Vroot, tngt Vc l phin bn k tip ca Va v Vb.
-
8/14/2019 LVCNTT-CMSModuleTMA
93/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 84 ngnh Vng
Trn Version History lun c mt Node ng vai tr nh l phin bn ban u
(Root Version Node). Node ny c to ra tng khi Version History mi c to
ra v ng vai tr l im khi u dng duyt qua ht tt c cc phin bn khc
nm trn th biu din Version History. Trong v d trn th phin bn ban u ca
Version History VH l Vroot.
10.2 Mi quan h gia cc versionable node v version history
Mi quan h gia cc node v version history c xy dng trn s tng ng
thng qua UUID.
Cc node c chung mt UUID s c cng chung mt version history.
Trong mt workspace ch c mt versionable node trong mt version history
Trong mt workspace c th c cc version history rng. V cc node khng c
kh nng to phin bn ( nonversionable node ) hin nhin khng c version history.
Khi mt versionable node c to ra, mt version history cho node sc
tng to ra trong version storage
Mt versionable node khi c nhn bn sang mt workspace khc, node c
nhn bn s c chung UUID v chung version history vi node gc.
10.3 Th Biu Din Cc Phin Bn Trn Repository
th dng biu din cc phin bn khc nhau ca cng mt i tng Node
trn Repository c cu trc cbn nh sau :
th c th mt hay nhiu phin bn
th ch c mt v ch mt phin bn ban u (Root Version Node)
-
8/14/2019 LVCNTT-CMSModuleTMA
94/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 85 ngnh Vng
Phin bn ban u khng c phin bn trc n
Nhng phin bn khng phi phin bn ban u phi c mt hoc nhiu
phin bn trc n
Mi phin bn c th c mt hoc nhiu phin bn sau n
Mi phin bn khng th l phin bn trc ca chnh n
10.4 Phin Bn CBn (Base Version)
Cc Node c cng mt UUID trn cc Workspace khc nhau c xem nh l
cc phin bn khc nhau ca cng mt i tng Node trn Repository v cc th hin
ny c cng mt Version History. Tuy nhin, trn Version History c th c nhiu
phin bn khc nhau v mi th hin ca i tng Node c th chn cho ring mnh
mt phin bn cbn khc nhau.
Phin bn cbn ca mt th hin dng lm phin bn trc mc nh ca
mt phin bn mi ca th hin c to ra trn Version History.
10.5 Khi To Mt Version History
Khi mt Node c th to ra phin bn (Versionable Node) c to ra trn
Repository th khi mt Version History cng c to ra cho Node. Lc mi to ra
th Version History ch c mt Node c kiu nt:versionHistory v mt Node
con c kiu nt:version ng vai tr l Root Version.
V d : xt trng hp mt Node N c to ra nh sau.
Node M l Node cha ca Node N v to ra Node N bng cch gi
phng thc M.addNode(N).
-
8/14/2019 LVCNTT-CMSModuleTMA
95/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 86 ngnh Vng
Trc khi c lu li (gi n phng thc save) th Node N c gn
thm loi Node ph mixin:versionable bng cch gi phng thc
N.addMixin(mix:versionable).
Khi gi n phng thc save ca N th mt Version History mi s
c tng to ra cho Node N. iu c ngha l mt Node mi c
kiu nt:versionHistory VH sc to ra trn Repository v Node VH
ny c mt Node con c kiu nt:version V0 gi l jcr:rootVersion v
Node con ny chnh l Root Version.
Root Version ny khng cha trng thi no ca Node m n ch cha
thng tin v loi Node v UUID thng qua cc thuc tnh
jcr:frozenPrimaryType, jcr:frozenMixinType, jcr:frozenUUID ca n.
Gi tr ca thuc tnh jcr:versionHistory (thuc tnh ny c kiu
REFERENCE) ca N c gn bng vi UUID ca VH. iu ny cho
php N c th gi tham chiu n Version History ca n.
Gi tr ca thuc tnh jcr:baseVersion (thuc tnh ny c kiu
REFERENCE) ca N c gn bng vi UUID ca V0. iu ny cho.
php N c th gi tham chiu n Base Version ca n. Thuc tnh jcr:isCheckedOut ca N c gn gi tr true.
10.6 To Phin Bn Mi Ca Mt Node
to ra mt phin bn mi ca Node lu trong Version History, cn gi n
phng thc N.checkin, khi s pht sinh mt lot cc s kin sau.
Mt Node mi V c kiu nt:version sc to ra v thm vo lm Node
con ca Node VH (Node i din cho Version History ca N trn
Repository v c tham chiu n bi thuc tnh jcr:versionHistory ca
N).
-
8/14/2019 LVCNTT-CMSModuleTMA
96/167
-
8/14/2019 LVCNTT-CMSModuleTMA
97/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 88 ngnh Vng
Cc Node con v thuc tnh ca N s thay i, b xo b hay c thm
vo ty thuc vo bn sao ca cc Node con v thuc tnh con ny trn V
v tu thuc vo thuc tnh OnParentVersion ca tng thnh phn con
ny.
Thuc tnh jcr:baseVersion ca N c thay i tham chiu ti V.
Thuc tnh jcr:isCheckedOut ca N c thay i thnh gi tr false.
10.8 Checkout
Thuc tnh jcr:isCheckedOut ca mt Node N c s dng xc nh trng
thi ca Base Version hin ti ca Node N l c ging vi trng thi hin ti ca N trn
Repository hay khng. Sdc chuyn ny do trong qu trnh thao tc th nhng thay
i trn Node ch c ngha l thay i tm thi v nhng thay i tm thi ny s
c lu vo Repository khi s thay i c lu tht s xung Repository(vic
lu ny c th thng qua nhiu cch khc nhau). Thuc tnh ny c gi tr true c ngha
l 2 trng thi ny khng ging nhau v nu c gi tr false th c ngha l 2 trng thi
ny ging nhau. Trng thi ny c xc nh thng qua phng thc N.chekout.
10.9 Update
Phng thc Node.update(String srcWorkspace, boolean shallow ) s dng
trong trng hp repository khng h trversioning. Node gi phng thc ny s nh
x trng thi ca n sang cc node tng ng trong srcWorkspace.
-
8/14/2019 LVCNTT-CMSModuleTMA
98/167
-
8/14/2019 LVCNTT-CMSModuleTMA
99/167
Pht trin CMS module cho h thng Intranet cu Cng ty TMA
Bi Vnh Ph 90 ngnh Vng
AutoCreate true
Mandatory true
OnParentVersion IGNORE
ReadOnly true
PrimaryItem false
Multiple false
PropertyDef
Name jcr:isCheckedOut
Type BOOLEAN
ValueConstraint null
DefaultValue "true"
AutoCreate true
Mandatory true
OnParentVersion IGNORE
ReadOnly true
PrimaryItem false
Multiple false
Cng cn lu l kiu Node ph mixin:versionable l kiu con ca kiu
mix:referenceable do nhng Node c kiu mixin:versionable cng c UUID. Thm
vo , Node c kiu mixin:versionable cn c thm cc thuc tnh jcr:versionHistory,
jcr:baseVersion v jcr:isCheckedOut.
Thuc tnh jcr:versionHistory c kiu thuc tnh l REFER