Dựa trên khung sườn mạnh mẽ, cộng đồng Drupal đã xây dựng nên rất nhiều module hữu ích. Kết hợp các module này, rất có thể người dùng tạo thành các ứng dụng hoàn chỉnh mà không cần một chút công sức nào để lập trình.
Các bản phân phối Drupal (Installation Profile), ngoài các module hệ thống, nó còn bao gồm các module cộng thêm, với mục đích tạo ra môi trường web tương đối hoàn chỉnh cho các mục đích nhất định. Chúng ta có thể sử dụng các bản phân phối cho nhu cầu thực tế của chúng ta hoặc cũng có thể tham khảo chúng, để học hỏi sử dụng và cách kết hợp các module lại với nhau của cộng đồng.
Chúng ta thử đặt ra yêu cầu của một website trường, các chức năng yêu cầu có thể như sau:
- Hệ thống quản lý người dùng nhiều vai trò: giám hiệu, công nhân viên, sinh viên, ...
- Hệ thống xuất bản tin tức cho trường/khoa/lớp
- Lịch làm việc của trường/khoa/lớp
- Hệ thống phát thanh của trường/khoa/lớp
- Diễn đàn thảo luận trường/khoa/lớp/nhóm học tập
- Hệ thống lịch làm việc cho trường/khoa/lớp/nhóm học tập/cá nhân + cấp trên có thể sắp xếp công việc cho cấp dưới:
- văn phòng sắp lịch sinh hoạt ngoài giờ cho lớp học
- sắp lịch giảng dạy cho giáo viên
- ...
- Hệ thống wiki cho lớp/nhóm học tập
- Hệ thống blog cá nhân
- Hệ thống bookmark cho cá nhân
- Hệ thống quản lý tài liệu, tập tin cho lớp/nhóm học tập/cá nhân + có thể chia sẻ, ...
- ...
Trường học do bạn bạn quản lý sẽ tốn bao nhiêu tiền khi thuê một công ty phát triển phần mềm phát triển một ứng dụng web với các chức năng như trên? Biết cách sử dụng Drupal và các chức năng của nó, số tiền bỏ ra là 0. Thật vậy, chúng ta hoàn toàn có thể xây dựng các chức năng trên khi kết hợp các module cộng thêm:
Và đây cũng là cách mà Drupal-Ed(ucation) đã sử dụng.
:-)
Thế Hồng,