BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

Phương pháp luận sáng tạo trong khoa học:

Vận dụng những kiến thức về phương pháp

luận, phương pháp sáng tạo trong việc phát

triển mã nguồn mở Joomla CMS

Người hướng dẫn: GS.TSKH. Hoàng Kiếm

Người thực hiện : Nguyễn Xuân Nghề

Học Viên Cao học 06

Khoa Học Máy Tính

Hồ Chí Minh – 2012

Lời mở đầu: ........................................................................................................... 3

I. Những nguyên tắc (thủ thuật) sáng tạo: .......................................................... 4

Contents

1. Nguyên tắc phân nhỏ:............................................................................ 4 2. Nguyên tắc “tách khỏi”: ........................................................................ 4 3. Nguyên tắc phẩm chất cục bộ:............................................................... 4 4. Nguyên tắc phản đối xứng: ................................................................... 5 5. Nguyên tắc kết hợp: .............................................................................. 5 6. Nguyên tắc vạn năng: ............................................................................ 5 7. Nguyên tắc “chứa trong”: ...................................................................... 5 8. Nguyên tắc phản trọng lượng: ............................................................... 5 9. Nguyên tắc gây ứng suất sơ bộ: ............................................................. 6 10. Nguyên tắc thực hiện sơ bộ: .............................................................. 6 11. Nguyên tắc dự phòng: ....................................................................... 6 12. Nguyên tắc đẳng thế: ......................................................................... 6 13. Nguyên tắc đảo ngược: ...................................................................... 6 14. Nguyên tắc cầu (tròn) hoá: ................................................................ 6 15. Nguyên tắc linh động: ....................................................................... 7 16. Nguyên tắc giải “thiếu” hoặc “thừa”: ................................................. 7 17. Nguyên tắc chuyển sang chiều khác: ................................................. 7 18. Nguyên tắc sử dụng các dao động cơ học: ......................................... 7 19. Nguyên tắc tác động theo chu kỳ: ...................................................... 8 20. Nguyên tắc liên tục tác động có ích ................................................... 8 21. Nguyên tắc “vượt nhanh”: ................................................................. 8 22. Nguyên tắc biến hại thành lợi: ........................................................... 8 23. Nguyên tắc quan hệ phản hồi:............................................................ 8 24. Nguyên tắc sử dụng trung gian: ......................................................... 9 25. Nguyên tắc tự phục vụ: ...................................................................... 9 26. Nguyên tắc sao chép (copy): .............................................................. 9 27. Nguyên tắc “rẻ” thay cho “đắt”: ........................................................ 9 28. Thay thế sơ đồ cơ học:....................................................................... 9 29. Sử dụng các kết cấu khí và lỏng: ..................................................... 10 30. Sử dụng vỏ dẻo và màng mỏng: ...................................................... 10 31. Sử dụng các vật liệu nhiều lỗ: .......................................................... 10 32. Nguyên tắc thay đổi màu sắc: .......................................................... 10 33. Nguyên tắc đồng nhất: ..................................................................... 10 34. Nguyên tắc phân hủy hoặc tái sinh các phần:................................... 11 35. Thay đổi các thông số hoá lý của đối tượng: .................................... 11 36. Sử dụng chuyển pha: ....................................................................... 11 37. Sử dụng sự nở nhiệt: ........................................................................ 11

II.

Joomla CMS từ khi ra đời đến nay ............................................................... 12

38. Sử dụng các chất oxy hoá mạnh: ..................................................... 11 39. Thay đổi độ trơ: ............................................................................... 12 40. Sử dụng các vật liệu hợp thành (composite): ................................... 12

III. Những Nguyên tắc sáng tạo – khoa học được áp dụng trong quá trình phát triển Joomla CMS ................................................................................................ 28

1. Lịch sử phát triển Joomla .................................................................... 12 2. Joomla 1.0 – thế hệ thứ 1 .................................................................... 17 3. Joomla 1.5 – thế hệ thứ 2 .................................................................... 18 4. Joomla 1.6 – thế hệ thứ 3 .................................................................... 22 5. Joomla 1.7 – thế hệ thứ 4 .................................................................... 25 6. Joomla 2.5 – thế hệ thứ 5 .................................................................... 26

IV.

Kết luận : ................................................................................................. 32

Tài liệu tham khảo : ............................................................................................. 33

1. Nguyên tắc phân nhỏ .......................................................................... 28 2. Nguyên tắc tách riêng.......................................................................... 29 3. Nguyên tắc kết hợp ............................................................................. 29 4. Nguyên tắc vạn năng ........................................................................... 29 5. Nguyên tắc dự phòng .......................................................................... 30 6. Nguyên tắc quan hệ phản hồi .............................................................. 30 7. Nguyên tắc sử dụng trung gian ............................................................ 31 8. Nguyên tắc sao chép ........................................................................... 31 9. Nguyên tắc rẻ thay đắt......................................................................... 32

Lời mở đầu:

Cải tiến công nghệ phục vụ cho cuộc sống là phương châm, động lực

phát triển cho xã hội loài người trong thời gian qua.Từ khi con người có ý

thức thì sự tìm tòi học hỏi và khả năng tư duy chính là đặc điểm đưa loài

người ra khỏi lớp động vật. Đặc điểm nổi bật nhất của sự tìm tòi học hỏi

hay khả năng tư duy là sự sáng tạo, tiềm lới giả cho những vần đề được đặt

ra. Công nghệ thông tin cũng không nằm ngoài quy luật đó, tuy công nghệ

thông tin ra đời sau so với các công nghệ khác nhưng cũng cùng chung quy

luật của sự sáng tạo.

Bản báo cáo này là kết qủa tìm hiểu về “Vận dụng những kiến thức

về phương pháp luận, phương pháp sáng tạo trong việc phát triển mã nguồn

mở Joomla CMS”, do Nguyễn Xuân Nghề (CH1101023) thuộc lớp cao học

công nghệ thông tin qua mạng khoá VI, Đại học Quốc Gia Thành phố Hồ

Chí Minh.

Em xin chân thành cảm ơn GSTS. Hoàn Kiếm, giảng viên giảng dạy môn

học, đã hướng dẫn Em hoàn thành bản báo cáo này.

I. Những nguyên tắc (thủ thuật) sáng tạo:

1. Nguyên tắc phân nhỏ:

a) Chia đối tượng thành các phần độc lập.

b) Làm đối tượng trở nên tháo lắp được.

c) Tăng mức độ phân nhỏ đối tượng.

2. Nguyên tắc “tách khỏi”:

a) Tách phần gây “phiền phức” (tính chất “phiền phức”) hay ngược

lại tách phần duy nhất “cần thiết” (tính chất “cần thiết”) ra khỏi đối

tượng.

3. Nguyên tắc phẩm chất cục bộ:

a) Chuyển đối tượng (hay môi trường bên ngoài, tác động bên ngoài)

có cấu trúc đồng nhất thành không đồng nhất.

b) Các phần khác nhau của đối tượng phải có các chức năng khác

nhau.

c) Mỗi phần của đối tượng phải ở trong những điều kiện thích hợp

nhất đối với công việc.

4. Nguyên tắc phản đối xứng:

Chuyển đối tượng có hình dạng đối xứng thành không đối xứng (nói

chung giãm bật đối xứng).

5. Nguyên tắc kết hợp:

a) Kết hợp các đối tượng đồng nhất hoặc các đối tượng dùng cho các

hoạt động kế cận.

b) Kết hợp về mặt thời gian các hoạt động đồng nhất hoặc kế cận.

6. Nguyên tắc vạn năng:

Đối tượng thực hiện một số chức năng khác nhau, do đó không cần

sự tham gia của các đối tượng khác.

7. Nguyên tắc “chứa trong”:

a) Một đối tượng được đặt bên trong đối tượng khác và bản thân nó

lại chứa đối tượng thứ ba ...

b) Một đối tượng chuyển động xuyên suốt bên trong đối tượng khác.

8. Nguyên tắc phản trọng lượng:

a) Bù trừ trọng lượng của đối tượng bằng cách gắn nó với các đối

tượng khác có lực nâng.

b) Bù trừ trọng lượng của đối tượng bằng tương tác với môi trường

như sử dụng các lực thủy động, khí động...

9. Nguyên tắc gây ứng suất sơ bộ:

Gây ứng suất trước với đối tượng để chống lại ứng suất không cho

phép hoặc không mong muốn khi đối tượng làm việc (hoặc gây ứng

suất trước để khi làm việc sẽ dùng ứng suất ngược lại ).

10. Nguyên tắc thực hiện sơ bộ:

a) Thực hiện trước sự thay đổi cần có, hoàn toàn hoặc từng phần, đối

với đối tượng.

b) Cần sắp xếp đối tượng trước, sao cho chúng có thể hoạt động từ vị

trí thuận lợi nhất, không mất thời gian dịch chuyển.

11. Nguyên tắc dự phòng:

Bù đắp độ tin cậy không lớn của đối tượng bằng cách chuẩn bị trước

các phương tiện báo động, ứng cứu, an toàn.

12. Nguyên tắc đẳng thế:

Thay đổi điều kiện làm việc để không phải nâng lên hay hạ xuống

các đối tượng.

13. Nguyên tắc đảo ngược:

a) Thay vì hành động như yêu cầu bài toán, hành động ngược lại (ví

dụ, không làm nóng mà làm lạnh đối tượng)

b) Làm phần chuyển động của đối tượng (hay môi trường bên ngoài)

thành đứng yên và ngược lại, phần đứng yên thành chuyển động.

14. Nguyên tắc cầu (tròn) hoá:

a) Chuyển những phần thẳng của đối tượng thành cong, mặt phẳng

thành mặt cầu, kết cấu hình hộp thành kết cấu hình cầu.

b) Sử dụng các con lăn, viên bi, vòng xoắn.

c) Chuyển sang chuyển độg quay, sử dung lực ly tâm.

15. Nguyên tắc linh động:

a) Cần thay đổi các đặt trưng của đối tượng hay môi trường bên

ngoài sao cho chúng tối ưu trong từng giai đoạn làm việc.

b) Phân chia đối tượng thành từng phần, có khả năng dịch chuyển

với nhau.

16. Nguyên tắc giải “thiếu” hoặc “thừa”:

Nếu như khó nhận được 100% hiệu quả cần thiết, nên nhận ít hơn

hoặc nhiều hơn “một chút”. Lúc đó bài toán có thể trở nên đơn giản

hơn và dễ giải hơn.

17. Nguyên tắc chuyển sang chiều khác:

a) Những khó khăn do chuyển động (hay sắp xếp) đối tượng theo

đường (một chiều) sẽ được khắc phục nếu cho đối tượng khả năng di

chuyển trên mặt phẳng (hai chiều). Tương tự, những bài toán liên

quan đến chuyển động (hay sắp xếp) các đối tượng trên mặt phẳng sẽ

được đơn giản hoá khi chuyển sang không gian (ba chiều).

b) Chuyển các đối tượng có kết cấu một tầng thành nhiều tầng.

c) Đặt đối tượng nằm nghiêng.

d) Sử dụng mặt sau của diện tích cho trước.

e) Sử dụng các luồng ánh sáng tới diện tích bên cạnh hoặc tới mặt

sau của diện tích cho trước.

18. Nguyên tắc sử dụng các dao động cơ học:

a) Làm đối tượng dao động. Nếu đã có dao động, tăng tầng số dao

động ( đến tầng số siêu âm).

b) Sử dụng tầng số cộng hưởng.

c) Thay vì dùng các bộ rung cơ học, dùng các bộ rung áp điện.

d) Sử dụng siêu âm kết hợp với trường điện từ.

19. Nguyên tắc tác động theo chu kỳ:

a) Chuyển tác động liên tục thành tác động theo chu kỳ (xung).

b) Nếu đã có tác động theo chu kỳ, hãy thay đổi chu kỳ.

c) Sử dụng các khoảng thời gian giữa các xung để thực hiện tác động

khác.

20. Nguyên tắc liên tục tác động có ích

a) Thực hiện công việc một cách liên tục (tất cả các phần của đối

tượng cần luôn luôn làm việc ở chế độ đủ tải).

b) Khắc phục vận hành không tải và trung gian.

c) Chuyển chuyển động tịnh tiến qua lại thành chuyển động qua.

21. Nguyên tắc “vượt nhanh”:

a. Vượt qua các giai đoạn có hại hoặc nguy hiểm với vận tốc lớn.

b. Vượt nhanh để có được hiệu ứng cần thiết.

22. Nguyên tắc biến hại thành lợi:

a. Sử dụng những tác nhân có hại (thí dụ tác động có hại của môi

trường) để thu được hiệu ứng có lợi.

b. Khắc phục tác nhân có hại bằng cách kết hợp nó với tác nhân có

hại khác.

c. Tăng cường tác nhân có hại đến mức nó không còn có hại nữa.

23. Nguyên tắc quan hệ phản hồi:

a. Thiết lập quan hệ phản hồi

b. Nếu đã có quan hệ phản hồi, hãy thay đổi nó.

24. Nguyên tắc sử dụng trung gian:

Sử dụng đối tượng trung gian, chuyển tiếp.

25. Nguyên tắc tự phục vụ:

a. đối tượng phải tự phục vụ bằng cách thực hiện các thao tác phụ

trợ, sửa chữa.

b. Sử dụng phế liệu, chát thải, năng lượng dư.

26. Nguyên tắc sao chép (copy):

a. Thay vì sử dụng những cái không được phép, phức tạp, đắt tiền,

không tiện lợi hoặc dễ vỡ, sử dụng bản sao.

b. Thay thế đối tượng hoặc hệ các đối tượng bằng bản sao quang học

(ảnh, hình vẽ) với các tỷ lệ cần thiết.

c. Nếu không thể sử dụng bản sao quang học ở vùng biẻu kiến (vùng

ánh sáng nhìn thấy được bằng mắt thường), chuyển sang sử dụng các

bản sao hồng ngoại hoặc tử ngoại.

27. Nguyên tắc “rẻ” thay cho “đắt”:

Thay thế đối tượng đắt tiền bằng bộ các đối tượng rẻ có chất lượng

kém hơn (thí dụ như về tuổi thọ).

28. Thay thế sơ đồ cơ học:

a. Thay thế sơ đồ cơ học bằng điện, quang, nhiệt, âm hoặc mùi vị.

b. Sử dụng điện trường, từ trường và điện từ trường trong tương tác

với đối tượng

c. Chuyển các trường đứng yên sang chuyển động, các trường cố

định sang thay đổi theo thời gian, các trường đồng nhất sang có cấu

trúc nhất định .

d. Sử dụng các trường kết hợp với các hạt sắt từ.

29. Sử dụng các kết cấu khí và lỏng:

Thay cho các phần của đối tượng ở thể rắn, sử dụng các chất khí và

lỏng: nạp khí, nạp chất lỏng, đệm không khí, thủy tĩnh, thủy phản

lực.

30. Sử dụng vỏ dẻo và màng mỏng:

a. Sử dụng các vỏ dẻo và màng mỏng thay cho các kết cấu khối.

b. Cách ly đối tượng với môi trường bên ngoài bằng các vỏ dẻo và

màng mỏng.

31. Sử dụng các vật liệu nhiều lỗ:

a. Làm đối tượng có nhiều lỗ hoặc sử dụng thêm những chi tiết có

nhiều lỗ (miếng đệm, tấm phủ…)

b. Nếu đối tượng đã có nhiều lỗ, sơ bộ tẩm nó bằng chất nào đó.

32. Nguyên tắc thay đổi màu sắc:

a. Thay đổi màu sắc của đối tượng hay môi trường bên ngoài

b. Thay đổi độ trong suốt của của đối tượng hay môi trường bên

ngoài.

c. Để có thể quan sát được những đối tượng hoặc những quá trình, sử

dụng các chất phụ gia màu, hùynh quang.

d. Nếu các chất phụ gia đó đã được sử dụng, dùng các nguyên tử

đánh dấu.

e. Sử dụng các hình vẽ, ký hiệu thích hợp.

33. Nguyên tắc đồng nhất:

Những đối tượng, tương tác với đối tượng cho trước, phải được làm

từ cùng một vật liệu (hoặc từ vật liệu gần về các tính chất) với vật

liệu chế tạo đối tượng cho trước.

34. Nguyên tắc phân hủy hoặc tái sinh các phần:

a. Phần đối tượng đã hoàn thành nhiệm vụ hoặc trở nên không càn

thiết phải tự phân hủy (hoà tan, bay hơi..) hoặc phải biến dạng.

b. Các phần mất mát của đối tượng phải được phục hồi trực tiếp

trong quá trình làm việc.

35. Thay đổi các thông số hoá lý của đối tượng:

a. Thay đổi trạng thái đối tượng.

b. Thay đổi nồng độ hay độ đậm đặc.

c. Thay đổi độ dẻo

d. Thay đổi nhiệt độ, thể tích.

36. Sử dụng chuyển pha:

Sử dụng các hiện tượng nảy sinh trong quá trình chuyển pha như:

thay đổi thể tích, toả hay hấp thu nhiệt lượng...

37. Sử dụng sự nở nhiệt:

a. Sử dụng sự nở (hay co) nhiệt của các vật liệu.

b. Nếu đã dùng sự nở nhiệt, sử dụng với vật liệu có các hệ số nở

nhiệt khác nhau.

38. Sử dụng các chất oxy hoá mạnh:

a. Thay không khí thường bằng không khí giàu oxy.

b. Thay không khí giàu oxy bằng chính oxy.

c. Dùng các bức xạ ion hoá tác động lên không khí hoặc oxy.

d. Thay oxy giàu ozon (hoặc oxy bị ion hoá) bằng chính ozon.

39. Thay đổi độ trơ:

a. Thay môi trường thông thường bằng môi trường trung hoà.

b. Đưa thêm vào đối tượng các phần , các chất , phụ gia trung hoà.

c. Thực hiện quá trình trong chân không.

40. Sử dụng các vật liệu hợp thành (composite):

Chuyển từ các vật liệu đồng nhất sang sử dụng những vật liệu hợp

thành (composite). Hay nói chung sử dụng các vật liệu mới.

II. Joomla CMS từ khi ra đời đến nay

Joomla! là "sản phẩm anh em" với Mambo giữa tập đoàn Miro của

Úc (hãng đang nắm giữ Mambo), với phần đông những người phát triển

nòng cốt.

Ban đầu công ty Miro của Úc đã phát triển Mambo theo dạng ứng

dụng mã nguồn đóng. Đến tháng 4 năm 2001, công ty đã thông qua một

chính sách bản quyền kép, nghĩa là phát hành Mambo theo cả giấy phép

GPL.

Mọi thứ vẫn tiến triển bình thường cho đến trước khi xảy ra tranh

chấp về mặt pháp lý vào năm 2003. Vụ việc dẫn tới ý tưởng Mambo cần

phải được bảo vệ bởi một tổ chức phi lợi nhuận. Nhưng những nhà phát

triển không hài lòng về cơ cấu của Quỹ tài trợ Mambo. Andrew Eddie, người lãnh đạo nhóm phát triển, trong một lá thư gửi cộng đồng[4], đã chia

sẻ những lo lắng của mình về Quỹ tài trợ Mambo và mối quan hệ của nó

tới cộng đồng. Ông viết: "...Chúng tôi cho rằng tương lai của Mambo nên

được quản lý, điều chỉnh bởi những yêu cầu của người sử dụng và khả

năng của những nhà phát triển. Trong khi đó, Quỹ tài trợ Mambo lại được

thiết kế nhằm trao quyền điều khiển cho Miro, một thiết kế ngăn cản sự

1. Lịch sử phát triển Joomla

hợp tác giữa Quỹ tài trợ và cộng đồng...". Bởi vậy vào ngày 17 tháng 8

năm 2005, toàn bộ đội phát triển nòng cốt của Mambo đã rời khỏi dự án

trong khi đang làm việc với phiên bản 4.5.3.

Nhờ sự trợ giúp của Trung tâm Luật Tự do Phần mềm (Software

Freedom Law Center - SFLC), 20 thành viên nòng cốt cũ của Mambo đã

thành lập một tổ chức phi lợi nhuận khác lấy tên là Open Source Matters,

để hỗ trợ về mặt tổ chức, pháp lý và kinh phí cho dự án mã nguồn mở còn

chưa được đặt tên của họ. Cùng lúc đó, nhóm phát triển cũng lập một

website lấy tên OpenSourceMatters để phân phối thông tin tới những

người sử dụng, những người phát triển, những người thiết kế và cộng

đồng Joomla nói chung. Người đứng đầu dự án chính là Andrew Eddie.

Ngay ngày hôm sau, 1000 người đã gia nhập diễn đàn

OpenSourceMatters, hầu hết các bài viết cho diễn đàn đều khuyến khích

và đồng tình với hành động của Nhóm Phát triển. Tin trên đã nhanh chóng

được đăng tải trên các tạp chí newsforge.com, eweek.com và ZDnet.com.

Trong một thông báo của Eddie 2 tuần sau đó, các nhóm đã được tổ

chức lại và cộng đồng Joomla! tiếp tục tăng trưởng. Tới ngày 1 tháng 9

năm 2005 tên mới của dự án đã được thông báo cho khoảng 3000 người

theo dõi đội Phát triển và đến ngày 16 tháng 9 thì họ cho ra đời Joomla!

1.0.

Phiên bản Joomla

Hiện Joomla! có 5 dòng phiên bản chính:

 Joomla! 1.0.x: Phiên bản thế hệ 1

 Phiên bản phát hành đầu tiên: Joomla! 1.0.0 (ngày 15

tháng 9 năm 2005)

 Phiên bản phát hành mới nhất: Joomla! 1.0.15 (

 Joomla! 1.5.x: Phiên bản thế hệ 2

 Các phiên bản cũ (giai đoạn phát triển): Joomla! 1.5

tháng 9 năm 2009)

beta, Joomla! 1.5 RC1, Joomla! 1.5 RC2, Joomla!

 Phiên bản phát hành mới nhất: Joomla! 1.5.25 (ngày

1.5 RC3, Joomla! 1.5 RC4

 Joomla! 1.6: Phiên bản thế hệ 3

 Phiên bản phát hành mới nhất: Joomla! 1.6.5 (ngày

14 tháng 11 năm 2011)

 Joomla! 1.7: Phiên bản thế hệ 4

11 tháng 07 năm 2011)

Phiên bản phát hành mới nhất: Joomla! 1.7.5 (ngày

 Joomla! 2.5: Phiên bản thế hệ 5

02 tháng 02 năm 2012)

Phiên bản phát hành mới nhất: Joomla! 2.5.3 (ngày

15 tháng 03 năm 2012)

Người dùng rất thích sử dụng Joomla và trung thành với nó. Cùng

với Drupal và Wordpress… Joomla là mã nguồn mở về quản lý nội dung

website (CMS) được sử dụng nhiều nhất trên thế giới.

( Hình 1)

Nhìn vào hình ta thấy Joomla và WordPress cùng số lượng về lưu lượng

tìm kiếm của Google Trend. Joomla và Wordpress có lưu lượng tìm kiếm

gấp 3 lần so với Drupal. Tuy nhiên lưu lượng tìm kiếm của Joomla đã bị

giảm từ năm 2010. Đó là thời gian để cho Joomla bắt đầu xem xét lại và

cho ra đời phiên bản Joomla 1.6 – tháng 1 năm 2011 và joomla 1.7 – tháng

7 năm 2011.

( Hình 2 )

Việc sử dụng Joomla ở nước Đức rất phổ biến. Joomla có lưu lượng tìm

kiếm gấp 2 lần Wordpress và gấp 4 lần Drupal.

Bản dưới đây là một vài thống kê từ Google Trends :

Country Drupal Joomla Wordpress

World 0.3 1 1.08

Chile 0 1 0.82

France 0.2 1 0.68

Germany 0.16 1 0.61

Italy 0.17 1 0.6

Poland 0.15 1 0.43

Russian 0.3 1 0.5

Frederation

Spain 0.26 1 1

Switzerland 0.15 1 0.45

UK 0.4 1 1.65

USA 0.66 1 2.3

China 0.8 1 3.2

2. Joomla 1.0 – thế hệ thứ 1

Joomla là một CMS software giúp chúng ta xây dựng websites và

những ứng dụng online khác. Đặc biệt, joomla là một giải pháp mã nguồn

mở hoàn toàn miễn phí

Joomla cho người dùng cuối (End users)

Gói đơn giản của joomla được thiết kế rất dễ để cài đặt, thậm chí bạn

không phải là một lập trình viên. Hầu hết mọi người đều dễ dàng

download, cài đặt và sử dụng.

Bạn cũng dễ dàng thêm những mục tin tức, quản lý trang nhân viên

và tạo ra vô số các tin bài thuộc nhiều thể loại khác nhau thông qua giao

diện web

Joomla cho người phát triển website

Sức mạnh của joomla là framework của nó. Các nhà phát triển

website trên thế giới đã tạo ra những thành phần mở rộng (components,

modules, và mambots). Dưới đây là vài ví dụ của hàng ngàn thành phần

của joomla : dynamic form builders, business or organisational directories,

document management, image and multimedia galleries, e-commerce and

shopping cart engines, forums and chat software…

Sử dụng Joomla Framework, người phát triển website có thể xây

dựng : integrated e-commerce systems, inventory control systems, data

reporting tools, custom product catalogues, complex business directories,

reservation and booking systems, communication tools, application

bridges…

(Hình 3 – back-end joomla 1.0)

3. Joomla 1.5 – thế hệ thứ 2

Phần quản trị - đơn giản và dễ dàng quản lý

Đầu tiên chúng ta nhận thấy là giao diện đã cải thiện, phần cấu hình

toàn cục (global configuration) hiển thị đơn giản và dể dàng kiểm soát hơn.

Tiếp theo là những cải tiến về việc quản lý website. Việc cài đặt các

thành phần (extension) và ngôn ngữ rất đơn giản. Quản lý tài liệu, hình

ảnh… được cải thiện về giao diện và tính năng.

(Hình 4 – joomla 1.5 Media manager)

Việc quản lý tin bài đơn giản hơn, không còn nhiều vùng soạn thảo

giống như joomla 1.0 nữa, bây giờ chỉ cần một vùng soạn thảo với ‘Read

more’ để phân chia phần giới thiệu và phần nội dung chính của tin bài. Một

cải thiện nữa đó là người quản trị có thể chọn hình ảnh và chèn trực tiếp

vào tin bài ngay lúc soạn thảo

(Hình 5 – joomla 1.5 artice editor)

Một trong những cải tiến quan trọng nữa là tạo ra các URLs thân

thiên với các công cụ tìm kiếm (Search Engine) chỉ bằng cấu hình tại cấu

hình chung (global configuration)

(Hình 6 – joomla 1.5 global configuration)

Người thiết kế tự do sáng tạo

Phần template của joomla 1.5 đã cải tiến, giao diện website (layouts)

dể dàng thay đổi, chỉnh sửa. Do vậy người thiết kế website tự do sáng tạo

và người lập trình cũng dễ dàng code theo ý tưởng của người thiết kế.

Với joomla 1.5 người dùng cuối (end users) có thể chỉnh sửa những

biến cấu hình của template trong phần giao diện quản lý template. Người

quản lý template cũng có thể chỉnh sửa bất kỳ file css nào cho template mà

không cần sự thay đổi từ lập trình viên.

Người phát triển website – thực hiện nhanh chóng và cấu trúc hợp lý

Việc thiết kế và cấu trúc của code trong joomla 1.5 đã được sắp xếp

lại và sử dụng những phương pháp hiện đại hiện nay và các mẫu thiết

kế(design patterns). Joomla được chia làm 3 lớp làm cho cấu trúc của nó

được gọn gàng và người lập trình chỉ tác động vào một lớp nào đó khi cần

thiết. Joomla 1.5 được phát triển theo hướng đối tượng – object-oriented.

Joomla 1.5 được xây dựng trong khuôn khổ sự tương thích với php

4.3 và php5. Người lập trình có thể dễ dàng chuyển đổi phiên bản mới khi

cần thiết.

Nhưng có lẽ tính năng mạnh mẽ nhất của framework là mô hình MVC.

Phát triển bằng cách sử dụng MVC giúp cho các nhà phát triển có một nền

tảng cho sự phát triển các ứng dụng nhanh chóng. Sự tách biệt rỏ ràng các

tầng logic và tầng hiển thị giúp cho việc sử dụng lại và duy trì mã code dễ

dàng.

4. Joomla 1.6 – thế hệ thứ 3

Hệ thống phân quyền người dùng

Với joomla 1.6 Cho phép tạo mới nhóm người dùng. Cho phép tùy

biến các cấp độ truy cập (access levels) và quản lý quyền truy cập đa cấp.

(Hình 7 – joomla 1.6 phân quyền người dùng)

Joomla 1.5 Joomla 1.6

Gồm 7 nhóm cố định, không Không giới hạn số lượng nhóm Nhóm

thể thêm bớt hoặc xóa: tạo thêm.

Registered, Author, Editor,

Publisher, Manager,

Administrator và Super

Một người dùng chỉ thuộc về duy

Một người dùng có thể được gán

Administrator

nhất một nhóm

vào nhiều nhóm khác nhau.

Người

về 1 và duy nhất một nhóm

dùng &

Nhóm

3 cấp độ truy cập cố định (Public,

Không giới hạn số lượng cấp độ

Registered, Special)

truy cập tạo thêm

Cấp độ

Mối liên quan giữa cấp độ truy

Nhóm được gán vào Cấp độ truy

truy cập

cập và nhóm là cố định

cập và hoàn toàn có thể tùy biến

Cấp độ

được

truy cập

Các hành động mà một nhóm có

Hoàn toàn có thể tùy biến theo nhu

& Nhóm

Nhóm và

thể thực hiện là cố định

cầu

hành

động

Phạm vi

Phạm vi áp dụng cho toàn bộ

Tùy biến theo nhiều cấp: toàn cục,

trang web và trên mọi đối tượng

theo component, theo category và

của quyền

theo article

Không thực hiện được

Quyền được thiết lập ở cấp độ cha

Thừa kế

sẽ được thừa kế ở cấp độ con

quyền

Hệ thống phân loại nội dung đa cấp

Với joomla 1.6 việc quản lý nội dung tin bài trở nên dễ dàng và mềm

dẻo, có thể tạo bao nhiêu cấp bậc category tùy ý.

Joomla 1.5 Joomla 1.6

 Section  Category

 Category  Sub category 1

 Sub category 2  Article  Sub category N

 Article

Cho phép thêm trường dữ liệu mới cho thành viên

Ngoài các trường dữ liệu phổ biến cho user như : username, email,

password…Với joomla 1.6 có thể bổ sung các trường dữ liệu khác cho user

tùy ý như : Địa chỉ, quốc gia, phone…

(Hình 8 – joomla 1.6 thêm trường dữ liệu cho users)

5. Joomla 1.7 – thế hệ thứ 4

Cải thiện đa ngôn ngữ

Cải tiến đa ngôn ngữ cho phép bạn kết hợp với các menu với những

ngôn ngữ khác nhau với khả năng điều hướng nhanh hơn

Các gói ngôn ngữ bây giờ được xây dựng với cơ chế tự động chọn

font chữ tốt nhất cho ngôn ngữ đó.

Thêm những tính năng mới

Code trong những kiểu plugin được cải tiến tốt hơn, điều này giúp

cho người lập trình dễ dàng tự xây dựng những thành phần cho mình

(extensions)

Khả năng tự động xác nhận dữ liệu trong quá trình user thực hiện

lệnh lưu (save). Điều này giúp phòng chống hacker muốn lưu(save) dữ liệu

không hợp lệ vào các forms nhằm tấn công website.

6. Joomla 2.5 – thế hệ thứ 5

Tìm kiếm nhiều nội dung với Smart Search

Công cụ tìm kiếm thông minh này nhanh hơn và linh hoạt hơn so với

tìm kiếm chuẩn.

Các dữ liệu cần phải được lập chỉ mục theo thứ tự để có được sự linh hoạt

và tốc độ.

(Hình 9 – joomla 2.5 tạo index)

Hỗ trợ nhiều databases

Với joomla 2.5 sẽ có thể hoạt động với MySQL và Microsoft SQL

Server và tương lại sẽ là PostgreSQL và Oracle

Form user đăng ký với CAPTCHA

Chức năng này dùng để chống spam hiệu quả

(Hình 10 – joomla 2.5 captcha)

Đa ngôn ngữ

Bạn có thể ghi đè chuỗi ngôn ngữ mặc định từ back-end

(Hình 11 – joomla 2.5 thay đổi ngôn ngữ)

User notes

Với user notes, những ghi chú được đính kèm với user và được gán

ngày theo dõi cho users. Có thể có nhiều ghi chú cho một user thuộc những

thể loại khác nhau.

(Hình 12 – joomla 2.5 user notes)

Loại bỏ subcategories

Trong Joomla 1.7 khi tìm kiếm ở các bài viết, bạn có thể lọc theo thể

loại. Tuy nhiên, bạn không có một cách lựa chọn một thể loại và nhận được

tất cả các bài viết mà trong đó thể loại và các danh mục phụ của nó. Trong

2,5, lựa chọn một danh mục trong quản lý điều sẽ bao gồm các tiểu thể loại

của nó, xuống đến độ sâu mà bạn chọn. Nếu bạn chỉ muốn loại cấp cao

nhất, bạn có thể chọn một mức độ 1.

III. Những Nguyên tắc sáng tạo – khoa học được áp dụng

trong quá trình phát triển Joomla CMS

1. Nguyên tắc phân nhỏ

Trong quá trình phát triển của mình Joomla CMS đã vận dụng nguyên tắc

phân nhỏ để phát triển. Joomla 1.0 được cải tiến tập trung vào phần cấu

trúc của framework từ các functions lên phân lớp MVC để được joomla

1.5. Rồi từ joomla 1.5 với việc tập trung vào việc phân quyền của user đã

phát triển thành phiên bản joomla 1.6 với nhóm người dùng không giới

hạn, việc phân quyền cho user trở nên mềm dẻo hơn và khoa học hơn…

ngoài ra việc phát triển của joomla còn thực hiện trên nhiều phần nhỏ khác

nhau : giao diện, security, đa ngôn ngữ, …

2. Nguyên tắc tách riêng

Trong joomla nếu chỉ xét riêng về các thành phần của nó (extensisions) thì

ta thấy các thành phần này độc lập nhau. Những thành phần chính của

joomla là : component, module, plugin (từ joomla 1.5) được cài đặt và gở

bỏ cài đặt độc lập nhau không ảnh hưởng đến các thành phần khác và cả

website. Trong quá trình phát triển các thành phần của joomla cũng độc lập,

người lập trình có thể thay đổi nâng cấp code… trên chính thành phần đó

mà ko ảnh hưởng đến các thành phần khác – việc thay đổi chỉ xảy ra tại

package của thành phần đó mà thôi. Việc áp dụng nguyên tắc tách riêng này

của joomla đã giúp joomla là framework rất dễ dàng cài đặt, sử dụng và

phát triển.

3. Nguyên tắc kết hợp

Trong quá trình phát triển của mình Joomla cũng đã vận dụng khá tốt

nguyên tắt kết hợp. Quá trình phát triển framework joomla đều theo hướng

mở rộng có thể kết hợp được. Ví dụ : website về tin tức có thể kết hợp với

các thành phần khác như : forum, shopping, cộng đồng…Nhờ khả năng này

mà chúng ta thấy việc sử joomla rất đa dạng và phổ biến trên thế giới –

chúng ta có thể triển khai tất cả thể loại website khác nhau từ joomla.

4. Nguyên tắc vạn năng

Ngoài là framework chuyên dùng để quản lý nội dung (content

management system) với Joomla chúng ta có thể tích hợp với rất nhiều

thành phần mở rộng khác (extensisons). Chúng ta cho thể triển khai thương

mại điện tử với virtal mart component. Website cộng đồng với community

component, website photo gallery với phoca gallery component, diễn đàn

với fireboard… Nói chung với Joomla CMS chúng ta có thể xây dựng bất

cứ dạng website nào chúng ta muốn. Điều này thể hiện khả năng vạn năng

của Joomla và Joomla CMS đã áp dụng rất tốt nguyên tắc vạn năng trong

quá trình phát triển của mình.

5. Nguyên tắc dự phòng

Là một free framework và được phát triển bởi cộng đồng nên việc phát

triển code của joomla được thực hiện và quản lý rất chặt chẽ và khoa học.

Việc phát triển code được quản lý bởi các phần mềm quản lý phiên bản

(version) như subversion – svn rất chặt chẽ. Với công cụ này các nhà phát

triển có thể checkout về máy tính của mình để lập trình sau đó update –

checkin lại trên server chính. Tất cả thay đổi đều được quản lý theo các

phiên bản và có thể tìm lại các phiên bản trước đó. Nguyên tắc dự phòng đã

được áp dụng và là cơ sở để joomla phát triển bền vững như ngày nay.

6. Nguyên tắc quan hệ phản hồi

Joomla CMS là phần mềm mã nguồn mở nổi tiếng trên thế giới, do đó số

lượng người sử dụng là vô cùng to lớn. Để phát triển hoàn thiện joomla 2.5

như ngày nay Joomla CMS đã vận dụng khá tốt nguyên tắc quan hệ phản

hồi. Phản hồi từ người sử dụng website, người thiết kế website và người

phát triển website… phản hồi trên nhiều phương diện khác nhau : giao

diện, tính năng, tính bảo mật, tính mềm dẻo và dễ dàng trong quản lý, hỗ

trợ đa ngôn ngữ…Bên cạnh đó có rất nhiều forum, FAQ, joomla groups…

trên thế giới đã giúp tạo một kênh thảo luận, đóng góp ý kiến rộng lớn cho

joomla CMS. Tạo cơ sở cho sự phát triển hơn nữa của joomla trong tương

lai.

7. Nguyên tắc sử dụng trung gian

Để góp phần tăng thêm tính năng và tiện ích của mình, joomla cũng có thể

tích hợp các thành phần trung gian vào chính framework của mình. Ví dụ

như, chúng ta có thể hiển thị video player của youtube, megavideo, …lên

trên website của mình. Chúng ta có thể upload video từ joomla website sau

đó đưa video lên youtube qua một account xác định nào đó, tích hợp

joomla website và youtube thông qua web API (application programming

interface). Tương tự như vậy đối với facebook, chúng ta cũng có thể login

vào website bằng tài khoản facebook, hiển thị fans box, friends box… trên

joomla website. Đặc biệt là tính năng tìm bạn, user chỉ cần nhập địa chỉ

email (yahoo, gmail…) một yêu cầu kết bạn sẽ được gửi qua email đến

những người bạn của user này trong contact list… Việc sử dụng nguyên tắc

sử dụng trung gian đã tăng thêm tính tiện lợi và khả năng quảng bá của

joomla website.

8. Nguyên tắc sao chép

Chúng ta hãy nhìn lại sự phát triển của joomla từ phiên bản 1.0 đến 2.5.

Ban đầu là cấu trúc framework đơn giản quản lý chủ yếu bằng các

functions chưa phân lớp ở joomla 1.0. Rồi mô hình MVC (model – view –

controller ) ở joomla 1.5. Nâng cao hơn nữa quyền truy cập của user với

nhiều nhóm truy cập, category cho tin bài với số bậc không giới hạn ở

joomla 1.6&1.7. Nâng cấp component smart search, captcha ở joomla 2.5.

Chúng ta thấy rằng mặc dù ở những phiên bản sau có rất nhiều cải tiến do

với phiên bản trước, nhưng đều phát triển dựa trên nền tảng của phiên bản

trước. Điều này chứng tỏ joomla đã vận dụng tốt nguyên tắt sao chép. Sao

chép từ phiên bản trước để phát triển phiên bản tiếp theo. Ngoài ra trong hệ

thống quản trị của joomla nguyên tắc sao chép còn được áp dụng rất phổ

biến. Sao chép menu, tin bài, category,…

9. Nguyên tắc rẻ thay đắt

Bản thân là một open source software, joomla đã vận dụng nguyên tắc rẻ

thay cho đắt rất tốt. Joomla phát triển như ngày nay là do sự đóng góp của

đông đảo cộng đồng yêu mến joomla. Không có một Công Ty nào bỏ tiền

thuê mướn lập trình viên hay designer để phát triển joomla cả. Hiện nay số

lượng người sử dụng joomla trên thế giới rất nhiều, và cũng rất nhiều dự án

website triển khai với joomla rất thành công. Vì vậy việc sử dụng joomla

để phát triển website là một giải pháp free nhưng hiệu quả mang lại vô

cùng to lớn.

IV. Kết luận :

Qua bài luận trên ta thấy được sự ảnh hưởng của 40 phương pháp

sáng tạo trong quá trình giải quyết các vần đề tin học là vô cùng to lớn.

Không chỉ là hướng để giải quyết các vấn đề mà bản thân của 40

phương pháp này đã ẩn chứa trong nó câu trả lời.

Ngày nay khi mà với sự tiến bộ của khoa học kỹ thuật làm thế giới

trở nên bình đẳng hơn, các biên giới quốc gia chỉ còn giá trị về địa lý

thì cơ hội thành công là rất rõ rệt với tất cả mọi người. Do đó việc nắm

vững 40 phương pháp sáng tạo có thể coi như là chìa khoá để mở cánh

cửa thành công. Chỉ cẩn giải quyết được một vấn đề nào đó cũng có

thể làm nên cuộc cách mạng công nghệ mới.

Joomla CMS hay bất kỳ dự án tin học nào cũng vậy, đều phát triển

dựa trên những nguyên tắc xác định. Do vậy nếu chúng ta nắm vững

các nguyên tắc sáng tạo và vận dụng chúng vào trong các dự án thì cơ

hội thành công là rất cao.

Tài liệu tham khảo :

Website :

http://joomla.org

http://forum.joomla.org

http://vi.wikipedia.org/wiki/Joomla!

http://www.joomla.org/announcements/general-news/154-

introducing-joomla-10.html

http://www.joomla.org/announcements/release-news/4483-joomla-

15-overview.html

http://forum.joomla.org/viewtopic.php?t=103863

http://www.joomla.org/about-joomla.html

http://help.joomla.org/index.php?option=com_content&task=findkey

&tmpl=component;1&keyref=joomla.whatsnew10.15

http://diendan.joomlaviet.vn/threads/joomla-2-5-3-co-gi-moi.259/

Sách :

- Giới thiệu : Phương pháp luận sáng tạo và đổi mới (quyển 1 của

bộ sách ‘‘sáng tạo và đổi mới’‘) Trung tâm sáng tao KHKT

(TSK), TpHCM 2004

Tác giả : Phan Dũng

- Sổ tay sáng tạo : Các thủ thuật (nguyên tắc) cơ bản.

Ủy ban khoa học và kỹ thuật TpHCM 1992

- Giải một bài toán trên máy tính như thế nào của GSTS. Hoàng Kiếm.

Tập 1,2,3 năm 2005.

- Slides bài giảng môn ‘‘PHƯƠNG PHÁP NGHIÊN CỨU KHOA

Tác giả : Phan Dũng

HỌC TRONG TIN HỌC’’

Tác giả : GS.TSKH. Hoàng Kiếm

v