Sáng kiến kinh nghiệm Sử dụng phần mềm mã nguồn mở NukeViet thiết kế Website cho trường

Cơ sở lý luận:

Website gồm một hoặc nhiều trang web - một loại siêu văn bản (Siêu văn bản là văn bản tích hợp nhiều phương tiện khác nhau như: văn bản, hình ảnh, âm thanh, video, . . . và các liên kết tới các siêu văn bản khác. Siêu văn bản thường được tạo ra bằng ngôn ngữ đánh dấu siêu văn bản HTML) trong hệ thống WWW được tổ chức dưới một địa chỉ truy cập trên Internet. Trang web được mở ra đầu tiên khi truy cập Website được gọi là trang chủ (Homepage) của Website đó.

Đặc điểm tiện lợi của Website là thông tin dễ dàng cập nhật, thay đổi, người sử dụng có thể xem thông tin ngay tức khắc, ở bất kỳ nơi nào, tiết kiệm chi phí in ấn, gửi bưu điện, fax, thông tin không giới hạn (muốn đăng bao nhiêu thông tin cũng được, không giới hạn số lượng thông tin, hình ảnh.) và không giới hạn phạm vi khu vực sử dụng (toàn thế giới có thể truy cập).

Cơ sở thực tiễn:

Với thời đại bùng nổ thông tin và cao trào của cuộc cách mạng 4.0, nền giáo dục lại càng phải tỏ ra là ngành đi đầu của thời đại, chính vì vậy ngày 25 ngày 01 năm 2017 thủ tướng Chính phủ ban hành quyết định số 117/QĐ-TTg về việc tăng cường ứng dụng CNTT trong Giáo dục và đào tạo. Đồng thời, công văn số 3946/BGDĐT-CNTT về việc hướng dẫn nhiệm vụ CNTT năm học 2019-2020 của Bộ Giáo dục và Đào tạo ban hành ngày 30 tháng 8 năm 2019, đã chỉ đạo như sau: đẩy mạnh ứng dụng CNTT hỗ trợ đổi mới nội dung, phương pháp dạy và học, kiểm tra đánh giá trong tất cả các môn học. Phát động GV xây dựng bài giảng e- Learning, ngân hàng câu hỏi trực tuyến, tư liệu, tài liệu, sách điện tử đóng góp vào kho bài giảng e-Learning, ngân hàng câu hỏi trắc nghiệm trực tuyến, kho học liệu. góp phần đổi mới căn bản và toàn diện phương pháp giảng dạy, từng bước hình thành nguồn tài nguyên giáo dục mở phục vụ cho học sinh, giáo viên, cán bộ quản lý và phụ huynh HS có thể học, nghiên cứu mọi lúc, mọi nơi.

Vì vậy việc tạo ra Website để quản lý thông tin và quảng bá hình ảnh của trường học là một lựa chọn thông minh, phù hợp với xu thế phát triển của thời đại và yêu cầu của nền giáo dục nước nhà, đặc biệt là trong bối cảnh dịch bệnh Covid19 đang diễn biến rất phức tạp.

 

docx 52 trang Nhật Nam 03/10/2024 1320
Bạn đang xem 20 trang mẫu của tài liệu "Sáng kiến kinh nghiệm Sử dụng phần mềm mã nguồn mở NukeViet thiết kế Website cho trường", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Sáng kiến kinh nghiệm Sử dụng phần mềm mã nguồn mở NukeViet thiết kế Website cho trường

Sáng kiến kinh nghiệm Sử dụng phần mềm mã nguồn mở NukeViet thiết kế Website cho trường
khai các ứng dụng web từ nhỏ đến lớn một cách nhanh chóng và tiết kiệm: từ các website cá nhân cho tới các cổng thông tin điện tử; từ các gian hàng trực tuyến cho tới các mạng xã hội...
NukeViet là CMS mã nguồn mở đầu tiên của Việt Nam có quá trình phát triển lâu dài nhất, có lượng người sử dụng đông nhất. Hiện NukeViet cũng là một trong những mã nguồn mở chuyên nghiệp đầu tiên của Việt Nam, cơ quan chủ quản của NukeViet là VINADES.,JSC - đơn vị chịu trách nhiệm phát triển NukeViet và triển khai NukeViet thành các ứng dụng cụ thể cho doanh nghiệp.
Vài nét về lịch sử của NukeViet:
Quá trình phát triển của NukeViet đi từ tự phát cho đến chuyên nghiệp là một điển hình của con đường phát triển mã nguồn mở trên thế giới. NukeViet có quá trình phát triển từ năm 2004, Từ việc sử dụng sản phẩm PHP-Nuke để làm website cho cộng đồng người Việt xa xứ, Nguyễn Anh Tú - một lưu học sinh người Việt tại Nga - đã cùng cộng đồng Việt hóa, cải tiến thành NukeViet. Được sự đón nhận của đông đảo người sử dụng, NukeViet đã liên tục được phát triển và trở thành một ứng dụng thuần Việt. Cho đến phiên bản 3.0, đội ngũ phát triển NukeViet đã tách khỏi ảnh hưởng lạc hậu của PHP-Nuke và xây dựng NukeViet thành một ứng dụng khác biệt hoàn toàn. Với 100% dòng code được viết mới, NukeViet 3.0 đã cho kết quả là Website đạt chuẩn xHTML 1.0 và CSS 2.1 cũng như hỗ trợ Ajax từ trong bộ nhân.
Kể từ năm 2010, NukeViet đã phát triển theo mô hình chuyên nghiệp, đội ngũ quản trị đã thành lập doanh nghiệp chuyên quản. Mặc dù từ phiên bản 3.0, NukeViet được viết mới hoàn toàn và trong quá trình phát triển của mình, nhiều cái tên đã được đưa ra để thay thế nhưng cuối cùng, theo kiến nghị của cộng đồng người sử dụng, cái tên NukeViet đã được giữ lại để nhớ rằng NukeViet được khởi
đầu từ PHP-Nuke và để cảm ơn Franscisco Burzi - Tác giả PHP-Nuke - vì chính ông là nhân tố để có một cộng đồng mã nguồn mở NukeViet với hàng chục ngàn người dùng như hiện nay.
Dù NukeViet 3 đã được viết mới hoàn toàn nhưng nó vẫn chịu những ảnh hưởng từ PHP-Nuke ở những điểm sau:
NukeViet được viết bằng ngôn ngữ PHP và sử dụng cơ sở dữ liệu MySQL là chủ yếu, cho phép người sử dụng có thể dễ dàng xuất bản và quản trị các nội dung của họ lên Internet hoặc intranet.
NukeViet vẫn sử dụng các khái niệm Module, Block, Theme cho hệ thống của mình mặc dù cấu trúc và công nghệ cho nó đã được đội ngũ phát triển NukeViet cải tiến hoàn toàn.
Tiếp nối thành công của phiên bản NukeViet 3, NukeViet 4 đã được phát triển từ 2014 và đến 17/7/2021 đã phát hành phiên bản Nukeviet 4.5 vớ nhiều tính năng mới và tối ưu.
Tại sao phải chọn NukeViet?
NukeViet là một hệ thống quản trị nội dung mã nguồn mở dùng ngôn ngữ PHP và cơ sở dữ liệu MySQL.
NukeViet là một sân chơi, giao lưu học tập hoàn toàn miễn phí, tồn tại dựa trên sự hỗ trợ, tham gia phát triển của tất cả mọi người, những người yêu thích NukeViet và những người muốn góp phần nhỏ kiến thức của mình thúc đẩy sự phát triển CNTT Việt Nam.
Là sản phẩm CMS mã nguồn mở duy nhất của Việt Nam nằm trong danh mục các sản phẩm phần mềm nguồn mở được khuyến khích sử dụng trong thông tư số 08/2010/TT-BGDĐT do Bộ GD&ĐT ban hành ngày 01/03/ 2010 quy định về sử dụng phần mềm tự do mã nguồn mở trong các cơ sở giáo dục. Nukeviet còn được Bộ TT&TT quy định ưu tiên sử dụng trong cơ quan, tổ chức nhà nước tại thông tư 20/2014/TT-BTTTT ký ngày 05/12/2014 và có hiệu lực từ ngày 20/1/2015.
Cấu trúc của NukeViet 4.5:
Hệ thống NukeViet được thiết kế rất rõ ràng, mạch lạc, theo đó NukeViet phân cấu trúc thành 2 tầng, 1 lớp.
Tầng nền tảng (Core) hay còn gọi là "nhân hệ thống": Chứa các thư viện và module vận hành hệ thống. Nếu một trong các thành phần này bị lỗi có thể làm ảnh hưởng một phần hoặc toàn bộ hệ thống. Tầng này chiếm 10% dung lượng và dòng code của NukeViet nhưng được sử dụng trong 90% các hoạt động của website.
Tầng module: bao gồm module admin, module site, các block (kèm theo module hoặc chạy độc lập), các cronjob...
Lớp giao diện: bao gồm giao diện admin, giao diện module và giao diện site.
Đặc điểm chính:
Module và giao diện (theme) của NukeViet được gọi chung là các Addons (thành phần mở rộng). Các thành phần mở rộng này có thể được cài đặt hoặc gỡ bỏ mà không làm ảnh hưởng đến hệ thống.
Phần quản trị của hệ thống nằm toàn bộ trong thư mục admin của hệ thống. Nó được bảo vệ bằng nhiều lớp bảo mật khác nhau.
Phần quản trị của module nằm trong thư mục admin của module. Nó được gọi và tương tác qua phần quản trị của hệ thống nên được hệ thống kiểm soát và đảm bảo tính an toàn, bảo mật.
Theo nguyên lý thiết kế hướng module, block và theme được bố trí nhằm phục vụ module do đó hình thành khái niệm block của module và theme của module. Theo đó tệp tin block của module nằm trong thư mục chứa module nhưng có thể hiển thị ở các khu vực ngoài site. Nếu block không thuộc module nào thì nó được đặt trong thư mục includes/blocks của hệ thống. Tương tự, ngoài theme cho hệ thống còn có theme cho block và theme cho module (được bố trí trong thư mục theme).
Mô hình hoạt động của NukeViet 4.5:
Dữ liệu được người quản trị tương tác từ Admin Control Panel thông qua trình duyệt, được nhân hệ thống và các module (admin module hoặc website module) tham gia xử lý, cuối cùng theme sẽ chịu trách nhiệm việc tổ chức và trình bày thông tin cho người truy cập xem.
Tính năng cơ bản của NukeViet 4.5:
NukeViet 4.5 là phiên bản nâng cấp của phiên bản NukeViet 4.4 tập trung vào việc fix các vấn đề bảo mật, bất cập còn tồn tại, tối ưu trải nghiệm của người dùng.
Một số thay đổi đáng kể ở phiên bản 4.5.00 so với phiên bản 4.4.02: Chặn việc lập chỉ mục của robot tìm kiếm trong một số khu vực như Quản lý site, các module: Users, Banners, Comment, Freecontent, Menu, Statistics, two-step- verification (không phụ thuộc vào cấu hình của site); Thêm Content-Security- Policy; Thêm Referrer-Policy; Khắc phục một số lỗi XSS có thể xảy ra; Thêm trình quản lý API; Loại bỏ việc nén dữ liệu ghi trong bộ nhớ đệm cache; Tích hợp Google Analytics 4. Cụ thể như sau:
Hệ thống:
+ Bảo mật:
Chấp nhận Origin có giá trị bằng NULL;
	Chặn việc lập chỉ mục của robot tìm kiếm trong một số khu vực như Quản lý site, các module: Users, Banners, Comment, Freecontent, Menu, Statistics, two-step-verification (không phụ thuộc vào cấu hình của site);
Thêm Content-Security-Policy là tên của tiêu đề phản hồi mà các trình duyệt hiện đại sử dụng để nâng cao tính bảo mật trang web, cho phép hạn chế việc sử dụng các tài nguyên như JavaScript, CSS hoặc bất kỳ thứ gì mà trình duyệt tải;
Thêm Referrer-Policy là tên của tiêu đề phản hồi mà các trình duyệt hiện đại sử dụng để kiểm soát lượng thông tin liên kết nguồn (được gửi qua header "Referer" đến trang đích);
Tự động thêm rel=noreferrer vào các liên kết ngoài;
Thêm SameSite vào cookie - thuộc tính kiểm soát việc trình duyệt gửi cookie khi trang gửi yêu cầu đến một miền khác;
Khắc phục một số lỗi XSS có thể xảy ra;
Khắc phục lỗ hổng chèn siêu liên kết vào mail "Email Hyperlink Injection".
+ Fix lỗi:
Cho phép hệ thống tự động nhận diện trình duyệt EDGE;
Chấp nhận và nhận diện URL có chứa ký tự ":" (Hiện diện trong các URL có nguồn từ Google);
Kiểm duyệt việc đánh số trang (Không cho người dùng đánh số trang tùy ý);
Thể hiện đúng nội dung các file XML được tạo với các ký tự unicode (Không bị mã hóa);
Xác	định	chính	xác	hơn	biến	$canonicalUrl	(Không	lấy	từ
$client_info['selfurl']);
Khi bật chế độ đình chỉ hoạt động của site sẽ không hiển thị các thông báo lỗi mà chỉ thông báo đình chỉ.
+ Cải tiến:
Thêm khu vực plugin thứ 5: Trước khi chạy module (Chỉ ở ngoài site);
Xác định lại isRobot trong class Browser;
Cho hiển thị hình ảnh khi xem rss-feeds;
Loại bỏ việc nén dữ liệu ghi trong bộ nhớ đệm cache;
Thêm trình quản lý API;
Thêm các thẻ link rel="next" (link đến trang trước), link rel="prev" (link đến trang tiếp theo) ở các khu vực có đánh số trang;
Thêm reCaptcha v3 vào hệ thống;
Di chuyển việc quản lý captcha đến từng function;
Thêm cấu hình Host chứa các file tĩnh (Tạo hằng NV_STATIC_URL thay thế cho NV_BASE_SITEURL);
Tích hợp Google Analytics 4 vào hệ thống;
Thêm định dạng .webp vào danh sách các file hình ảnh được phép tải lên;
Thêm tiêu đề phản hồi "Retry-After" khi đình chỉ hoạt động của website;
Thay đổi việc quản lý nút xã hội;
Thêm nút chia sẻ Zalo;
Hỗ trợ php 8.x;
Thêm các function: str_contains, str_starts_with, str_ends_with;
Thêm cửa sổ thông báo về việc sử dụng cookie khi người dùng truy cập trang web lần đầu tiên (Yêu cầu của Luật Liên minh Châu Âu);
Thêm khả năng thêm chữ ký số S/MIME và DKIM vào mail;
Thêm chế độ hình ảnh dành riêng cho mobile;
Thêm hình mặc định cho thẻ Open Graph;
Thêm quản lý các thẻ link;
Nhận diện và thêm vào các tiêu đề phản hồi "Link tải trước" giúp cải thiện tốc độ load của site.
Modules
+ Module Menu:
Cho phép thêm mục có tên giống với tên của mục có trước;
Cho phép thêm mục với link rỗng;
Tạo nhật ký thay đổi.
+ Module Users:
Hỗ trợ dịch vụ đăng nhập một lần SSO;
Sửa lại ghi log cho dễ hiểu hơn khi đăng nhập bằng Oauth;
Sửa lỗi không thể lấy link kích hoạt lại nếu bật reCaptcha;
Sửa lỗi đăng nhập bằng oauth của facebook;
Sửa lỗi tự động đăng nhập bằng Oauth;
Khắc phục lỗi bảo mật trong khu vực quản lý nhóm thành viên;
Cải thiện đăng ký và quản lý nhóm thành viên;
Sửa lỗi không hiển thị thông tin tùy biến khi thông tin này được xác định là "Hiển thị tại trang tài khoản";
Sửa lỗi kiểm tra mật khẩu khi thay đổi phương thức xác thực 2 bước đối với các tài khoản không có mật khẩu;
Tránh lỗ hổng bảo mật chèn siêu liên kết vào mail "Email Hyperlink Injection".
+ Module News:
Cho phép xem nhanh các file đính kèm bài viết dạng hình ảnh và pdf;
Sửa lỗi không tìm kiếm theo đúng giới hạn thời gian khi chọn kiểu tìm kiếm "Tất cả" của module News;
Sửa lỗi không đánh giá được bài viết ở chế độ xem mobile;
Thêm phân trang ở khu vực quản lý tag;
Thêm cấu hình Phương án thể hiện trang chủ khi sử dụng theme mobile;
Thêm quản lý tác giả bài viết, trang hiển thị các bài viết

File đính kèm:

  • docxsang_kien_kinh_nghiem_su_dung_phan_mem_ma_nguon_mo_nukeviet.docx
  • pdfNGÔ THỊ HUYỀN - THPT ĐẶNG THÚC HỨA - TIN HỌC.pdf