Outcomes Importer — Specification
Purpose: define the schema, validation, preview behavior, and merge semantics for importing learning outcomes.
Accepted file formats: CSV (UTF-8), XLSX (first sheet)
Required columns:
- code (string) — unique short code, required
- title (string) — required
- description (string) — optional
- framework (string) — optional (maps to existing framework name)
- level (string) — optional (e.g., "Introductory", "Advanced")
Validation rules:
- code must be unique within file and across existing outcomes (unless merge mode)
- title cannot be empty
- framework if present must match an existing framework; otherwise flag as warning
Preview behavior:
- Show first 100 rows with status badges: OK, Warning, Error
- Allow inline edit for code and title in preview
- Provide "Auto-fix" suggestions for common issues (trim whitespace, normalize case)
Merge semantics:
- Modes: Create only, Create or Update (by code), Replace (danger)
- Default: Create or Update with safe heuristics (only overwrite description/title if --force)
Example CSV header:
code,title,description,framework,level
OUT001,Define variables,Students can define variables,Core,Introductory
Reporting:
- After import, produce import report with row statuses and messages (see admin/import-report.md).
Permissions: import requires Admin or Designer per admin/permissions.md.
Last updated: 2026-07-07