Trong số các hệ quản trị nội dung (CMS) phổ biến hiện nay, nổi bật lên hai ứng viên sáng giá nhất là Joomla! và Drupal. Hai hệ quản trị nội dung này thay nhau làm mưa làm gió trong các cuộc thi. Đặc biệt ở cuộc bình chọn uy tín nhất của Packt Publishing, Joomla! và Drupal luôn chiếm giữ hai vị trí đầu bảng.

Joomla!

Trước tiên, hãy cùng tìm hiểu sơ qua hai CMS này. Tiền thân của Joomla! là Mambo, một sản phẩm của Miro. Năm 2002, song song với bản thương mại hóa, Miro cho phát hành Mambo Open Source (gọi tắt là MOS, chữ thường thấy trong mã nguồn Mambo và cả Joomla! cho đến tận năm 2008 này). Đến năm 2005, Mambo bước vào giai đoạn chín mùi và giành nhiều giải thưởng lớn như là "Giải pháp nguồn mở tốt nhất" và "Giải pháp hoàn hảo cho công nghiệp" tại LinuxWorld. Tuy nhiên, đến cuối tháng 8/2005, do bất đồng với Miro, tất cả thành viên trong nhóm phát triển Mambo đồng loạt rời công ty, lập ra nhóm “Open Source Matters”. Họ xây dựng thương hiệu mới “Joomla!” dựa trên Mambo và phát hành lại vào gần một tháng sau. Joomla! 1.0 ra đời trong hoàn cảnh đó.

Từ đó đến nay, Joomla! liên tục được cải tiến, đặc biệt là vá các lỗi bảo mật. Bản Joomla! mới nhất là 1.0.13 ra đời tháng 7/2007, ngoài ra thế hệ kế tiếp là Joomla! 1.5 được bắt đầu phát triển từ cuối năm 2006, đến nay đang ở giai đoạn RC4.

Joomla! thực sự dễ dùng. Giao diện quản trị (back end) bắt mắt, việc cài đặt các phần mở rộng chỉ đơn giản là tải lên và chạy chương trình cài đặt. Theo triết lí của Joomla!, đơn vị dữ liệu cơ bản là content item (ở bản 1.5 đổi thành article) chứa trong category, bản thân category được chứa trong section. Như vậy dữ liệu trong Joomla! tổ chức thành 3 cấp.

Cách tổ chức này rất logic và không gây rắc rối cho người dùng mới. Dù vậy, Joomla! không có nền tảng để hỗ trợ các kiểu dữ liệu phức tạp hơn. Một nhược điểm khác là Joomla! được thiết kế dành cho người dùng cuối, nên không cung cấp nhiều phương tiện can thiệp vào hoạt động bên trong.

Nhóm phát triển Joomla! luôn quan niệm “open source does matter”, họ từng lên án các phần mở rộng (extension) viết cho Joomla! mà không cung cấp theo giấy phép GPL, cho dù đó là sản phẩm thương mại hay nguồn mở. Trong các sản phẩm bị chỉ trích có cả SMF, một diễn đàn được dùng khá phổ biến kèm với Joomla! (và kết quả là bridge cho Joomla! bị xóa bỏ khỏi trang download của SMF). Hiện nay, vấn đề này được giải quyết với các sản phẩm viết từ đầu bằng cách cung cấp song song theo GPL và giấy phép khác (như MIT chẳng hạn).

Joomla! hiện đang rất phổ biến ở Việt Nam bởi tính dễ dùng của nó. Ngoài ra, Joomla! đáp ứng được yêu cầu quan trọng nhất để xây dựng nhanh một website: có rất nhiều template (giao diện) có sẵn, cả miễn phí lẫn thương mại, nhiều template có chất lượng rất tốt.

Drupal

Drupal xuất phát từ một diễn đàn viết bởi Dries Buytaert (hiện đang là Nghiên cứu sinh tại Bỉ), được chuyển thành sản phẩm nguồn mở năm 2001. Cho đến nay, Buytaert vẫn lãnh đạo việc phát triển của dự án.

Hạt nhân của Drupal là node với cấu trúc đơn giản. Để phát triển các kiểu nội dung phức tạp, mỗi node sẽ được liên kết với một nội dung có kiểu khác nhau. Node được quản lí nhờ hệ thống taxonomy cực mạnh, đây cũng là đặc trưng của Drupal. Người dùng Gmail, Flickr, Wordpress, Yahoo! 360°... ắt hẳn quen với khái niệm “tag” (đôi khi gọi là label), và khái niệm rất hiện đại này đã có trong Drupal ! Khái niệm tag được gọi là “term” trong Drupal, được tổ chức có cấu trúc (chia nhiều cấp). Ngoài ra, trong taxonomy còn có khái niệm “vocabulary” cho phép chia term thành các lớp không giao nhau. Thí dụ một node được gắn một term thuộc vocabulary "Tháng" (gồm 12 term) và các term thuộc vocabulary "Chủ đề".

Drupal được xây dựng để giúp đỡ cho nhà phát triển. Hệ thống hook đa dạng giúp người lập trình can thiệp vào mọi hoạt động mà không phải sửa bất kì dòng lệnh nào của nhân hay các phần khác - điều này trái ngược với Joomla!. Ngoài ra, công nghệ của Drupal thường mới hơn Joomla!, thí dụ như thiết kế của Drupal không dùng bảng (table) trong khi ở Joomla! thì bảng xuất hiện ở mọi nơi (những viên gạch đầu tiên của Joomla! được xây dựng khi các chuẩn Web chưa ra đời). Triết lí “không tương thích ngược” của Drupal làm cho module phải được viết riêng cho từng phiên bản 4.x, 5.x và 6.x (tại cùng một thời điểm, Drupal chỉ hỗ trợ 2 phiên bản mới nhất). Điều này cũng có mặt trái: nhiều người e ngại phải nâng cấp liên tục khi dùng Drupal.

Ở Việt Nam hiện nay Drupal ít được phổ biến vì nó tương đối khó sử dụng. Cộng đồng Drupal Việt Nam chỉ mới manh nha những bước đi đầu tiên sau khi Drupal vượt qua Joomla! trong cuộc thi CMS nguồn mở tốt nhất do Packt tổ chức.

... và Thông Tin Công Nghệ

Bắt đầu xây dựng vào tháng 2/2007, TTCN chọn Joomla! làm nền tảng. Đây là một lựa chọn đúng đắn vì sự đơn giản của Joomla! đã giúp đỡ rất nhiều vào thời điểm đó. Joomla! giúp dễ dàng xây dựng một blog cùng với các thành phần phụ xoay quanh.

Sau đó, càng phát triển, chúng tôi càng phải sửa đổi nhiều trong kiến trúc của Joomla!. Nhưng dường như sự cồng kềnh trong mã nguồn (theo ohloh), sự cứng nhắc trong cấu trúc cùng khả năng tích hợp không được như mong đợi đã khiến TTCN phải đánh giá lại. Tháng 10/2007, Drupal được chọn để thay thế. Từ đó đến nay, chúng tôi thử nghiệm chuyển đổi dữ liệu, tìm hiểu và xây dựng các module để nâng cấp và bổ sung tính năng cho TTCN.

Ảnh
Nội dung mã nguồn của Drupal. Ảnh: ohloh.
Ảnh
Nội dung mã nguồn của Joomla!. Ảnh: ohloh.

Theo so sánh trên, có thể thấy rằng mã nguồn của Drupal rất nhỏ so với Joomla!. Ngoài ra, riêng hạt nhân của Drupal cũng có rất nhiều tính năng quan trọng: bài viết, tìm kiếm, bình chọn, menu, rss, tài khoản, cache, quản trị và ngay cả những chức năng Joomla! không có như diễn đàn, bình luận, làm việc nhóm, phân quyền. Chính sự nhỏ gọn của nhân này sẽ giúp việc phát triển trên Drupal dễ dàng hơn, đặc biệt là phát triển các tính năng mạng xã hội. Hiện nay, nhiều trang web lớn của Việt Nam đã dùng Drupal, như là tamtay.vn, cho thấy tiềm năng của CMS này.

Đến lúc này, có thể kết luận rằng “dường như chuyển sang Drupal là một lựa chọn đúng đắn”. Chúng ta cùng mong đợi việc chuyển đổi sẽ hoàn tất trong thời gian ngắn sắp tới :-)

Hải Nam.

Đính chính: clip.vn không dùng Drupal mà tự phát triển từ đầu.

Bổ sung (của Bacscar): Dries vừa bảo vệ thành công luận án Tiến sĩ của mình, đề tài liên quan đến Java, do cha đẻ của Java hướng dẫn.




Bình luận

  • TTCN (111)
Bùi Anh Tuấn  624

hê hê ! nói cả buổi thì cuối cùng đã hiểu vì sao TTCN không chịu nâng cấp !

nói như bác: vậy tại sao đội ngũ phát triển Joom làm thêm cái 1.5 làm gì trong khi 1.x còn quá tốt ?

bác thông minh hay nhà phát triển Joom khờ khạo ?

vậy đáng lẽ ra bác phải lên thay họ làm lãnh đạo đội phát triển joom mới đúng chứ ? vậy joom đoạt giải liên tục là nhờ cái phiên bản 1x cũ mềm ấy à ? bác mà lãnh đạo thì joom có suốt đời cũng chỉ 1.0.999999999999999

TTCN đã tự đào hố chôn mình rồi đó ! nói chung thì TTCN cũng muốn đi nhưng không biết đi theo con đường nào, vì cái nào cũng có thuận lợi và khó khăn riêng của nó ! đúng hơn là tiến thoái lưỡng nan !!!

nhìn chung thì các bác cũng giống như Yahoo, trì trệ nhưng không muốn bán đi vì quá yêu nó, những cái gì mình làm ra và cho nó là nhất !

thật là tội nghiệp cho TTCN, đã bao nhiêu năm qua tuyên bố thay đổi nào giao diện, nào nền tảng, mà rồi cuối cùng đưa ra một kết luận lãng xẹt chẳng mấy ai ủng hộ.

sao thế bài viết báo lăng xê thưở ban đầu của TTCN oai hùng lắm mà, sao bao năm qua vẫn ì ạch thế ? hỡi các vì sao công nghệ ? trong đó có lẽ ngôi sao Cận Thị Nam là ngôi sao sáng nhất !!!

Hải Nam  30903

1.0 đã tốt, 1.5 còn tốt hơn, nhưng 1.5 cũng chỉ là bản nâng cấp nửa vời. Những điều trên chịu khó tìm hiểu là biết thôi.

“TTCN đã tự đào hố chôn mình rồi đó” - cứ nâng cấp, mà chẳng hiểu tại sao mình phải nâng cấp à? Sau 8 năm phát triển, đã có thêm 2 phiên bản mới hơn, nhưng Windows XP vẫn được dùng nhiều nhất. Còn IE6, một trình duyệt dở tệ, nhưng vẫn là trình phổ biến nhất thế giới (dù sắp bị IE8 vượt). Mấy người phụ trách hệ thống CNTT ở các công ty chắc họ dốt lắm!

Còn về những nhận xét kia, thì bài viết này không phải chỗ bình luận Wink Người ngoài nhìn vào thì đúng là TTCN phẳng lặng thật. Nhưng những ai trong cuộc, cả “phe ta, phe địch” đều biết rõ cái gì đã, đang và sẽ xảy ra.

Hải Nam  30903

@unknown: trên Drupal có một cái module gọi là get_image. Mình cũng đã nghiên cứu và sửa module đó. Nói chung công việc này đơn giản, chỉ cần hook_nodeapi và đem code cũ ở TTCN sang là được. Còn chức năng revision thì đã tích hợp trong core của Drupal từ ngày xửa ngày xưa rồi. Thêm cả moderate theo revision nữa, rất tuyệt!

Hiếu Tròn  25905

=))Sao bác cộng đồng thông tin thích qua TTCN đùa thế nhỉ, bó tay, tính bác vậy thì cộng đồn thông tin bác chừng nào mới khá nỗi.

Bùi Anh Tuấn  624

bao năm rồi, điệp khúc "đang xảy ra, đang thực hiện, năm sau sẽ có" cứ được repeat đi repeat lại, xước hết cả cái đĩa CD !

hê hê ! bác định mon men đến với Drupal và chạy theo thời trang mạng xã hội hả ? em tiên đoán trước luôn cho nhá: 100% sẽ thất bại !!!

bác đang mất định hướng rồi, đua đòi chạy theo người ta làm chi, joom vẫn tốt mà, giao diện lại đẹp mà bác còn chẳng thèm nâng cấp, thân lừa ưa nặng lại còn chạy theo Dru làm chi ?

cái TTCN của bác hiện tại có khối vấn đề cần khắc phục mà bác còn nhìn ra nữa huống gì mơ mộng Drupal

TTCN hiện tại:
- giao diện quá xấu so với xu hướng chung
- các CTV tâm huyết không gắn bó

bác biết vì sao chứ ? biết khắc phục chứ ?

chắc là sẽ trả lời: khắc phục làm quái gì ngày nào chẳng có vài chục ngàn khách viếng thăm, PR, alexa ngất ngưỡng, đếch cần biết ! ha ha ha !

Hải Nam  30903

@CDTT: xem cách nói giống như bác hiểu rõ về Joomla! và Drupal quá nhỉ Wink Còn những cái ngoài kĩ thuật: miễn bình luận ở bài này.

Bùi Anh Tuấn  624

@htth: ồ ! bác cũng biết em thích đùa à ?

mà bác nói khá về cái gì ? kỹ thuật, nội dung hay tiền bạc, số khách viếng thăm ?

site của em chỉ là 1 dạng blog cá nhân, thích chia sẻ những gì mình thấy hay có ích, chẳng phải vụ lợi gì cả

kỹ thuật thì không có gì quá tải, nội dung thì không đến nỗi quá tệ, còn hấp dẫn hơn TTCN là khác, hê hê nổ 1 chút không chết người

tiền bạc thì không mơ màng, số khách viếng thăm cũng thế, vừa đủ bandwidth 1 tháng 20 GB thôi, nhiều quá không có tiền nâng cấp host

TTCN 1 bài viết em có thể kiếm 10-20 ngàn nhưng chẳng hiểu tại sao lại thấy chán, không có hứng thú, viết không nỗi !?!

unknown

Thấy tranh luận sôi nổi quá...mà drupal thấy nói 50+ mod vẫn bt...còn jl thì sao nhỉ?WP mà từng ấy mod chắc tèo...Mình ko phải coder nên đang tìm 1 core tốt để làm 1 trang dạng như ttcn nhưng đang loay hoay tìm code?JL,WP,DP?Ưu tiên mình là performance...hixx

unknown

tạo menu có category trên dp dùng mod nào nhỉ?Bạn Nam cho mình YH với?

unknown

Cả related node nữa?

Hải Nam  30903

@unknown: không phải coder thì hơi phiền đấy Big Grin WP có thể là lựa chọn tốt hơn. “Giống” là khái niệm rất chung, bạn cần biết rõ là những tính năng nào nhất quyết phải có (vì ưu tiên là tốc độ, nên tính năng không thể quá nhiều).

Về related node, thì hoặc dùng nodequeue, hoặc dùng views cũng làm được.

YM thì mình rất ít chat.

Phạm Doãn Lê Bình  26

sao cứ chê TTCN không vậy, em thấy đây là 1 trang rất hay. Ngày nào em cũng vào đây xem tin tức về công nghệ và ở đây có rất nhiều tin có ích. Chuyện giao diện chưa được bắt mắt thì em thấy đâu đúng, với lại giao diện đơn giản thì càng dễ sự dụng chứ. Nói túm lại thì đây là 1 trang yêu thích

Bùi Anh Tuấn  624

@unknow: mình đề cử bạn nên dùng WP đi bạn ! tuyệt cú mèo !

ban đầu mình cũng loay hoay như bạn, congdongthongtin.com hiện đang dùng WP, không thấy phiền toái gì

voz.vn cũng thế !

Bùi Anh Tuấn  624

@Bình: bác muốn đánh giá giao diện TTCN với các trang khác thì chịu khó đi vài vòng các trang dùng joomla đi nhé !

đẹp đồng nghĩa với phức tạp à ?

unknown

Thanks cdtt...Trang bạn để theme nhìn hơi rối...Host bạn đâu thế?WP chịu tải tốt chứ?có hay overload?

Nguyễn Đức Dũng

Cám ơn!

Bài viết rất hay.Cám ơn bạn nhiều.

Bùi Anh Tuấn  624

@unknow: rối hả ? tùy mỗi người thích thôi, cái này cũng dễ mà, cầm nó lên muốn nhét vào chỗ nào chẳng được.

làm giao diện thì bác phải nghiên cứu CSS thêm, không theme nào có sẵn mà thỏa mãn nhu cầu cá nhân đâu

em dùng cheaphost của PAVietnam

quá tải hay không là do bác trình bày nội dung, code, và giới hạn CPU của host, đâu phải do CMS

bác chơi host riêng thì vô tư chuyện quá tải

Phạm Doãn Lê Bình  26

@cdtt.com: em đã đi nhiều vòng các trang về thông tin rồi và chỉ ưng ý mỗi trang TTCN thôi. Lần đầu tiên thấy nó em đã ưng rồi. Giao diện đơn giản, dễ nhìn, phần mềm tương đối sạch, hay cung cấp các thông tin khuyến mãi, bài viết hay...Em thử vào trang CDTT của bác rồi. Điều đầu tiên em nhận thấy là nhức mắt và nhức đầu, trông cứ như là 1 nồi thập cẩm. Em nói thẳng, thích hay không thích là quan điểm của mỗi người, mong bác đừng giận.

Bùi Anh Tuấn  624

@Bình: cũng có thể ! nhưng số người chê như bác ít hơn người khen !!!

cũng như TTCN thôi, ai cũng khen có mình em chê !

em chẳng giận bác chê bao giờ ! nồi lẫu thập cẩm thì đúng ! nhưng thập cẩm thì không có tội ! bác vào vnexpress, 24h nó lẩu, có thập cẩm không ?

nhức đầu nhức mắt là vì bác dùng độ sáng/contrast quá cao
em đây ngồi post bài cho nó có sao đâu, tuy nhiên em cũng sẽ tiếp thu, điều chỉnh !

nội dung TTCN em không có chê, e, chỉ chê giao diện (nền tiêu đề nhìn không bắt mắt, cái logo thấy quê quê, cái top background thì chẳng ăn nhập gì với 1 site tin tức công nghệ)

site em, nhiều người đã khen hình thức lẫn nội dung, còn bác chỉ thấy chê hình thức, nội dung không nghe nói đến (chắc là chê nốt)

TTCN lần đầu tiên em thấy đã ghét, càng đi vào khám phá càng ghét hơn !!!

unknown

@cdtt:cho mình hỏi muốn gép widget categories+archive trong 1 widget thì làm sao nhỉ?

unknown

Bạn Nam cho mình hỏi là trên WP có PLugin nào mà khi paste baòi viết thì nó tự load ảnh về ko?load ảnh về server mình muốn ấy chứ ko phải là vào thư mục upload của WP đâu...như load về ms.ttcn.com ấy?thanks

unknown

up sọt...............

club penguin cheats

Tuy nhiên,

Tuy nhiên, thực tế có thể khác, thí dụ hai site hoàn chỉnh, chức năng tương đương, thì có thể site này phải cài nhiều module/plug-in hơn site kia. Và chất lượng của các module cũng ảnh hưởng khá lớn.

Hải Nam  30903

Giờ mới thấy câu hỏi của @unknown, ngay dịp đi chơi nên không vào TTCN thường xuyên. WP mình ít dùng nên không biết plugin đó, nhưng chắc là có thôi. Và muốn load về đâu thì bạn tự chỉnh. PHP có hỗ trợ copy qua ftp đó.

@club penguin cheats: bạn nói rất chính xác, vì vậy rất khó so sánh hiệu suất chung chung. Chỉ có thể làm và cảm nhận cho từng trường hợp cụ thể mà thôi. Sau khi chọn nền tảng xong (như Facebook chọn PHP thay vì C++ chẳng hạn), thì tiếp đến là tối ưu hiệu suất cho nó.

unknown

@HN:Mình đang tìm hiểu drupal.có 1 site DP chạy trêm VPS.Mình có 2 câu hỏi:
1.Có thể chia vps mình ra 1 cái chạy âpche,1 phần cài mod chạy back-end chứa statict file(images...)như lighttpd,nginx trên sub-domain?
2.Dùng module get_images có thể đưa images này vào sub-domain nằm trên server,vps chứa file dc ko?Giúp mình cấu hình với?Cả trên module lẫn drupal core nhé.
Thanks!

Hải Nam  30903

1. Được, nếu bạn có 2 IP. Không thì phải dùng port khác 80 cho static. Nếu static content làm bạn lo lắng, thì có thể dùng tạm http://bit.ly/dyx9zF chất lượng cũng được (TTCN dùng nó trong các thời điểm khó khăn), không tốn tài nguyên máy chủ, lại miễn phí.

2. Nếu 2 site nằm chung 1 máy chủ, thì bạn có thể mount (bind, chứ dùng symlink thì đôi khi gặp lỗi khi xử lí path) thư mục sites/default/files sang chỗ khác, đang dùng trên site static. Nếu không nằm chung thì bạn thêm 1 lệnh copy nữa (copy($src, 'http://bit.ly/cA57Io')). Nhưng đôi khi bạn còn upload file bằng nhiều cách, nên dễ nhất là dùng rsync để đồng bộ dữ liệu (5 phút 1 lần).

unknown

Thanks HN.
Nhưng sau khi dùng rsync đồng bộ thì url file image trong drupal có thể đồng bộ?nếu ko thì làm cách nào đồng bộ dc?cú pháp chạy rsync thế nào?
Tìm dc 1 số bài viết về Serving static content for drupal hay:
http://bit.ly/bdL8Jv
http://bit.ly/9Y1Bfk

Hải Nam  30903

Bài trên lullabot mình đọc khá lâu rồi. Bài ở xdeb rất hay và chi tiết, giờ mới được đọc. Bạn có thể theo hướng dẫn đó. Việc sửa lại url, nếu dùng imagecache thì có thể tận dụng sự đa hình trong hệ thống template để sửa, như ở xdeb hướng dẫn. Còn không dùng imagecache thì dùng filter để sửa lại nội dung. Filter này đơn giản, mình nghĩ cũng có người làm rồi, cụ thể thì không rõ, vì kế hoạch làm Drupal hiện tại của TTCN là xong phần cơ bản đã, quyết định xong các module hình ảnh rồi mới tính phần tối ưu sau. Mà dự định trước mắt là 100% dùng imagecache và image_resize_filter (cả các bài mới và cũ), nên nói chung đơn giản.

Bùi Anh Tuấn  624

zậy là TTCN âm mưu hất cẳng Joomla luôn hả ta, thay đổi cả platform luôn gê zị ta ? mình rất thích sự đổi mới !

một cuộc di cư hoành tráng về tân thế giới đê !

hi vọng là sẽ có gì đó hay ho !!!

unknown

Sao DP ko có module nào tự tạo thumb(từ link ảnh bất kỳ đầu tiên trong bài viết) dc nhỉ?Joomla có mà.Còn images cho teaser thì có thể dùng image cache+ teaser thumbnail(http://bit.ly/9V0kuD),Tự động lấy từ imagescache ko phải upload!
Cho mình hỏi câu này:
Nhưng sau khi dùng rsync đồng bộ thì url file image trong drupal có thể đồng bộ?nếu ko thì làm cách nào đồng bộ dc?cú pháp chạy rsync thế nào?