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)
Hải Nam  30903

Trả lời mấy câu hỏi của unknow:

- Nếu bạn dùng imagecache, bạn sẽ được chọn preset khi hiển thị ở full và ở thumbnail (chỉ hiển thị teaser) như cái module đã nói. Còn tự tạo thumb cho bài viết để làm gì? Cái module đó hỗ trợ Views mà. Thực sự cần thiết thì bạn chỉ cần lấy lại code của module đó (lọc image từ text, rồi cho qua imagecache).

- "Đồng bộ” url: 2 link bạn đưa ra có chỉ cách làm rồi.

- Rsync: trên Internet có khá nhiều hướng dẫn. Cú pháp đơn giản để đồng bộ src sang dst như sau: rsync -av path/to/src path/to/dst. Nếu lưu hẳn ở máy khác thì bạn tìm hiểu thêm rsync với tunnel ssh và dùng public key auth trong ssh.

unknown

-Tự tạo thumb thì chỉ cần coppy toàn bộ bài viết,paste vào là tự load ảnh về server+tự tạo 1 thumb cho teaser luôn...Mình khỏi upload lên nữa...
Rsync có thể chạy qua cron hả bạn?Dùng rsync nghĩa là move file từ thư mục mình chỉ định của drupal sang thư mục khác vhost,nhưng còn quá trình delay giữa 2 lần chạy rsync (5') thì link ảnh trên web sao nhỉ?

unknown

Khi load lên thì link ảnh sẽ là vhost khác:ms.ttcn.com...nhưng rsync chưa chạy thì sao trênn web hiện dc ảnh này nhỉ?

Hải Nam  30903

Thì các module ở trên đã làm mọi việc: tự lấy ảnh về (get_image), tự tạo thumb (teaserthumbnail) rồi mà? Còn rsync chạy với cron đương nhiên được, nó là đồng bộ thư mục chưa file, chứ không phải là move.

Chờ 5 phút đâu sao Wink Không thì thêm cái điều kiện 404 (not found) thì trỏ ngược lại server chính. Mấy cái này bạn tạo máy ảo và làm các bước ở 1 trong 2 bài trên là tự hiểu thôi.

unknown

Còn rsync chạy với cron đương nhiên được, nó là đồng bộ thư mục chưa file, chứ không phải là move.
Mình vẫn chưa hiểu đoạn này...
This tool lets you copy files and directories between a local host and a remote host (source and destination can also be local if you need.)
Nghía là mình coppy ấy chứ....Sau đó thì del file trên thư mục gốc đi nhỉ?toàn bộ link là trên vhost với port khác rồi?

Hải Nam  30903

Tại sao phải xóa nội dung gốc trong khi giá HDD giờ rất rẻ? Ngoài ra nếu xóa thì rất có thể một số module không hoạt động được. Ngoài ra, nếu move thì bạn có thể chọn giải pháp khác tốt hơn là rsync (sync = đồng bộ dữ liệu), dù rsync vẫn làm được việc move.

Hải Nam  30903

Hơn 2 năm sau bài viết này, TTCN sắp chuyển sang Drupal trong vòng 10 ngày nữa. Nhiều khả năng là trong 3-4 ngày tới Wink Đang kiểm tra những tính năng quan trọng nhất, đảm bảo không mất dữ liệu, không có lỗi bảo mật và không cần rollback, xong là chuyển ngay! Đã kiểm tra xong phần hiệu năng rồi.

Hiếu Tròn  25905

Phỏng vấn tại hiện trường: Tổng biên tập có thể cho biết, thay đổi lớn nhất của TTCN sau khi chuyển từ Joomla! sang Drupal là gì không ạ?

congdongthongtin.com

trời đất ạ ! phỏng vấn kiểu đó ai bật mí cho bác chứ ?

bây giờ nói ra thì con gì là bí mật ?

dù gì thì cũng chúc mừng TTCN một cái đi !

không chừng congdongthongtin.com sắp tới cũng chuyển qua Drupal bây giờ he he

Bùi Anh Tuấn  624

thông báo với bà kon là em đã chứng kiến tận mắt TTCN phiên bản drupal, chỉ có điều quá thất vọng vì không có gì nổi bật

Hải Nam  30903

Nhận xét rất chính xác. Những cái nổi bật phải sau đó nó mới đến, nhà mới dọn giờ trống không!

Bùi Anh Tuấn  624

mới hí hoái "sáng tác" một bài cảm nghĩ riêng về phiên bản mới, chỉ là cho vui, mong các bác TTCN không trách, hi vọng không nhiều người xem, nếu cả ngàn người kéo đến, site em sập, hết bandwidth thì khổ:

Lộ diện giao diện mới của thongtincongnghe.com: Thất vọng, chậm chạp và không có gì nổi bật, “buồn như con chuồn chuồn” !

Hải Nam  30903

Cảm ơn bài review của bạn nhiều Wink Điều đáng ngạc nhiên là toàn bộ nhận xét (trừ cái giao diện và category) sẽ không còn đúng vào thứ hai tuần sau. Thôi, thiên cơ bất khả lộ.

Bùi Anh Tuấn  624

thì em đã viết cuối bài: Có thể bản chính thức sẽ không như những gì tôi đã thấy.

và em cũng hi vọng là thế, chứ để như vậy mà ra mắt bà kon koi sao được chứ

và không lầm thì hôm nay là thứ 2, mà mọi thứ thì vũ như cẩn hic hic, thôi để ăn Tết xong ra mắt cho nó hoành
tráng bác Nam ạ, đã đợi chờ 2 năm, thêm 2 tuần nữa cũng chả bõ bèn gì

nikitavn2010

Không có cái gì là tuyệt đối cả

- Hiện tại mình dùng Joomla thì chưa hẳn mình sẽ mãi mãi dùng Joomla, những ai sử dụng sản phẩm khác cũng thế, điều quan trọng nhất là sử dụng nguồn nào phù hợp nhất cho mình. Với Joomla và Drupal, riêng về nhận định của mình thì kẻ tám lạng người nửa cân thôi. Có thể thời điểm hiện tại Drupal trội hơn Joomla. Nhưng Joomla vẫn đang liên tục cải tiến (đang phát triển 1.6) khắc phục những mặt chưa được của 1.5 cũng như tích hợp thêm nhiều tính năng mới để đáp ứng tốt hơn cho nhu cầu người sử dụng.

- Riêng về TTCN dường như đây là tờ báo điện tử, vì thế cũng cần cải tiến liên tục để phù hợp với "thời đại". Dù theo hướng nào đi nữa , mục tiêu cuối cùng của TTCN là chiếm được cảm tình bạn đọc, tăng số lưượng người xem...-> đấy là mục tiêu quan trọng và tối thượng

- Chúc TTCN ngày càng phát triển hơn nữa!!!

khoancatbetong.com

Thích Joomla! nhưng chọn dùng Drupal

Joomla! và Drupal đều có những thế mạnh của mình và cũng có những cái hở sườn. Hai điểm mà hai cái này (chỉ tính bản nguyên gốc cài đặt mặc định) chỏi nhau nhất đó là một bên thiên về sự thân thiện của GUI và đẹp về theme và nhắm vào CMS là chính - Joomla!, còn một bên thì nghiêng về xây dựng bộ khung, cung cấp vật liệu để xây dựng site - Drupal. Nhìn chung thì Joomla! tiện dụng và phục vụ phạm vi hẹp hơn Drupal, Drupal thì rắc rối để chinh phục nhưng phạm vi phục vụ rộng hơn. Còn về hiệu suất hoạt động khi dùng các phép benchmarking để đo đếm hai bên không hơn kém nhau bao nhiêu.

Mình chọn dùng Drupal, lý do như sau:

Và vì mình thích những cô gái mặc sản phẩm Triumph, Triumph có khẩu hiệu "Với Triumph tất cả là thời trang", vậy với Drupal khẩu hiệu sẽ là "Với Drupal, tất cả là node".

peter Pham

cần đưa thông tin chính xác

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

Mỗi khi đọc bài do bác Hải Nam này viết tôi phải suy nghĩ rất nhiều, bởi vì phải suy nghĩ xem cái nào đúng cái nào sai, vì bài viết của bác nhiều bài mang tính chủ quan quá lớn. giống như phát biểu trên. Đính chính lại là clip.vn xây dựng dựa trên mã nguồn clip share và design lại template. thậm chí thuở ban đầu nó dùng ngay chính cái template  default luôn.

Thiết nghĩ TTCN ngày một lớn mạnh,Những thông tin đưa lên cũng nên kiểm duyệt rõ ràng để tránh gây hiểu nhầm cho người đọc. Nhiều khi thấy bác Hải Nam viết như thế, rồi nhiều khi ngồi chém gió với bạn bè, cãi nhau mà không biết rằng mình đang cãi 1 vấn đề sai...

Còn chuyện Dùng CMS thì em vẫn thích Joomla Hơn,Thiếu phần nào thì mình tự viết thêm phần đó..Quan trọng hơn là ổn định. mỗi phiên bản có thời gian tồn tại rất lâu, Vì thế dễ cho những freelancer chúng em kiếm cơm hơn.

Vì em đã gặp nhiều bài bác đưa thông tin sai lệch rồi, nên mới góp ý một lần với bác. mong lần sau cẩn tắc hơn. Đừng chém em

Hải Nam  30903

Vì em đã gặp nhiều bài bác đưa thông tin sai lệch rồi, nên mới góp ý một lần với bác. mong lần sau cẩn tắc hơn.

Còn bài nào nữa vậy bạn? Đôi khi có nhút nhầm lẫn, nhưng đều đã sửa ngay sau đó.

bongdanhdanh

@peter Pham: Anh Hải Nam có nhiều bài biết chất lượng trên TTCN, thỉnh thoảng có điểm chưa chính xác cũng là bình thường. Cái quan trọng là thấy sai và sửa chữa  kịp thời. Nói ít mong bác hiểu nhiều, lần sau dùng đầu để suy nghĩ rồi hãy viết nhé.

Nguyễn Duy Tín  41

Mình cũng thích dùng Joomla Smile

bao an

kho hieu

các bác lạ nhỉ. cái báo này chỉ đọc rồi để đấy thôi chứ đừng tin vào nó

ơ nước ngoài những trang như này gọi là lá cải mà.

ko có kiểm duyệt gì cả. sai thì cứ del rồi lại sai tiếp

có thấy xin lỗi người đọc bao giờ đâu