Overview
Training Files are media entities that can be attached to learning paths to provide:- Supplementary Materials: PDFs, documents, presentations, and other resources
- Reference Documents: Additional reading materials and guides
- Media Content: Images, videos, and multimedia files
- Templates: Downloadable templates and worksheets
Supported File Types
The system supports a wide range of file formats organized by logical file types:| File Type | Extensions | Description |
|---|---|---|
pdf | Portable Document Format files | |
| Text | txt | Plain text documents |
| Word | doc, docx, odt | Microsoft Word and OpenDocument text documents |
| Excel | xls, xlsx, ods | Microsoft Excel and OpenDocument spreadsheets |
| PowerPoint | ppt, pptx, pps, ppsx, odp | Microsoft PowerPoint and OpenDocument presentations |
| Image | png, jpeg, jpg, gif | Common image formats |
| Video | mp4 | MP4 video files |
Maximum file size is 500 MB per file. Files are stored in the
training-files directory.GraphQL Query
Training files are accessed through thetrainingFiles field on the LearningPath type:
TrainingFile Fields
| Field | Type | Description |
|---|---|---|
id | ID! | Unique identifier of the training file |
name | String | Display name of the file (customizable title) |
description | String | Optional description explaining the file’s purpose |
filename | String! | Original filename of the uploaded file |
url | String! | Secure download URL with JWT token for authentication |
mimeType | String! | MIME type of the file (e.g., application/pdf) |
size | Int! | File size in bytes |
extension | String | File extension (e.g., pdf, docx) - used to determine file type |
Access Control
Secure Download URLs
Theurl field returns a secure download link that includes a JWT token for authentication. The system generates these URLs dynamically:
1
JWT Token Generation
Creates a secure token containing:
- Media ID (training file)
- Learning Path ID
- User Context UUID
2
URL Construction
Builds URL in format:
/training-files/secure/{token}3
Access Validation
When accessed, the system validates:
- Token authenticity and expiration
- User access to the learning path
- File existence and availability
Token Security: Each download URL contains a unique JWT token that expires and is tied to the specific user, learning path, and file combination. This prevents unauthorized access and link sharing.