lvcntt-cmsmoduletma

Upload: hoclieumo

Post on 31-May-2018

214 views

Category:

Documents


0 download

TRANSCRIPT

  • 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