How to build a training program your community will actually finish
Most roleplay training is a Discord channel of pinned messages and a staff member who remembers what was covered. This is how to put the same material into CDE Academy as courses people can be held to.
Start from what a new member has to be able to do
Write the list of things somebody must be able to do unsupervised: run a traffic stop, file an arrest report, take a call as dispatch. Each of those is a course. Anything that is not on that list is a module inside one, not a course of its own.
Split a course into modules, and a module into lessons
A module is a sitting. A lesson is one idea inside it, and it can carry video, written material or a quiz. Progress is tracked per enrollment, so somebody who stops halfway through resumes where they were rather than starting the video again.
Put a question in the video, not only after it
Questions attach to a point in a lesson's video and interrupt it. Somebody who opens the tab and walks away does not finish the lesson. That is the difference between a training record and an attendance record.
Set a passing score, and mean it
Exams grade on submission against the score you set. Nobody waits on an instructor, and nobody is promoted on a mark that was never checked. Pair the exam with a sign-off from somebody with authority, so a graduation can be traced to who approved it.
Assign by the roles you already have
Map a department to a Discord role and its courses auto-assign to the people already in it. A new member joins the role and the curriculum is waiting.
Watch where people stall
Enrollment progress is visible per person and per course. A module half the department stops on is a module written badly, and it shows up as a pattern rather than as a rumour in a staff channel.
CDE Academy is included with CDE CAD. See also running an FTO program and training dispatchers.