Course Outline
Overview
The Course Outline provides a structured, day-by-day and module-by-module breakdown of a course's content.
Data Structure
The course outline is stored as a JSONB column (course_outline) in the perfxcel.courses table. This approach avoids unnecessary relational complexity for document-like data that is always read and written together.
JSONB Shape Example
[
{
"day": 1,
"title": "Foundations of Leadership",
"modules": [
{
"title": "Module 1: Introduction",
"description": "Overview of core principles.",
"duration": "2h"
},
{
"title": "Module 2: Self-Assessment",
"description": "Evaluating personal leadership style.",
"duration": "1.5h"
}
]
}
]
Admin Management
Admins can build and modify the outline in the Course Editor:
- Days: Admins can add, remove, and reorder days using drag-and-drop.
- Modules: Within each day, admins can add, edit, and remove individual modules.
Public Display
On the public course detail page, the outline is rendered dynamically as an accordion (using <details> and <summary>), separated by days. The outline section is hidden if the course has no outline configured.