Bối cảnh và vấn đề nghiên cứu

Khóa luận tốt nghiệp "Tìm hiểu về Joomla và lập trang web cho một trường học" (tiêu đề trong văn bản: "Tìm hiểu về Joomla và xây dựng một website về trường học") được thực hiện bởi sinh viên Đặng Đình Thông, dưới sự hướng dẫn của T.S Nguyễn Đăng Minh tại Khoa Công nghệ thông tin, Trường Đại học Hòa Bình (Hà Nội, tháng 06/2016).

Về bối cảnh thực tiễn, tác giả chỉ ra rằng Công nghệ thông tin đã trở thành ngành kinh tế - kỹ thuật mũi nhọn, đóng vai trò tất yếu trong việc đáp ứng các nhu cầu kinh tế, văn hóa và xã hội tại Việt Nam. Cùng với sự phát triển của mạng Internet, dịch vụ website trở thành phương tiện phổ biến nhất để thu hẹp khoảng cách địa lý và truyền tải thông tin. Trong bối cảnh số lượng trường đại học tại Việt Nam phát triển nhanh chóng, nhu cầu thiết lập một website để giới thiệu, quảng bá thông tin nhà trường, đồng thời làm cầu nối tương tác giữa cơ sở giáo dục với giảng viên, phụ huynh và học sinh - sinh viên trở thành một giải pháp tối ưu. Để giải quyết bài toán này, các hệ quản trị nội dung mã nguồn mở (CMS), đặc biệt là Joomla, được tác giả lựa chọn nhờ khả năng tùy biến giao diện, hỗ trợ đa ngôn ngữ, chi phí thấp và phù hợp cho các hệ thống có quy mô truy cập đa dạng.

Mục tiêu và nhiệm vụ nghiên cứu của đề tài được xác định theo 3 trọng tâm chính:

  1. Nghiên cứu tổng quan về phần mềm mã nguồn mở (FOSS) và nền tảng quản trị nội dung Joomla: làm rõ lịch sử hình thành, kiến trúc kỹ thuật 3 tầng, các thế hệ phiên bản, ưu điểm và hạn chế của hệ thống.
  2. Khảo sát và phân tích chi tiết các phân hệ quản trị cốt lõi trong Joomla: bao gồm cấu hình hệ thống, quản lý người dùng và phân quyền, quản lý trình đơn (menu), phân cấp danh mục, biên tập bài viết, các thành phần mở rộng (components, modules, plugins) và giao diện mẫu (templates).
  3. Ứng dụng thực nghiệm nền tảng Joomla để thiết kế, cài đặt, cấu hình và hoàn thiện một trang web thông tin hoàn chỉnh cho một trường học trên môi trường máy chủ cục bộ (localhost) và chuẩn bị quy trình đưa lên máy chủ Internet (host server).

Đối tượng và phạm vi nghiên cứu:

  • Đối tượng nghiên cứu: Hệ quản trị nội dung mã nguồn mở Joomla (trọng tâm là phiên bản Joomla 2.5), gói công cụ máy chủ tích hợp XAMPP và mô hình cấu trúc website thông tin phục vụ cơ sở giáo dục đại học.
  • Phạm vi không gian: Triển khai thử nghiệm kỹ thuật trên môi trường máy chủ ảo cục bộ (localhost) sử dụng hệ điều hành cá nhân, sau đó mở rộng cấu hình hướng đến việc xuất bản trên dịch vụ lưu trữ web công cộng (web hosting).
  • Phạm vi thời gian: Khóa luận được hoàn thành vào tháng 06 năm 2016, tổng hợp dữ liệu lịch sử và kỹ thuật của hệ sinh thái phần mềm nguồn mở tính đến thời điểm thực hiện đề tài.

Cơ sở lý thuyết và phương pháp

Khung lý thuyết của đề tài dựa trên các nguyên lý về phần mềm nguồn mở, hệ quản trị nội dung (CMS) và các tiêu chuẩn của nền tảng Web 2.0:

  • Phần mềm mã nguồn mở (PMNM/FOSS): Phần mềm cung cấp cả mã và nguồn, miễn phí bản quyền và cho phép người dùng quyền sửa đổi, cải tiến, phát triển theo giấy phép công cộng chung GNU (General Public License - GPL).
  • Hệ quản trị nội dung Joomla: Nền tảng được phát triển trên ngôn ngữ kịch bản máy chủ PHP, kết nối hệ quản trị cơ sở dữ liệu MySQL, hoạt động theo giấy phép GNU/GPL. Joomla kế thừa và đáp ứng 7 đặc tính cơ bản của Web 2.0: web đóng vai trò nền tảng chạy mọi ứng dụng, tập hợp trí tuệ cộng đồng, dữ liệu giữ vai trò then chốt, phần mềm phân phối dạng dịch vụ web được cập nhật liên tục, phát triển nhanh chóng, vận hành trên nhiều thiết bị và giao diện phong phú.
  • Kiến trúc hệ thống 3 tầng của Joomla:
    • Tầng nền tảng (Platform layer): Chứa hệ thống thư viện lõi và các phần mềm nhúng (plugins/mambots).
    • Tầng ứng dụng (Application layer): Chứa lớp ứng dụng JApplication, chia thành 3 lớp con gồm JInstallation (tiến trình cài đặt), JAdministrator (trang quản trị BackEnd) và JSite (giao diện người dùng FrontEnd).
    • Tầng mở rộng (Extension layer): Nơi thực thi và hiển thị các thành phần chức năng mở rộng gồm components, modules và templates.

Phương pháp nghiên cứu thực tế được tác giả áp dụng:

  • Phương pháp phân tích và tổng hợp lý thuyết: Thu thập tài liệu chuyên khảo, tài liệu API chính thức của Joomla, tổng hợp các báo cáo thống kê công nghệ để đánh giá tính khả thi của giải pháp mã nguồn mở.
  • Phương pháp thực nghiệm kỹ thuật: Cài đặt và thiết lập môi trường máy chủ phát triển cục bộ bằng XAMPP (Apache, MySQL, PHP, Perl); thực hiện cấu hình cơ sở dữ liệu với bộ mã UTF-8; triển khai mã nguồn gói phân phối Joomla; cấu hình trực tiếp các phân hệ quản trị nội dung và tích hợp công cụ trao đổi trực tuyến.

Nguồn dữ liệu sử dụng trong văn bản:

  • Dữ liệu thống kê của Netcraft (tháng 12/2004) về thị phần máy chủ web toàn cầu và độ ổn định của máy chủ Apache.
  • Số liệu khảo sát thực trạng ứng dụng phần mềm mã nguồn mở tại các doanh nghiệp Việt Nam.
  • Gói phần mềm mã nguồn mở chính thức: Joomla_2.5.27-Stable-Full_Package.zip từ kho lưu trữ Joomlacode.
  • Bộ công cụ phần mềm tích hợp XAMPP từ Apache Friends.

Thiết kế và triển khai

Là một đồ án xây dựng hệ thống phần mềm và website ứng dụng, toàn bộ kiến trúc kỹ thuật và quy trình triển khai được tác giả thực hiện qua các thông số và công đoạn cụ thể:

Thành phần kỹ thuật Thông số / Công cụ sử dụng Vai trò trong hệ thống
Môi trường máy chủ XAMPP (Apache, MySQL, PHP, Perl) Giả lập máy chủ web cục bộ trên máy tính cá nhân
Nền tảng CMS Joomla! 2.5.27 Stable Full Package Hệ quản trị nội dung nguồn mở điều khiển toàn bộ website
Cơ sở dữ liệu MySQL (thông qua phpMyAdmin) Tên cơ sở dữ liệu: school; Bảng mã: utf8_general_ci
Máy chủ web Apache HTTP Server Giao tiếp và xử lý các giao thức HTTP
Ngôn ngữ phía Server PHP Xử lý kịch bản, logic ứng dụng và kết nối cơ sở dữ liệu
Công cụ hỗ trợ trực tuyến Subiz Live Chat Tích hợp tiện ích hội thoại trực tiếp cho ban quản trị và khách truy cập

Quy trình triển khai kỹ thuật được chia thành các bước tuần tự:

  1. Thiết lập máy chủ cục bộ: Cài đặt gói XAMPP vào phân vùng mặc định C:\xampp, tùy chọn các thành phần cốt lõi (bỏ chọn các gói phụ trợ không cần thiết như Bitnami), kích hoạt hai dịch vụ Apache và MySQL thông qua XAMPP Control Panel.
  2. Chuẩn bị cơ sở dữ liệu: Truy cập phpMyAdmin tại địa chỉ http://localhost/phpmyadmin/, tạo cơ sở dữ liệu mới với tên gọi school, chọn đối chiếu mã hóa ký tự utf8_general_ci.
  3. Thiết lập mã nguồn: Tải gói Joomla_2.5.27-Stable-Full_Package.zip, giải nén vào thư mục C:\xampp\htdocs\uschool.
  4. Quy trình cài đặt Joomla qua trình duyệt (7 bước):
    • Bước 1 (Language): Lựa chọn ngôn ngữ cài đặt English (United Kingdom).
    • Bước 2 (Pre-installation Check): Kiểm tra tương thích hệ thống giữa yêu cầu đề nghị (Recommended) và thông số thực tế (Actual).
    • Bước 3 (License): Xác nhận chấp thuận điều khoản bản quyền GNU GPL.
    • Bước 4 (Database Configuration): Khai báo Database Type (mysql), Host Name (localhost), Username (root), Password (để trống theo mặc định của máy chủ cục bộ), Database Name (school) và thiết lập tiền tố bảng (table prefix).
    • Bước 5 (FTP Configuration): Cấu hình đường dẫn và cổng FTP (tùy chọn bỏ qua trên máy chủ nội bộ).
    • Bước 6 (Main Configuration): Khai báo tên website (Site Name), thông tin hộp thư điện tử và mật khẩu của quản trị viên cấp cao (Super User), cài đặt dữ liệu mẫu mặc định (sample data).
    • Bước 7 (Finish): Hoàn tất tiến trình và kích hoạt lệnh xóa thư mục cài đặt (Remove installation folder) nhằm bảo đảm an toàn hệ thống.
  5. Cấu hình giao diện và phân hệ quản trị: Tùy chỉnh Global Configuration, thiết lập Cache Time và Session Lifetime mặc định ở mức 15 phút, cài đặt gói template trường học, tùy chỉnh Style, cấu hình thanh trình chiếu hình ảnh (Slide Show), cài đặt mã nhúng Subiz Live Chat và chuẩn bị cấu hình đẩy hệ thống lên host server.

Nội dung chính theo từng chương

CHƯƠNG I: GIỚI THIỆU CHUNG VỀ PHẦN MỀM MÃ NGUỒN MỞ

Chương này tập trung làm rõ bản chất pháp lý và giá trị kinh tế của phần mềm nguồn mở. Tác giả nhấn mạnh mã nguồn mở không chỉ miễn phí về giá mua mà cốt lõi là miễn phí về bản quyền, cho phép người dùng quyền can thiệp, sửa đổi và nâng cấp mã nguồn theo giấy phép GNU GPL. Về mặt lịch sử, sự kiện năm 1999 khi sản phẩm GNU/Linux Red Hat gặt hái thành công thương mại lớn đã khẳng định vị thế của phong trào mã nguồn mở trên toàn cầu.

Tác giả đưa ra các luận điểm và số liệu quan trọng chứng minh lợi ích của việc chuyển đổi sang phần mềm nguồn mở:

  • Giảm tổng chi phí sở hữu: Giúp tổ chức tiết kiệm khoảng 75-80% chi phí so với phần mềm có bản quyền (license) ngay trong năm đầu tiên sử dụng; miễn phí hoàn toàn chi phí bản quyền và chi phí nâng cấp các phiên bản tiếp theo trong toàn bộ vòng đời sản phẩm.
  • Tận dụng tài nguyên phần cứng: Kéo dài thời gian sử dụng và tái sử dụng các trang thiết bị cũ mà vẫn duy trì hiệu năng của hệ thống.
  • Thống kê ứng dụng quốc tế: Dẫn số liệu từ Netcraft (tháng 12/2004) cho thấy 68% website trên thế giới hoạt động trên máy chủ Apache, trong khi máy chủ IIS của Microsoft chỉ chiếm 21%; có tới 47 trong số 50 website có thời gian sống (uptime) lâu nhất trên toàn cầu vận hành trên nền tảng máy chủ Apache.
  • Thực trạng tại Việt Nam: Tác giả dẫn số liệu khảo sát thực tế cho thấy 78% doanh nghiệp Việt Nam xác nhận đã sử dụng phần mềm mã nguồn mở và 66% doanh nghiệp đã triển khai phần mềm nguồn mở vào các ứng dụng phục vụ khách hàng.

CHƯƠNG 2: TỔNG QUAN VỀ JOOMLA GIỚI THIỆU CÀI ĐẶT JOOMLA

Chương 2 trình bày chi tiết về sự ra đời, đặc tính công nghệ, kiến trúc và quy trình thiết lập Joomla. Tác giả tường thuật nguồn gốc của Joomla bắt đầu từ phần mềm Mambo của tập đoàn Miro Software Solutions (Úc). Sau khi Mambo chuyển sang mô hình bản quyền kép vào tháng 04/2001, tranh chấp pháp lý nảy sinh vào năm 2003 dẫn đến mâu thuẫn giữa cộng đồng phát triển và Quỹ tài trợ Mambo. Ngày 17/08/2005, trưởng nhóm Andrew Eddie cùng toàn bộ 20 thành viên nòng cốt đã rời dự án. Với sự hỗ trợ pháp lý từ Trung tâm Luật Tự do Phần mềm (SFLC), nhóm đã thành lập tổ chức phi lợi nhuận Open Source Matters. Tên gọi "Joomla!" (bắt nguồn từ từ "jumla" trong tiếng Swahili, mang ý nghĩa "đồng tâm hiệp lực") được công bố ngày 01/09/2005 và phiên bản Joomla 1.0 chính thức phát hành ngày 16/09/2005.

Tác giả phân tích tiến trình tiến hóa qua các thế hệ phiên bản của Joomla:

  • Dòng Joomla 1.x: Khởi đầu từ 1.0, phát triển mạnh mẽ về module/component/template và kết thúc tại phiên bản 1.0.15 (phát hành ngày 21/02/2008). Thế hệ thứ hai bắt đầu với Joomla 1.5 (21/01/2008), viết lại toàn bộ mã nguồn, hỗ trợ bảng mã UTF-8, chuyển sang dùng file .ini để bản địa hóa ngôn ngữ, ứng dụng công nghệ Web 2.0 cho khu vực quản trị, hỗ trợ xác thực LDAP/Gmail, kết nối MySQL 4.1+ và MySQL 5; phiên bản cuối cùng của dòng này là 1.5.26 (phát hành ngày 27/03/2012).
  • Dòng Joomla 1.6 và 1.7: Joomla 1.6 ra mắt ngày 10/01/2011 và kết thúc vòng đời ngắn ngủi tại bản 1.6.6 ngày 26/07/2011; Joomla 1.7 ra đời ngày 19/07/2011 và kết thúc vào ngày 24/02/2012 với bản 1.7.5 để chuyển giao sang thế hệ 2.5.
  • Dòng Joomla 2.5: Phát hành ngày 24/01/2012, bổ sung tính năng tự động cập nhật một chạm trong trang quản trị, tối ưu hóa SEO và phân quyền sâu; phiên bản ghi nhận tại thời điểm nghiên cứu là bản 2.5.6 (phát hành ngày 19/06/2012).
  • Dòng Joomla 3.x: Bắt đầu từ giai đoạn 3.0 Alpha-1 (12/07/2012) đến bản 3.3.1 (30/07/2014), cải tiến toàn diện giao diện người dùng dựa trên khung giao diện Twitter Bootstrap (HTML/CSS/JS), tích hợp thư viện jQuery song song với MooTools.

Về ưu điểm và hạn chế của Joomla, văn bản nêu rõ:

  • Ưu điểm: Tốc độ xây dựng website nhanh (chỉ mất vài chục phút để thiết lập trang web có đủ video, tin tức, giỏ hàng, diễn đàn); hệ thống giao diện phong phú (dẫn chứng công ty Joomlart của giám đốc người Việt với hơn 200.000 khách hàng toàn cầu); kho tiện ích mở rộng khổng lồ và cộng đồng hỗ trợ lớn (90% lỗi kỹ thuật đều có giải pháp trên các diễn đàn trực tuyến).
  • Nhược điểm: Kích thước mã nguồn lớn, tiêu tốn nhiều tài nguyên hệ thống hơn so với Drupal; việc cài đặt tiện ích từ các bên thứ ba tiềm ẩn rủi ro về lỗ hổng bảo mật (đòi hỏi phải trang bị thêm giải pháp tường lửa có trả phí); không hỗ trợ tính năng đa trang web (multisite) mặc định như Drupal; năng lực tối ưu hóa công cụ tìm kiếm (SEO) kém nhất khi so sánh với Drupal và WordPress; vận hành kém ổn định trên môi trường máy chủ Windows IIS.

Phần cuối chương 2 dành toàn bộ nội dung hướng dẫn quy trình cài đặt XAMPP, tạo cơ sở dữ liệu school và thực hiện 7 bước cài đặt gói Joomla_2.5.27 trên đường dẫn localhost/uschool.

CHƯƠNG III: CÁC THÀNH PHẦN CHÍNH TRONG JOOMLA

Chương này đi sâu vào việc khảo sát kiến trúc chức năng và cơ chế vận hành của trang quản trị BackEnd (localhost/uschool/administrator):

  • Cấu hình tổng thể (Global Configuration): Phân tích các thông số vận hành hệ thống, bao gồm mã khóa bảo mật (Secret), đường dẫn lưu vết hệ thống (Path to Log Folder), chế độ gỡ lỗi (Debug System, Debug Language), cơ chế lưu đệm bộ nhớ (Cache Time mặc định 15 phút, Cache Handler) và thời gian duy trì phiên làm việc (Session Lifetime mặc định 15 phút, Session Handler lưu trữ trong cơ sở dữ liệu).
  • Phân hệ quản lý người dùng (User Manager): Trình bày cơ chế bảo mật và phân quyền với tài khoản mặc định cao nhất là Super User. Hệ thống quản lý quyền truy cập được chia làm hai khu vực (FrontEnd và BackEnd) với các nhóm cụ thể:
Nhóm người dùng (User Group) Khu vực hoạt động Quyền hạn và giới hạn chức năng
Public FrontEnd Chỉ có quyền xem các bài viết công khai thông thường
Registered FrontEnd Kế thừa quyền Public, được xem thêm các bài viết dành riêng cho thành viên
Author FrontEnd Kế thừa Registered, được quyền tạo mới và chỉnh sửa bài viết của chính mình
Editor FrontEnd Kế thừa Author, được quyền chỉnh sửa tất cả bài viết của các tác giả khác
Publisher FrontEnd Kế thừa Editor, được quyền quyết định xuất bản hoặc dừng xuất bản bài viết
Manager BackEnd Được vào trang quản trị nhưng bị giới hạn: không được quản lý người dùng, không được cài đặt module/component/template/language, không được đổi cấu hình hệ thống và không dùng được tính năng Mass Mail
Administrator BackEnd Quản trị cấp cao nhưng không được can thiệp vào nhóm Super Users, không được cài template/language, không chỉnh cấu hình hệ thống và không gửi Mass Mail
Super Users BackEnd Nắm toàn quyền quản trị cao nhất, không thể bị xóa và không thể bị chuyển đổi sang nhóm khác
  • Phân hệ quản lý trình đơn (Menu Manager): Trình bày quy trình khởi tạo menu, liên kết menu với một module để định vị trí hiển thị (Position) trên bản mẫu giao diện (Template), tạo mới các mục trình đơn (Menu Item) dẫn tới các dạng hiển thị khác nhau như bài viết đơn lẻ (Single Article) hoặc danh mục bài viết.
  • Phân hệ quản lý danh mục (Category Manager): Trình bày phương thức thiết lập danh mục cha và các danh mục con lồng nhau (Subcategory), cấu hình bí danh (Alias), quyền truy cập (Access: Public, Registered, Special) và trạng thái xuất bản.
  • Phân hệ quản lý bài viết (Article Manager): Quy định các thao tác tạo mới bài viết, phân loại vào chuyên mục, chỉ định bí danh tự động nối dấu gạch ngang, thiết lập trạng thái xuất bản, chọn bài viết tiêu biểu (Featured), ấn định ngày bắt đầu (Start Publishing) và ngày kết thúc hiển thị (Finish Publishing), tạo điểm ngắt trích dẫn bằng công cụ "Read more".
  • Các phân hệ mở rộng khác: Văn bản giới thiệu tổng quan về Media Manager (quản lý tập tin hình ảnh/đa phương tiện), các Components (quản lý liên hệ Contact, tin nhắn Messaging, nguồn cấp tin Newsfeeds, chuyển hướng URL Redirect, tìm kiếm nâng cao Smart Search, quản lý liên kết Weblink), Extension Manager, Module Manager, Plugins Manager, Template Manager (quản lý kiểu dáng, xem vị trí module) và Language Manager (hướng dẫn tích hợp gói ngôn ngữ tiếng Việt).

CHƯƠNG 4: ỨNG DỤNG JOOMLA ĐỂ TẠO 1 WEBSITE VỀ TRƯỜNG HỌC

Nội dung chương 4 tập trung vào các bước thực hành xây dựng cổng thông tin nhà trường từ nền tảng đã cài đặt:

  • Cấu hình lại các thông số hệ thống phù hợp với danh xưng và thông tin của cơ sở giáo dục.
  • Cài đặt bản mẫu giao diện (template) chuyên dụng cho trường học, tiến hành tùy chỉnh kiểu dáng giao diện (Style), cấu hình các thuộc tính cơ bản (Basic Options) và tích hợp phân hệ trình diễn ảnh động (Slide Show) ở đầu trang web để giới thiệu các hoạt động nổi bật.
  • Thiết lập sơ đồ điều hướng: tạo hệ thống Menu chính (Main Menu), các Menu phụ (Submenu) và tùy biến lại khối menu điều hướng ở cột bên trái website.
  • Khởi tạo cây danh mục (Categories/Subcategories) và biên tập nội dung bài viết về các phòng ban, khoa đào tạo, thông báo tuyển sinh và tin tức nội bộ.
  • Tích hợp công cụ tương tác: cài đặt tiện ích Subiz Live Chat vào website nhằm thiết lập kênh hỗ trợ, giải đáp thông tin trực tiếp giữa cán bộ tuyển sinh/nhà trường với người học.
  • Chuẩn bị chuyển giao: hướng dẫn phương pháp đăng ký dịch vụ lưu trữ máy chủ (hosting miễn phí hoặc có trả phí) và quy trình di chuyển toàn bộ cơ sở dữ liệu cùng mã nguồn từ máy chủ nội bộ lên máy chủ Internet.

CHƯƠNG 5: KẾT QUẢ THU ĐƯỢC

Chương này đánh giá kết quả thực tế của đề tài: tác giả đã xây dựng thành công một website trường học hoạt động ổn định trên môi trường máy chủ thử nghiệm, hoàn thành đầy đủ các yêu cầu về hiển thị giao diện, điều hướng chuyên mục, xuất bản bài viết và tích hợp kênh tương tác trực tuyến cho người sử dụng.

CHƯƠNG 6: TÀI LIỆU THAM KHẢO

Liệt kê danh mục các nguồn tư liệu học thuật, tài liệu kỹ thuật trực tuyến của cộng đồng Joomla quốc tế, các thống kê dịch vụ web và tài liệu hướng dẫn mã nguồn mở được tác giả trích dẫn trong toàn bộ khóa luận.

Kết quả và đóng góp

Về kết quả kỹ thuật cụ thể:

  • Cài đặt và cấu hình hoàn chỉnh hệ thống quản trị nội dung mã nguồn mở Joomla phiên bản 2.5.27 trên môi trường phát triển XAMPP (Apache, MySQL, PHP) với cơ sở dữ liệu school sử dụng bảng mã utf8_general_ci.
  • Thiết lập hệ thống phân cấp người dùng 8 bậc theo đúng chuẩn kỹ thuật của Joomla, phân định ranh giới giữa việc biên tập ngoài FrontEnd (Public, Registered, Author, Editor, Publisher) và quyền can thiệp hệ thống tại BackEnd (Manager, Administrator, Super User).
  • Thiết lập hoàn chỉnh cấu trúc website trường học gồm thanh trình chiếu ảnh (Slide Show), hệ thống menu đa tầng (Menu, Submenu, menu bên trái), cây danh mục tin tức và tích hợp thành công công cụ hỗ trợ trực tuyến Subiz Live Chat.

Giải pháp và kiến nghị của tác giả:

  • Kiến nghị các đơn vị giáo dục và doanh nghiệp đẩy mạnh ứng dụng phần mềm mã nguồn mở nhằm tiết kiệm từ 75-80% tổng chi phí bản quyền trong năm đầu sử dụng, giảm phụ thuộc vào các hãng phần mềm thương mại độc quyền.
  • Khuyến cáo các quản trị viên web cần thận trọng khi lựa chọn cài đặt các extension từ bên thứ ba do nguy cơ tiềm ẩn về lỗ hổng bảo mật, đồng thời cần cân nhắc trang bị thêm các giải pháp tường lửa (firewall) để bảo vệ hệ thống.

Đóng góp của khóa luận:

  • Hệ thống hóa các kiến thức lý luận cơ bản về phần mềm nguồn mở, lịch sử phân tách dự án từ Mambo sang Joomla và các đặc tính kỹ thuật của các dòng phiên bản Joomla (từ 1.0 đến 3.x).
  • Cung cấp tài liệu hướng dẫn kỹ thuật thực nghiệm chi tiết từng bước (step-by-step) có hình ảnh minh chứng thực tế, hỗ trợ người mới tiếp cận dễ dàng thực hiện việc cài đặt XAMPP, quản trị cơ sở dữ liệu qua phpMyAdmin và làm chủ hệ quản trị nội dung Joomla 2.5.

Hạn chế và hướng nghiên cứu tiếp

Hạn chế của đề tài (theo ghi nhận của tác giả trong văn bản):

  • Do giới hạn về mặt thời gian làm đồ án tốt nghiệp, tác giả chưa thể truyền tải và khai thác hết các ý tưởng, kiến thức chuyên sâu và kỹ thuật phức tạp của nền tảng Joomla vào sản phẩm website.
  • Nền tảng Joomla tiêu tốn tài nguyên hệ thống nhiều hơn so với Drupal và khả năng hỗ trợ máy chủ Windows IIS chưa tối ưu, đòi hỏi cấu hình phần cứng phù hợp khi nâng quy mô người dùng.

Hướng nghiên cứu và phát triển tiếp:

  • Tiến hành cập nhật và nâng cấp website lên các phiên bản Joomla thế hệ cao hơn (như dòng Joomla 3.x đã tích hợp khung giao diện Twitter Bootstrap và thư viện jQuery) để tăng cường trải nghiệm người dùng trên thiết bị di động.
  • Triển khai chính thức hệ thống từ môi trường localhost lên máy chủ web trực tuyến (host server) có tên miền riêng, hoàn thiện các giải pháp an toàn bảo mật và tường lửa để phòng ngừa lỗi từ các tiện ích mở rộng.

Giá trị tham khảo

Khóa luận là tài liệu tham khảo hữu ích cho:

  • Sinh viên chuyên ngành Công nghệ thông tin, Hệ thống thông tin và Công nghệ phần mềm đang tìm kiếm tài liệu thực hành về xây dựng ứng dụng web bằng mã nguồn mở hoặc làm đồ án tốt nghiệp về hệ quản trị nội dung (CMS).
  • Cán bộ kỹ thuật, quản trị mạng tại các trường học, cơ sở giáo dục hoặc doanh nghiệp vừa và nhỏ có nhu cầu tự triển khai cổng thông tin điện tử với chi phí tối ưu.

Phần nội dung có giá trị tham khảo cao nhất trong văn bản là Chương 2 và Chương 3: quy trình chi tiết 7 bước thiết lập Joomla trên môi trường máy chủ ảo XAMPP, bảng phân quyền chi tiết 8 nhóm người dùng trong User Manager và kỹ thuật liên kết Menu Item với Module để định vị trí hiển thị trên giao diện Template.

Câu hỏi thường gặp

  1. Tác giả khóa luận sử dụng phiên bản Joomla và công cụ máy chủ nào để triển khai thực nghiệm? Tác giả sử dụng gói phân phối Joomla_2.5.27-Stable-Full_Package.zip, cài đặt trên môi trường máy chủ cục bộ XAMPP tích hợp sẵn Apache, PHP, Perl và hệ quản trị cơ sở dữ liệu MySQL (quản lý qua phpMyAdmin với cơ sở dữ liệu tên là school, đối chiếu mã utf8_general_ci).

  2. Theo văn bản, việc ứng dụng phần mềm mã nguồn mở mang lại lợi ích kinh tế như thế nào? Văn bản nêu rõ việc chuyển đổi sang phần mềm mã nguồn mở giúp tiết kiệm khoảng 75-80% tổng chi phí sở hữu so với việc mua giấy phép phần mềm thương mại ngay trong năm đầu tiên, đồng thời miễn phí hoàn toàn chi phí bản quyền nâng cấp trong suốt vòng đời sử dụng sản phẩm và giảm thiểu việc phải thay mới thiết bị phần cứng.

  3. Sự khác biệt về quyền hạn giữa nhóm Manager, Administrator và Super Users trong BackEnd của Joomla là gì? Nhóm Manager được vào trang quản trị nhưng không được quản lý người dùng, không được cài đặt module/component/template/ngôn ngữ và không được đổi cấu hình hệ thống; nhóm Administrator được thực hiện hầu hết các tác vụ trừ việc can thiệp vào nhóm Super Users, không được cài đặt template/ngôn ngữ và không được sửa cấu hình hệ thống; nhóm Super Users nắm giữ toàn quyền cao nhất, không thể bị xóa và không thể bị chuyển đổi nhóm.

  4. Tác giả đã tích hợp công cụ tương tác trực tiếp nào vào website trường học? Tác giả đã cài đặt và cấu hình công cụ Subiz Live Chat vào website nhằm cung cấp tính năng hội thoại trực tuyến giữa ban quản trị nhà trường và khách ghé thăm trang web.

  5. Nhược điểm lớn nhất của hệ quản trị nội dung Joomla được tác giả chỉ ra là gì? Joomla có dung lượng mã nguồn tương đối lớn làm tiêu tốn tài nguyên hệ thống hơn Drupal; các tiện ích mở rộng (extensions) từ bên thứ ba tiềm ẩn rủi ro về lỗ hổng bảo mật nếu không có tường lửa bảo vệ; khả năng hỗ trợ SEO kém hơn WordPress và Drupal; không hỗ trợ tính năng đa trang web mặc định và không vận hành tối ưu trên máy chủ Windows IIS.

Kết luận

Khóa luận tốt nghiệp của sinh viên Đặng Đình Thông đã hệ thống hóa đầy đủ cơ sở lý luận về phần mềm mã nguồn mở cùng kiến trúc kỹ thuật của hệ quản trị nội dung Joomla. Thông qua quá trình thực nghiệm bài bản trên môi trường máy chủ XAMPP, tác giả đã xây dựng thành công một website trường học có giao diện trực quan, cấu trúc phân quyền chặt chẽ và tích hợp các kênh tương tác trực tuyến thiết thực. Đề tài phản ánh đúng quy trình phát triển một giải pháp cổng thông tin giáo dục với chi phí thấp bằng công nghệ mã nguồn mở tại thời điểm năm 2016.