Làm mới trình chỉnh sửa khoá học, chương và bài học

Các trang giảng viên dùng để sửa khoá học, chương và từng loại bài học giờ theo cùng kiểu với trang quản trị tổ chức. Mỗi trang có một nút Lưu ở thanh trên, các mục phẳng, và nút xoá nằm riêng ở cuối trang. Mọi trang của khoá học có một thanh khoá học cố định ở trên cùng, với các tab Nội dung, Cài đặt khoá học, Học viên, Chấm điểm và Đánh giá. Cây chương và bài học chỉ hiện ở tab Nội dung. Tính năng giữ nguyên.

SP-851 · cập nhật 25/10/2026

Tình trạng ngày 25/10/2026

Giai đoạn
PR chưa mở, chờ review. Code đã push lên nhánh, chưa merge, chưa có trên beta hay production.
Nhánh
SP-851/course-editor-rework, bốn commit, mới nhất là 768137d5 (thanh khoá học, gộp tab Cài đặt khoá học và Đánh giá, bánh răng ở dòng chương). Trước nó là 25079ca3 (tab khoá học), ba54593c (bỏ nút xoá chương ở thanh bên) và ac167faf (làm lại các trang sửa).
Base
origin/main tại 1d13d171. Phần "Trước" trong ảnh và video chụp từ đúng commit này.
PR
Chưa mở. Link PR sẽ được thêm khi mở.
Ticket
SP-851
Phạm vi
Chỉ đổi frontend, ở các trang giảng viên và quản trị dùng để sửa khoá học. Học viên không thấy gì khác. Backend, API và cơ sở dữ liệu không đổi.
Ảnh và video
Toàn bộ ảnh chụp và video lấy từ môi trường chạy trên máy với dữ liệu mẫu. Tên người và số liệu không có thật. Phần "Sau" chụp lại từ commit 768137d5 rạng sáng 25/10/2026. Riêng ảnh "Trước" ở mục Thanh khoá học lấy từ lần chụp đầu, commit ac167faf.

Vì sao làm lại

Trang sửa khoá học và bài học cũ mỗi chỗ lưu một kiểu. Có trang để nút Lưu trong một khung giữa trang, có trang có hai nút lưu cho hai phần khác nhau. Ở trang bài học, nút Xóa màu đỏ nằm ngay cạnh nút Cập nhật, bấm nhầm là mất bài.

Trang quản trị tổ chức (SP-792) đã chuyển sang kiểu phẳng với một nút Lưu ở trên cùng. Đợt này đưa toàn bộ phần soạn khoá học về cùng kiểu đó. Giảng viên quen một trang là dùng được mọi trang khác.

Thay đổi chính

Lưu

Một nút Lưu ở trên

Thanh tiêu đề cố định có nút Lưu, chấm "Có thay đổi chưa lưu" và nút Bỏ thay đổi.

Bố cục

Mục phẳng

Không còn khung thẻ. Mỗi nhóm trường là một mục có biểu tượng và tiêu đề.

Tab

Thanh khoá học

Một thanh cố định ở trên cùng có tên khoá, trạng thái và 5 tab. Cài đặt khoá học và Đánh giá có tab con.

Xoá

Vùng nguy hiểm

Nút xoá chương và bài học xuống cuối trang, xa nút Lưu. Cây nội dung không còn thùng rác. Bánh răng ở dòng chương mở trang chương.

Tài liệu

Danh sách tham khảo

Tài liệu tham khảo là một danh sách, liên kết mới được đánh dấu Chưa lưu.

Quiz

Danh sách và trình soạn

Trang câu hỏi chia làm danh sách bên trái, trình soạn bên phải.

Video giới thiệu

Dài 3 phút 9 giây. Phần đầu là giao diện cũ, phần sau là giao diện mới, quay từ commit 768137d5 trong đúng một lần quay. Giọng đọc tiếng Anh, phụ đề tiếng Việt bật sẵn. Có thể đổi sang phụ đề tiếng Anh trong nút phụ đề của trình phát. Chấm xanh là con trỏ chuột.

Trong video

  1. 0:00 Thẻ mở đầu.
  2. 0:13 Giao diện cũ, có nhãn "TRƯỚC" ở góc. Thông tin khoá học với nút Lưu nằm trong khung Tổng quan.
  3. 0:24 Bài đọc. Nút Xóa đỏ cạnh Cập nhật, phần Tài liệu tham khảo có nút Cập nhật riêng.
  4. 0:38 Cài đặt khoá học có hai nút Lưu, một cho Lịch làm bài tập, một cho Thu thập phản hồi.
  5. 0:49 Trang câu hỏi quiz chèn thêm thanh bên thứ hai cạnh cây nội dung.
  6. 0:55 Thẻ "SAU". Từ đây là giao diện mới.
  7. 1:01 Bài đọc dưới thanh khoá học: "← Khoá học", tên khoá, trạng thái Nháp và 5 tab, tab Nội dung đang chọn.
  8. 1:11 Cuộn bài đọc xuống. Thanh khoá học vẫn ở trên cùng, thanh có nút Lưu dính ngay dưới nó.
  9. 1:19 Lý do: các liên kết khoá học từng chiếm chỗ ở thanh bên, còn hàng tab cũ trông như thuộc về bài học và bị cuộn mất.
  10. 1:29 Bấm dòng Chương 1 để thu gọn, bấm lần nữa để mở ra.
  11. 1:35 Bấm bánh răng của Chương 1 để mở trang chương, cuộn xuống Vùng nguy hiểm với nút "Xóa chương".
  12. 1:44 Bài đọc: sửa tiêu đề, thanh trên hiện chấm "Có thay đổi chưa lưu", bấm Bỏ thay đổi.
  13. 1:55 Tab Cài đặt khoá học, với hai tab con Thông tin và Cài đặt.
  14. 2:02 Lý do gộp: giá từng nằm ở Thông tin khoá học, trạng thái ở Cài đặt. Cuộn tới mục Giá.
  15. 2:11 Tab con Cài đặt: trạng thái, đăng ký, Lịch làm bài tập, Thu thập phản hồi.
  16. 2:21 Tab Học viên, rộng hết trang, không có cây bài học. Khoá mẫu chưa có học viên nên danh sách trống.
  17. 2:27 Tab Chấm điểm.
  18. 2:34 Tab Đánh giá với tab con Phản hồi, rồi bấm Cảm nhận.
  19. 2:43 Không có lời thoại khoảng 9 giây: bấm Nội dung, mở Chương 1, mở quiz.
  20. 2:51 Trang câu hỏi quiz nằm dưới cùng thanh khoá học, danh sách bên trái, trình soạn bên phải.
  21. 2:59 Bấm Nội dung. Kết thúc ở tab Nội dung, mở ra form "Chương mới".

Phần mới không lưu gì vào dữ liệu: mọi chỉnh sửa đều bỏ bằng nút Bỏ thay đổi. Ở phần giao diện cũ, màn hình tải của ứng dụng hiện khoảng 1 giây ở 0:20 và 0:46 vì hai lần tải lại trang. Giọng đọc gọi tên bằng tiếng Anh (Course settings, Reviews, Discard), phụ đề dùng đúng tên trên màn hình (Cài đặt khoá học, Đánh giá, Bỏ thay đổi).

Lỗi nhỏ của lần quay này

Phần "Sau" quay đúng một lần theo yêu cầu, không quay lại. Các lỗi nhỏ dưới đây được giữ nguyên:

Thay đổi gì và vì sao

Thanh khoá học thay cho liên kết ở thanh bên và hàng tab cũ

Bản đang chạy để các liên kết Thông tin khoá học, Cài đặt, Danh sách Học viên, Phản hồi, Cảm nhận và Chấm điểm thành một cụm ở cuối thanh bên. Cụm này chiếm khoảng một phần ba chiều cao thanh bên, nên danh sách bài học chỉ còn chỗ cho khoảng năm bài. Lần trước (25079ca3) chuyển cụm đó thành hàng tab trong cột nội dung. Hàng tab đó nằm cạnh breadcrumb của bài học nên trông như tab của bài học, và cuộn mất khi kéo trang xuống.

Giờ mọi trang của khoá học có một thanh khoá học rộng hết màn hình, nằm trên cả thanh bên và trang. Thanh có "← Khoá học" để về danh sách khoá học, tên khoá, trạng thái và các tab. Thanh dính ở trên cùng khi cuộn, nên các trang của khoá học luôn chỉ cách một cú bấm. Vị trí này cho thấy rõ đây là các trang của khoá học, không phải của bài đang mở.

TabGồm
Nội dungChương và bài học. Chỉ tab này có cây nội dung ở thanh bên, các tab khác rộng hết trang.
Cài đặt khoá họcTab con Thông tin, Cài đặt, và Phân phối (chỉ với khoá có B2B).
Học viênDanh sách học viên, như trang cũ.
Chấm điểmBài chờ chấm và bài đã chấm, như trang cũ.
Đánh giáTab con Phản hồi và Cảm nhận.
Video bài giảngChỉ hiện khi gói có tính năng này. Gói chưa có thì tab mờ kèm nhãn nâng cấp và không bấm được. Môi trường trên máy không hiện tab này nên không có ảnh.

Mỗi tab con vẫn giữ đường dẫn cũ, nên link cũ tới Thông tin khoá học, Cài đặt, Phản hồi hay Cảm nhận vẫn mở đúng trang. Trang tạo khoá học không có thanh này, vì khoá học chưa tồn tại.

Trước Bài đọc ở lần chụp đầu: cụm liên kết khoá học ở cuối thanh bên, dòng Chương 1 có biểu tượng thùng rác, danh sách bài học bị cắt sau bài thứ năm.
Lần chụp đầu (ac167faf), cùng bố cục với bản đang chạy. Cụm liên kết khoá học chiếm phần dưới thanh bên. Danh sách bài học bị cắt sau "Cuộc thi mùa đông".
Sau Cùng bài đọc ở bản mới: thanh khoá học trên cùng với Khoá học, tên khoá, trạng thái Nháp và 5 tab, thanh bên hiện đủ 9 bài và Chương 2.
Bản mới (768137d5). Thanh khoá học nằm trên cả thanh bên và trang: "← Khoá học", "Lập trình Python cơ bản", "Nháp", rồi các tab với Nội dung đang chọn. Thanh bên hiện đủ 9 bài, nút Thêm bài học và Chương 2.
Bài đọc đã cuộn xuống: thanh khoá học vẫn ở trên cùng, thanh tiêu đề bài với nút Lưu dính ngay bên dưới.
Cùng bài đọc sau khi cuộn xuống. Thanh khoá học vẫn ở trên cùng, thanh tiêu đề bài có nút Lưu dính ngay dưới nó.

Cài đặt khoá học: Thông tin và Cài đặt chung một tab

Trước đây Thông tin khoá học và Cài đặt là hai trang riêng, chia theo cách khó đoán: giá nằm ở Thông tin khoá học, còn trạng thái và đăng ký nằm ở Cài đặt. Giờ cả hai nằm trong tab Cài đặt khoá học, mỗi phần là một tab con. Nút Lưu và cách lưu của từng tab con không đổi (xem Quy tắc lưu ở Cài đặt khoá học).

Tab Cài đặt khoá học, tab con Thông tin: mục Tổng quan với Tiêu đề, URL Slug và Hình ảnh Khoá học.
Tab con Thông tin: tiêu đề, slug, ảnh bìa, mô tả, trình độ, giá, thẻ chủ đề, giảng viên.
Tab Cài đặt khoá học, tab con Cài đặt: Trạng thái Khoá học là Nháp, Trạng thái Đăng ký là Đóng.
Tab con Cài đặt: trạng thái, đăng ký, bán công khai, Lịch làm bài tập, Thu thập phản hồi, xuất và nhân bản khoá học.

Đánh giá: Phản hồi và Cảm nhận chung một tab

Phản hồi của học viên và cảm nhận hiện trên trang khoá học là cùng một chủ đề, nên giờ chung tab Đánh giá với hai tab con. Học viên và Chấm điểm giữ tab riêng. Chấm điểm là việc giảng viên làm hằng ngày, nên nó luôn chỉ cách một cú bấm.

Tab Đánh giá, tab con Phản hồi: Phản Hồi Khóa Học với các bộ lọc và bảng trống.
Tab con Phản hồi: duyệt đánh giá của học viên. Khoá mẫu chưa có đánh giá nên bảng trống.
Tab Đánh giá, tab con Cảm nhận: điểm đánh giá hiển thị, cảm nhận bạn biên soạn, đánh giá từ học viên.
Tab con Cảm nhận: điểm hiển thị, cảm nhận do giảng viên viết, và nút sang trang Phản hồi.
Tab Học viên rộng hết trang: Danh Sách Học Viên, ô tìm kiếm, nút Cấp quyền học, bảng trống.
Tab Học viên, rộng hết trang vì không có cây nội dung.
Tab Chấm điểm: Chấm Điểm Bài Tập với hai tab Đang chờ chấm điểm và Đã chấm điểm, chưa có bài làm.
Tab Chấm điểm: bài chờ chấm và bài đã chấm.

Cây nội dung: bấm chương để mở, bánh răng để vào trang chương

Bấm vào dòng chương giờ mở hoặc thu gọn bài học của chương đó. Bánh răng nằm bên trái mũi tên mở trang chương, nơi sửa tên, mô tả, tài liệu tham khảo và xoá chương. Các dòng trong cây có khoảng đệm nhỏ hơn, nên tên bài hiện được dài hơn.

Xoá chương chỉ ở trang chương

Mỗi dòng chương trong cây nội dung từng có một biểu tượng thùng rác, nằm ngay cạnh mũi tên mở và đóng chương. Xoá một chương là gỡ cả chương và mọi bài học trong đó khỏi khoá học, nên bấm trượt mũi tên là có thể mở hộp thoại xoá. Bản mới bỏ biểu tượng đó. Muốn xoá chương thì mở trang chương và bấm "Xóa chương" trong Vùng nguy hiểm, giống cách xoá bài học. Hộp thoại xác nhận vẫn như cũ. Bánh răng và mũi tên có nhãn cho trình đọc màn hình, ví dụ "Cài đặt chương Chương 1: Nền tảng Python".

Một nút Lưu ở thanh trên, có trạng thái chưa lưu

Mọi trang sửa (khoá học, chương, từng loại bài học, trang câu hỏi quiz) có một thanh tiêu đề cố định khi cuộn. Khi chưa sửa gì, nút Lưu mờ đi. Khi có thay đổi, thanh hiện chấm cam "Có thay đổi chưa lưu" và nút Bỏ thay đổi. Bỏ thay đổi đưa trang về giá trị đã lưu.

Trước đây trang Thông tin khoá học để nút Lưu trong khung Tổng quan, giữa trang. Các trang bài học có nút Cập nhật ở trên và thêm một nút Cập nhật khác cho tài liệu tham khảo. Giờ mỗi trang chỉ còn một chỗ lưu.

Thông tin khoá học sau khi sửa Tóm tắt: thanh trên có chấm Có thay đổi chưa lưu, nút Bỏ thay đổi và nút Lưu đang bật.
Thông tin khoá học, vừa thêm "Có bài tập thực hành." vào Tóm tắt. Thanh trên hiện "Có thay đổi chưa lưu", Bỏ thay đổi và Lưu.

Các mục phẳng thay cho khung thẻ

Khung thẻ, đường kẻ và tiêu đề tím bên trong biểu mẫu được thay bằng các mục phẳng. Mỗi mục có biểu tượng, tiêu đề và đôi khi một dòng mô tả. Bài học nào cũng theo cùng thứ tự: Thông tin cơ bản, Nội dung, các mục riêng của loại bài (Lịch làm bài, Chấm điểm...), Cài đặt, Tài liệu tham khảo, Vùng nguy hiểm. Các ô đánh dấu (checkbox) trở thành công tắc có mô tả. Đầu trang có dòng thông tin ngắn: trạng thái, loại bài, số câu hỏi hoặc số bài tập.

Trước và sau của từng trang nằm ở phần Trước và sau từng màn hình.

Vùng nguy hiểm cho thao tác xoá

Nút Xóa đỏ từng nằm ngay cạnh nút Cập nhật ở đầu trang chương và bài học. Giờ nút xoá nằm trong mục "Vùng nguy hiểm" ở cuối trang, xa nút Lưu. Hộp thoại xác nhận giữ nguyên như cũ. Với chương, đây cũng là chỗ duy nhất để xoá (xem mục trên).

Hộp thoại Xác nhận xóa bài học với hai nút Hủy và Xóa.
Bấm "Xóa bài học" trong Vùng nguy hiểm mở hộp thoại "Xác nhận xóa bài học". Trong lần chụp này đã bấm Hủy, không xoá gì.

Tài liệu tham khảo là một danh sách

Tài liệu tham khảo của chương và bài học giờ là một danh sách, có số lượng ở đầu, nút xoá ở mỗi dòng và ô thêm liên kết hoặc tệp ở cuối. Liên kết mới có chấm cam "Chưa lưu" cho đến khi bấm Lưu ở thanh trên. Nút "Lưu tài nguyên" và "Cập nhật" riêng của phần này không còn. Khung vàng báo chưa lưu cũng bỏ, vì thanh trên đã báo.

Bài đọc với danh sách 3 tài liệu, dòng thứ ba có chấm Chưa lưu, thanh trên báo có thay đổi chưa lưu.
Bài đọc "Biến và kiểu dữ liệu" sau khi thêm "Bài tập Python trên W3Schools". Danh sách ghi "3 tài liệu", dòng mới có chấm "Chưa lưu". Thay đổi này đã bỏ sau khi chụp.

Câu hỏi quiz: danh sách bên trái, trình soạn bên phải

Trang câu hỏi cũ chèn một thanh bên thứ hai cạnh cây nội dung khoá học, có nút Quay lại riêng. Giờ trang có breadcrumb về bài quiz, một nút Lưu ở thanh trên, khung danh sách câu hỏi (Thêm câu hỏi, Nhập từ tệp, loại và nút xoá ở mỗi dòng, tổng số câu và tổng điểm) và trình soạn chia mục Loại câu hỏi, Đáp án, Giải thích.

Nội dung câu hỏi chờ nút Lưu ở thanh trên như mọi trang khác. Thêm, xoá và nhập câu hỏi vẫn chạy ngay khi bấm, như trước.

Trang câu hỏi quiz: danh sách 12 câu bên trái, câu 5 đang sửa bên phải, thanh trên báo có thay đổi chưa lưu.
Câu 5 "Làm thế nào để định nghĩa một hàm?" được thêm " (Python 3)". Thanh trên báo chưa lưu. Thay đổi này đã bỏ sau khi chụp.

Quy tắc lưu ở Cài đặt khoá học

Tab con Cài đặt có hai kiểu lưu, và đợt này giữ nguyên kiểu nào ra kiểu đó. Trạng thái, đăng ký và bán công khai vẫn lưu ngay khi đổi, như trước. Lịch làm bài tập và Thu thập phản hồi thành bản nháp, lưu chung bằng một nút Lưu ở thanh trên.

PhầnCách lưu
Trạng thái khoá họcLưu ngay khi đổi, như trước.
Trạng thái đăng kýLưu ngay khi đổi, như trước.
Bán công khai (B2C)Lưu ngay khi bật hoặc tắt, như trước.
Lịch làm bài tậpBản nháp. Lưu bằng nút Lưu ở thanh trên. Trước đây có nút Lưu và Xoá riêng.
Thu thập phản hồiBản nháp. Lưu cùng nút Lưu ở thanh trên. Trước đây có nút Lưu riêng.

Nút Lưu ở thanh trên lưu cả hai bản nháp. Mỗi bản nháp chỉ được xoá khỏi trang khi phần đó lưu thành công, nên nếu một phần lỗi thì phần đó vẫn còn để lưu lại. Nếu vừa đổi trạng thái và lần lưu trạng thái còn đang chạy, nút Lưu đợi nó xong rồi mới lưu tiếp.

Cài đặt khoá học với hai điều kiện Khi hoàn thành khoá học trong Thu thập phản hồi, thanh trên báo có thay đổi chưa lưu.
Thu thập phản hồi sau khi thêm điều kiện thứ hai "Khi hoàn thành khoá học". Thanh trên hiện "Có thay đổi chưa lưu", Bỏ thay đổi và Lưu. Không lưu, đã bỏ sau khi chụp.

Trước và sau từng màn hình

Ảnh bên trái là bản đang chạy (origin/main), ảnh bên phải là bản mới (768137d5), nên ảnh bên phải đều có thanh khoá học, và thanh bên chỉ có ở các trang của tab Nội dung. Cả hai dùng cùng dữ liệu mẫu: khoá "Lập trình Python cơ bản" ở trạng thái Nháp, 2 chương, 9 bài học. Bấm vào ảnh để xem cỡ lớn.

Thông tin khoá học

Trước Trang Thông tin khoá học cũ: thanh tiêu đề Chỉnh Sửa Khoá Học, khung Tổng quan Khoá học có nút Lưu riêng.
Thanh tiêu đề "Chỉnh Sửa Khoá Học • Lập trình Python cơ bản". Tiêu đề tím "Tổng quan Khoá học" có nút Lưu nằm trong khung. Giá, thời lượng và trình độ dồn trên một hàng. Bấm để xem cỡ lớn.
Sau Tab Cài đặt khoá học, tab con Thông tin: thanh khoá học trên cùng, một nút Lưu, các mục phẳng có biểu tượng, không có thanh bên.
Giờ là tab Cài đặt khoá học, tab con Thông tin, rộng hết trang. Thanh khoá học có "← Khoá học" và trạng thái "Nháp", thanh trên có một nút Lưu. Các mục Tổng quan, Mô tả, Trình độ và thời lượng, Giá, Thẻ chủ đề, Giảng viên của khoá học. Bấm để xem cỡ lớn.

Cài đặt khoá học

Trước Cài đặt khoá học cũ: ba cột trạng thái, Lịch làm bài tập và Thu thập Phản hồi mỗi phần có nút Lưu riêng.
Trạng thái, đăng ký và bán công khai xếp ba cột. "Lịch làm bài tập" có nút Lưu và Xoá riêng, "Thu thập Phản hồi" có nút Lưu thứ hai.
Sau Tab Cài đặt khoá học, tab con Cài đặt: các mục xếp dọc, một nút Lưu ở thanh trên, không có thanh bên.
Tab con Cài đặt, rộng hết trang. Các mục xếp dọc: Trạng thái Khoá học (Nháp), Trạng thái Đăng ký (Đóng, khoá lại khi còn nháp), Bán công khai đang bật, Lịch làm bài tập 27/10/2026 00:00 đến 29/10/2026 00:00, Thu thập Phản hồi với 1 điều kiện, Câu hỏi tùy chỉnh, xuất dữ liệu, Nhân bản. Một nút Lưu ở thanh trên. Bấm để xem cỡ lớn.

Chương

Trước Trang chương cũ: nút Xóa Chương đỏ cạnh nút Lưu, phần tài liệu tham khảo có nút Lưu tài nguyên riêng.
"Chương 1: Nền tảng Python". Nút đỏ "Xóa Chương" ngay cạnh Lưu. Tài liệu tham khảo có nút "Lưu tài nguyên" riêng.
Sau Trang chương mới: trạng thái Đã xuất bản, 9 bài học, các mục Thông tin cơ bản, Tài liệu tham khảo, Vùng nguy hiểm.
Dòng thông tin "Đã xuất bản", "Bài học 9". Ba mục Thông tin cơ bản, Tài liệu tham khảo (đang trống) và Vùng nguy hiểm với nút "Xóa chương". Trong cây, dòng chương có bánh răng và mũi tên.

Bài đọc

Trước Bài đọc cũ: nút Xóa đỏ cạnh Cập nhật, tài liệu tham khảo có nút Cập nhật riêng và 2 tài liệu.
"Biến và kiểu dữ liệu". Nút Xóa đỏ cạnh Cập nhật ở đầu trang. Ô đánh dấu cho phép sao chép. Khung tài liệu tham khảo có nút Cập nhật riêng và 2 tài liệu.
Sau Bài đọc mới: các mục Thông tin cơ bản, Nội dung, Cài đặt, Tài liệu tham khảo với 2 tài liệu, Vùng nguy hiểm.
Dòng thông tin "Đã xuất bản", "Bài đọc". Các mục Thông tin cơ bản, Nội dung, Cài đặt (công tắc), Tài liệu tham khảo ("2 tài liệu") và Vùng nguy hiểm.

Quiz

Trước Quiz cũ: nút Xóa và Cập nhật ở đầu, các ô đánh dấu, dòng Đã bao gồm 12 câu hỏi với nút Xem.
"Bài kiểm tra kiến thức cơ bản". Xóa và Cập nhật ở đầu trang, các ô đánh dấu, dòng "Đã bao gồm 12 câu hỏi" với nút Xem.
Sau Quiz mới: dòng thông tin 12 câu hỏi, các mục Câu hỏi, Lịch làm bài, Chấm điểm và số lần làm bài, Cài đặt.
Dòng thông tin "Đã xuất bản", "Quiz", "Câu hỏi 12". Mục Câu hỏi có nút "Chỉnh sửa câu hỏi". Chấm điểm và số lần làm bài: đạt 60%, tối đa 3 lần. Cài đặt là 3 công tắc. Bấm để xem cỡ lớn.

Câu hỏi quiz

Trước Trang câu hỏi cũ: thanh bên thứ hai với 12 câu hỏi cạnh cây nội dung, nhãn Chưa lưu ngay khi mở.
Thanh bên thứ hai (nút quay lại, Thêm câu hỏi, 12 câu, tổng) nằm cạnh cây nội dung. Nhãn "Chưa lưu" đã hiện ngay khi mở trang, dù chưa sửa gì. Đây là lỗi của bản cũ, đã sửa (xem phần lỗi bên dưới).
Sau Trang câu hỏi mới dưới thanh khoá học: breadcrumb về quiz, khung 12 câu hỏi bên trái, trình soạn Câu hỏi 1 bên phải, nút Lưu mờ.
Nằm dưới thanh khoá học, tab Nội dung. Breadcrumb về bài quiz, tiêu đề "Câu hỏi", nút Lưu mờ vì chưa sửa gì. Khung "12 câu hỏi" (tổng 12 câu, 12 điểm) và trình soạn "Câu hỏi 1".

Bài luận

Trước Bài luận cũ: mọi trường trong một cột, tiêu đề tím Rubric chấm điểm.
"Bài luận: Vì sao Python phổ biến?". Mọi trường trong một cột, tiêu đề tím "Rubric chấm điểm", Xóa và Cập nhật ở đầu trang.
Sau Bài luận mới: mục Chấm điểm với 4 tiêu chí 25 điểm, tổng 100 trên 100.
Các mục Thông tin cơ bản, Nội dung (tối thiểu 300 từ), Lịch làm bài, Chấm điểm (4 tiêu chí × 25 = "Điểm: 100 / 100"), Cài đặt, Tài liệu tham khảo, Vùng nguy hiểm. Bấm để xem cỡ lớn.

Bài học cuộc thi

Trước Bài học cuộc thi cũ liên kết tới Cuộc thi dự báo mùa đông, Xóa và Cập nhật ở đầu trang.
"Cuộc thi mùa đông" liên kết tới "Cuộc thi dự báo mùa đông". Xóa và Cập nhật ở đầu trang.
Sau Bài học cuộc thi mới: dòng thông tin cuộc thi liên kết, mục Cuộc thi liên kết với nút Mở trang cuộc thi.
Dòng thông tin ghi cuộc thi liên kết. Mục Cuộc thi liên kết có nút "Mở trang cuộc thi" và "Xếp hạng chung cuộc" (đang mờ). Đầu trang chỉ còn nút Lưu, không còn nút Xóa.

Bộ bài tập

Trước Bộ bài tập cũ: 3 bài tập và ô chọn bài tập nằm ngay dưới danh sách.
"Bài tập luyện: Khởi động" có 3 bài. Ô chọn thêm bài tập nằm ngay dưới danh sách, chiếm nửa trang.
Sau Bộ bài tập mới: danh sách 3 trên 50 bài tập với nút đổi thứ tự và nút Thêm bài tập.
Danh sách "3 / 50 bài tập": Tổng hai số (Dễ), Phân loại hoa Iris (Trung bình), Đếm số nguyên tố (Khó), mỗi dòng có nút lên, xuống, xoá. Nút "Thêm bài tập" mở hộp chọn.
Hộp chọn Thêm bài tập: ô tìm kiếm, lọc độ khó, 3 bài ghi Đã thêm, các bài khác có nút Thêm.
Hộp chọn "Thêm bài tập": tìm kiếm, lọc độ khó, 3 bài đã có trong bộ ghi "Đã thêm", các bài khác có nút Thêm. Bài được thêm vào danh sách và chờ nút Lưu.

Cây nội dung khoá học

Phạm vi

Lỗi đã sửa trong đợt này

Có lỗi đã có sẵn trên bản đang chạy, có lỗi tìm ra khi review bản làm lại. Tất cả đều sửa trên nhánh này.

Thay đổi về cách hoạt động cần biết

Giới hạn đã biết, chưa sửa

Cách kiểm tra trên beta sau khi merge

Khoảng 20 phút, với tài khoản giảng viên có một khoá học nháp để thử. Đừng thử trên khoá đang có học viên.

  1. Thông tin khoá học

    Mở tab Cài đặt khoá học, tab con Thông tin. Sửa Tóm tắt. Thanh trên phải hiện "Có thay đổi chưa lưu". Bấm Bỏ thay đổi, giá trị cũ quay lại và nút Lưu mờ đi. Sửa lần nữa, bấm Lưu, tải lại trang và xem giá trị mới còn đó.

  2. Cài đặt khoá học

    Bấm tab con Cài đặt. Đổi trạng thái đăng ký và thấy nó lưu ngay. Đổi Lịch làm bài tập và thêm một điều kiện Thu thập phản hồi, bấm một nút Lưu ở thanh trên, tải lại trang và xem cả hai đã lưu.

  3. Chương và bài đọc

    Thêm một tài liệu tham khảo, dòng mới phải có chấm "Chưa lưu". Bấm Lưu, chấm mất. Bấm "Xóa bài học" trong Vùng nguy hiểm, thấy hộp thoại xác nhận, rồi bấm Hủy.

  4. Quiz

    Mở trang câu hỏi. Ngay khi mở, nút Lưu phải mờ. Sửa một câu, bấm Lưu, tải lại trang. Thêm rồi xoá một câu hỏi để thấy hai thao tác này chạy ngay.

  5. Các loại bài khác

    Tạo một bài luận và một bài video mới. Sau khi tạo, biểu mẫu phải giữ đúng nội dung vừa nhập và video vừa chọn. Mở một bài H5P, bấm Lưu, trang không còn báo chưa lưu.

  6. Chuyển nhanh giữa các bài

    Bấm liên tục qua vài bài học trong cây nội dung rồi bấm Thêm bài học. Không trang nào được kẹt ở màn hình tải.

  7. Thanh khoá học

    Mở một bài học, cuộn xuống và xem thanh khoá học vẫn ở trên cùng. Bấm lần lượt Cài đặt khoá học, Học viên, Chấm điểm và Đánh giá. Mỗi tab phải mở đúng trang, tab đang mở được gạch chân, và chỉ tab Nội dung có cây nội dung. Ở Cài đặt khoá học bấm qua Thông tin và Cài đặt, ở Đánh giá bấm qua Phản hồi và Cảm nhận. Mở lại một link cũ, ví dụ trang Cảm nhận, và xem nó mở đúng tab con. Bấm "← Khoá học" để về danh sách khoá học.

  8. Cây nội dung

    Bấm dòng một chương, chương phải thu gọn rồi mở lại khi bấm lần nữa. Bấm bánh răng, trang chương phải mở. Xoá thử một chương trống từ Vùng nguy hiểm của trang chương.

  9. Phía học viên

    Mở khoá học bằng tài khoản học viên. Trang học phải giống hệt trước.

Các bước để đưa lên

  1. Mở PR từ nhánh SP-851/course-editor-rework, review và duyệt.
  2. Merge vào main. Bản này tự lên beta. Không cần chuyển đổi dữ liệu hay đổi cấu hình.
  3. Chạy lượt kiểm tra trên beta ở phần trên.
  4. Chuyển SP-851 sang Testing sau khi kiểm tra beta, và sang Done khi bản này có trong một bản phát hành production.