ż
T i liu v Moodle: L m thż n o ę s dĄng CVS
CVS d nh cho cĄc nh phĄt trin Moodle
CVS l t viżt tŻt cża Concurrent Versioning System, mt cĄch s dĄng thông thĆng quŁn lý mŁ ngun ęęi vi cĄc dą Ąn phżn mm ln. CVS giŻ tĄt cŁ cĄc phiên bŁn cża tĄt cŁ cĄc file vŹ thż không cĄi n o b mĄt bao gi, v chúng ęĆŁc kim tra bźi nhiu ngĆi. Nó cũng cung cĄp nhiu cĄch kżt hŁp mŁ nżu hai hoặc nhiu ngĆi ęang l m vic trên file tĆĆĄng tą. TĄt cŁ cĄc mŁ v tĄt cŁ cĄc phiên bŁn ęĆŁc lĆu trŻ trên mt server trung tóm (trong trĆng hŁp cża Moodle, ź Sourceforge).
Nżu bĄn muęn dowload Moodle s dĄng CVS ę chĄy mt site, thŹ hżu nhĆ bĄn không cżn trang n y - l m theo cĄc hĆng dẫn cża CVS ź trang download Moodle .
Tham gia v o dą Ąn nhĆ mt nh phĄt trin
CĄc môęun CVS
CĄc lnh CVS cĆĄ bŁn
3.1. CVS trên Unix
3.2. CVS trên Windows
L m vic vi cĄc nhĄnh
4.1. PhĄt trin phżn thón
4.2. CĄc nhĄnh n ęnh ęęi vi mi phiên bŁn
4.3. CĄc nhĄnh ęặc trĆng ęęi vi cĄc thay ęi ln
1. Tham gia v o dą Ąn nhĆ l mt nh phĄt trin
VŹ thż, bĄn ęĆŁc yêu cżu truy cập soĄn thŁo CVS ę trŁ giúp chúng tôi phĄt trin v duy trŹ Moodle! Welcome aboard!
Đ có th viżt nhŻng thay ęi v o trong tp nén CVS cża Moodle, ężu tiên bĄn cżn có mt t i khoŁn ź Sourceforge ( vic ęăng ký l min phí v ęĆĄn giŁn). Đęi vi cĄc ví dĄ trên trang n y, chúng ta giŁ s rąng username l myusername v password cża bĄn l mypassword. Xem cĄc hĆng dẫn ghi chú ęặc bit cża sourceforge tĄo thĆ mĄc chż CVS cża bĄn - nhŻng vic m bĄn phŁi l m ęęi vi mći t i khoŁn mi ę l m cho nó có hiu ląc ęęi vi CVS. V cĆĄ bŁn thŹ bĄn phŁi s dĄng ssh ę kżt nęi tĆĆĄng tĄc ti cvs.sourceforge.net.
Mt khi bĄn có mt t i khoŁn Sourceforge l m vic, liên lĄc vi Martin Dougiamas vŹ thż anh ta có th c i ęặt t i khoŁn cża bĄn cąng vi vic ęin truy cập v o cĄc thĆ mĄc ęặc bit cża Moodle.
Đ trĄnh dĄu nhŻc yêu cżu mypasswordmi lżn bĄn chĄy mt lnh CVS, l m theo cĄc hĆng dẫn Sourceforge ęęi vi vic s dĄng cĄc khoĄ ęĆŁc chng thąc . BĆc n y l tuł chćn, nhĆng nó có th l m but it can make your CVS experience a lot nicer.
Cąng vi l m ęiu ęó, bĄn nên có tĄt cŁ cĄc quyn bĄn cżn, vŹ thż bĄn cżn c i ęặt mĄy cża bĄn v download cĄc t i nguyên hin tĄi vŹ thż bĄn có th bŻt ężu l m vic vi chúng.
2. CĄc môęun cża CVS
Trong CVS, t "môęun" ę cập ężn vic phón chia tập hŁp mŁ. Trong Moodle chúng ta có cĄc môęun sau trong kho lĆu trŻ cża chúng ta:
moodle - mŁ ngun Moodle chính
contrib - cĄc ęóng góp ngĆi dąng v są ęa dĄng cża cĄc loĄi mŁ trong vic phĄt trin
mysql - mt phpMyAdmin tuł chćn ę ęĆa v o trong Moodle ęęi vi cĆĄ sź dŻ liu admin
windows-cron - mt gói nhŹ m có khŁ năng tĄo cron trên h thęng Windows
docs - T i liu ęĆŁc ęóng góp bźi nhiu ngĆi dąng khĄc nhau
TĄt cŁ mći ngĆi ęang l m vic trên cĄc ęặc tŁ ęŁ tn tĄi trong môęun moodle , nhĆng nhiu cĄi cũng ęĆŁc ęóng góp bźi cĄc ý kiżn mi trong cĄc môęun contrib. Mt mŁ tŹm kiżm ź mt mc ę n o ęó trong vąng contrib, nó có th di cĆ to n b sang cóy thĆ mĄc moodle chính.
3.CĄc lnh CVS cĆĄ bŁn
3.1 CVS trên Unix
Sourceforge CVS s dĄng ssh nhĆ mt tżng phiên ęęi vi vic bŁo mật, vŹ thż bĄn sẽ phŁi thiżt lập mt biżn môi trĆng CVS_RSH trong shell Unix cża bĄn. Tęt nhĄt nên ęặt nhŻng lnh n y trong .bashrc hoặc .cshrc cża bĄn vŹ thż bĄn không phŁi gõ nó ęęi vi tĄt cŁ mći lżn :
setenv CVS_RSH ssh (for csh, tcsh etc)
export CVS_RSH=ssh (for sh, bash etc)
Tiżp theo bĄn kim tra phiên bŁn phĄt trin mi nhĄt cża Moodle s dĄng ęiu n y (tĄt cŁ mt dòng):
cvs -z3 -d:ext:myusername@cvs.sourceforge.net:/cvsroot/moodle co moodle
Lnh n y tĆĆĄng tą ęęi vi cĄc môęun CVS khĄc:
cvs -z3 -d:ext:myusername@cvs.sourceforge.net:/cvsroot/moodle co contrib
Đng cę gŻng chĄy lnh CVS ężu tiên n y trên mt są c i ęặt moodle ęŁ tn tĄi: BŻt ężu l m mi vi mt thĆ mĄc mi.
Chú ý rąng bĄn sẽ b yêu cżu mypassword ęęi vi mi lnh tr khi bĄn thiżt lập cĄc khoĄ ęĆŁc chng thąc.
Bóy gi bĄn nên có mt thĆ mĄc 'moodle' mi. BĄn có th ęi tên nó v di chuyn nó ti mt v trí khĄc nżu bĄn muęn. Đi v o trong nó:
cd moodle
TĄt cŁ cĄc file Moodle mi nhĄt nên ź ęóy. Bóy gi bĄn có th thay ęi cĄc file trong bŁn copy cża bĄn. Đ so sĄnh cĄc file cża bĄn v cĄc thĆ mĄc lĄi copy CVS chính trên server s dĄng cvs khĄc, ví dĄ:
cvs diff -c config-dist.php
cvs diff -c lang
TŹm nĄp cĄc cập nhật mi nhĄt bźi s dĄng server use:
cvs update -dP
Đ copy cĄc file mi cża bĄn quay trź lĄi server bĄn nên sẽ l m nhĆ sau:
cd lang/ca
cvs commit
BĄn sẽ ęĆŁc gŁi ý thêm mt sę chú thích (phĄ thuc v o trŹnh soĄn thŁo văn bŁn mặc ęnh cża bĄn) ... thêm mt chú thích có ý nghĩa v ęóng trŹnh soĄn thŁo cża bĄn lĄi ... cĄc file sẽ ęĆŁc gi tĆói Sourceforge v ęĆŁc lĆu trŻ. ĐĆŁc thąc hin!
Đ lĆu trŻ nhiu hĆĄn bĄn có th ęặt cĄc tham sę mặc ęnh v o trong mt file ęĆŁc gći l .cvsrc trong thĆ mĄc chính cża bĄn. Ví dĄ, cĄi cża tôi cha:
diff -c
update -dP
Th 'trŁ giúp cvs' ę biżt thêm thông tin ...
3.2 CVS trên Windows
Đżu tiên bĄn cżn download mt bŁn copy Moodle ęży ęż mi s dĄng t i khoŁn ngĆi phĄt trin.
LĄy ęĆŁc TortoiseCVS t tortoisecvs.org v c i ęặt nó, sau ęó khźi ęng lĄi.
TŹm kiżm hoặc tĄo mt folder mi ź ęóu ęó m bĄn muęn Moodle ęĆŁc downloaded xuęng.
Kích chut phŁi v o folder ęó v chćn " kim tra CVS" t danh sĄch thŁ xuęng. BĄn sẽ nhŹn thĄy mt hp thoĄi.
Copy văn bŁn n y v o trong trĆng CVSROOT (s dĄng username cża riêng bĄn!):
:ví dĄ:myusername@cvs.sourceforge.net:/cvsroot/moodle
Trong trĆng "Môęun ", gõ "moodle" ę nhận phiên bŁn phĄt trin mi nhĄt cża Moodle, "contrib" ę nhận ęĆŁc thĆ mĄc cĄc ęóng góp, hoặc "mysql" ę nhận ęĆŁc môęun MySQL Admin.
NhĄn nút: "OK"v mći th sẽ ęĆŁc tŁi xuęng.
Mt hp thoĄi sẽ hin th tĄt cŁ cĄc trĆng ęang ęĆŁc tŁi xuęng, v sau ęó bĄn sẽ có mt bŁn copy ęży ęż cża Moodle. Sau lżn kim tra ężu tiên n y, bĄn có th tŹm nĄp cĄc file ęĆŁc cập nhật mi nhĄt t CVS server:
Kích chut phŁi trên folder Moodle cża bĄn (hoặc bĄt kł file n o) v chćn "Cập nhật CVS".
Xem cĄc bŁn ghi cun xuęng. Xem chú ý v cĄc xung ęt m có th xuĄt hin khi mŁ cĄc b cĄc b cża bĄn thay ęi m nó xung ęt vi cĄc phiên bŁn ęang ęĆa v o - bĄn sẽ cżn soĄn thŁo nhŻng file n y v giŁi quyżt cĄc xung ęt ęó bąng tay.
Sau khi thay ęi cĄc file( bĄn sẽ thông bĄo thay ęi cĄc biu tĆŁng t m u xanh sang m u ęŹ !), you can commit them back to the CVS server like this:
Kích chut phŁi v o folder Moodle (hoặc bĄt kł file n o ) v chćn " CVS Commit...".
Trong hp thoĄi, gõ mt mô tŁ mt cĄch rõ r ng nhŻng thay ęi bĄn ęang cam kżt .
NhĄn chut v o nút "OK". NhŻng thay ęi cża bĄn sẽ ęĆŁc gi ti server.
4. L m vic vi cĄc nhĄnh
Biu ę n y ch ra l m thż n o cĄc nhĄnh môęun moodle chính ęĆa v o cĄc phiên bŁn khĄc nhau to n b thi gian.
Đ xem tĄt cŁ cĄc th hin tĄi v cĄc nhĄnh m nó có sẵn, s dĄng lnh n y trên bĄt kł file thón thuc n o(ví dĄ file index.php trong thĆ mĄc moodle):
cvs status -v index.php
Mt sę nguyên tŻc tagging:
CĄc tên Tag v nhĄnh sẽ luôn luôn l chŻ hoa.
CĄc Tag v cĄc nhĄnh sẽ luôn luôn ęĆŁc ng dĄng ęęi vito n b môęun (tĄt cŁ cĄc môęun cża Moodle). Đng gŻn cĄc file hoặc cĄc thĆ mĄc mt cĄch riêng rẽ.
Chúng tôi không cho phép ęi tên cĄc tags bźi vŹ mći ngĆi có th ęang hi óm chúng, cho nên nhận chúng ęúng lżn ężu tiên so get them right the first time!
4.1 PhĄt trin phżn thón
Phżn thón cża CVS l phiên bŁn phĄt trin chính cża Moodle. Trong CVS nó cũng ęĆŁc biżt ężn nhĆ HEAD, hoặc nhĄnh mặc ęnh.
CĄc nh phĄt trin Moodle cę gŻng duy trŹ tính n ęnh n y chng n o có th, nhĆng bźi vŹ nó thĆng cha mŁ mi nó hżu nhĆ có cĄc li v tính không n ęnh nhŹ.
Mći th bóy gi v sau ęó chúng ta quyżt ęnh sŁn phẩm có ęż ęặc trĆng ę tĄo nên mt phiên bŁn. ś thi ęim n y, phżn thón ęĆŁc gŻn vi mt th MOODLE_XX_BETA (trong trĆng hŁp chúng ta muęn quay trź lĄi n case we ever want to roll back to that point) v mt nhĄnh mi ęĆŁc tĄo th nh ęęi vi phiên bŁn, ęĆŁc gći l MOODLE_XX_STABLE.
Mt gói Beta cũng ęĆŁc phĄt h nh ź thi ęim n y - nó d nh cho nhŻng ngĆi th nhŻng ngĆi m không s dĄng CVS nhĆng muęn th nghim cĄc ęặc trĆng mi nhĄt v cĄc thông bĄo li.
4.2 CĄc nhĄnh n ęnh ęęi vi mi phiên bŁn
Ngay khi mt nhĄnh n ęnh MOODLE_XX_STABLE ęĆŁc tĄo ra, cĄc l ląc cę gŻng phĄt trin sẽ phón nhĄnh th nh hai hĆng ęęi vi mi khoŁng thi gian. Mći ngĆi có th tiżp tĄc l m vic trên cĄc ęặc trĆng mi trong phżn thón ęęi vi cĄc phiên bŁn tiżp theo, nhĆng tĄt cŁ cĄc nh phĄt trin nên cę gŻng tập trung s dĄng nhĄnhn ęinh hin tĄi v cę ęnh cĄc li m ęĆŁc tŹm thĄy trong nó.
BĄn có th chuyn ęi bŁn copy Moodle cĄc b cża bĄn th nh phiên bŁn n ęnh s dĄng lnh sau trong Unix t thĆ mĄc gęc :
cvs update -dP -r MOODLE_XX_STABLE
Sau khi l m tĄt cŁ xong, tĄt cŁ cĄc lnh ęĆŁc mô tŁ ź trên sẽ Ąp dĄng cho phiên bŁn n ęnh ęó. Quay trź lĄi vi vĄn ę phżn thón :
cvs update -dPA
Trên Windows clients bĄn nên có mt menu t ęó bĄn có th chćn nhĄnh .
Mt khi nhĄnh bŁng mi thąc są n ęnh, mt phiên bŁn có th ęĆŁc có th ęĆŁc khai bĄo. CĄc gói ęĆŁc tĄo ę phón phęi v nhĄnh sẽ ęĆŁc gŻn th (bźi Martin) vi mt th ęặt tên l : MOODLE_XXX
Mt cĄch ęnh kł, li cę ęnh trong nhĄnh bŁng sẽ ęĆŁc kżt hŁp lĄi v o trong phżn thón vŹ thż chúng trź nên có sẵn trong cĄc phiên bŁn tĆĆĄng lai cża Moodle. Mt th di chuyn ęĆŁc gći l MOODLE_XX_MERGED sẽ ęĆŁc duy trŹ ę theo dõi są kżt hŁp cui cąng. Quy trŹnh ęęi vi mi lżn kżt hŁp n y l nhĆ sau:
Get out the very latest trunk version.
cvs update -dPA
Kżt hŁp mći th v o trong nhĄnh t nhĄnh cuęi cąng, ęĆa v o phżn thón cża bĄn
cvs update -kk -j MOODLE_13_MERGED -j MOODLE_13_STABLE
Xem mt cĄch cẩn thận cĄc bŁn ghi ęĆŁc cập nhật ęęi vi cĄc xung ęt, v cę ęnh mći file m bĄn nhŹn thĄy có xung ęt
Check the merged copy back into CVS trunk version
cvs commit
Quay trź lĄi phiên bŁn nhĄnh Go back to the branch version
cvs update -dPr MOODLE_13_STABLE
Cập nhật th kżt hŁp ęang thay ęi vŹ thż quy trŹnh x lý n y có th ęĆŁc lặp lĄi thi gian ti Update the floating merge tag so that this process can be repeated next time
cvs tag -RF MOODLE_13_MERGED
Cuęi cąng cĄc kżt quŁ ęęi vi $version trong tĄt cŁ cĄc file version.php cża Moodle trong nhĄnh n ęnh không nên ęĆŁc cập nhật ź tĄt cŁ khi có th( ngoĄi tr sę cuęi cąng nżu cżn thiżt ). Nguyên nhón l ai ęó ęang cập nhật
t mt phiên bŁn rĄt n ęnh th nh phiên bŁn n ęnh tiżp theo có th thiżu cĄc nóng cĄp cĆĄ sź dŻ liu ęiu ęó ęĆŁc xŁy ra trên phżn thón.
4.3 CĄc nhĄnh ęặc trĆng ęęi vi cĄc thay ęi ln
Thnh thoŁng, có th có mt ęặc trĆng rĄt ln m cżn ęĆŁc kim tra vŹ thż mt sę ngĆi có th l m vic trên nó, nhĆng nó quĄ không n ęnh ę tính ężn trong phżn thón phĄt trin chính.
Trong nhŻng trĆng hŁp n y mt nhĄnh ngŻn có th ęĆŁc tĄo ra ę l m vic trên ęặc trĆng, v sau ęó kżt hŁp trź lĄi v o trong phżn thón chính ngay khi có th. Mt ví dĄ ęĆŁc gći l nhĄnh MOODLE_14_WIDGET có th ęĆŁc xem trong biu ę ź trên.
Nżu bĄn cżn l m ęiu n y cho ęặc trĆng WIDGET mi cża bĄn, l m theo cĄc bĆc sau :
ThŁo luận vi cĄc nh phĄt trin khĄc ę ęŁm bŁo rąng nó l cżn thiżt !
TĄo mt th mi trên phżn thón (ęęi vi tĄt cŁ Moodle) ęĆŁc gći l MOODLE_XX_WIDGET_PRE
cvs tag -R MOODLE_XX_WIDGET_PRE
TĄo nhĄnh cża bĄn ęĆŁc gći l MOODLE_XX_WIDGET
cvs tag -Rb MOODLE_XX_WIDGET
L m vic trong nhĄnh ęó cho ti khi ęặc trĆng l n ęnh. Cam kżt khi cżn thiżt.
cvs commit
Khi ęŁ sẵn s ng, kżt hŁp to n b nhĄnh v o trong phżn thón, cę ęnh cĄc xung ęt, cam kżt nó v o phżn thón v sau ęó loĄi bŹ nhĄnh.
cvs update -dPA
cvs update -kk -j MOODLE_XX_WIDGET
cvs commit
Chúc may mŻn v thu ęĆŁc nhiu ęiu thú v!
T i liu v Moodle
Phiên bŁn: $Id$