Skip to main content
Training Files provide learners with additional downloadable resources that supplement their learning experience. These files are directly associated with specific learning paths and are accessible to enrolled users.

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 TypeExtensionsDescription
PDFpdfPortable Document Format files
TexttxtPlain text documents
Worddoc, docx, odtMicrosoft Word and OpenDocument text documents
Excelxls, xlsx, odsMicrosoft Excel and OpenDocument spreadsheets
PowerPointppt, pptx, pps, ppsx, odpMicrosoft PowerPoint and OpenDocument presentations
Imagepng, jpeg, jpg, gifCommon image formats
Videomp4MP4 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 the trainingFiles field on the LearningPath type:
query getLearningPath {
  getLearningPath(lpId: "40") {
    trainingFiles {
      id
      name
      description
      filename
      url
      mimeType
      size
      extension
    }
  }
}

TrainingFile Fields

FieldTypeDescription
idID!Unique identifier of the training file
nameStringDisplay name of the file (customizable title)
descriptionStringOptional description explaining the file’s purpose
filenameString!Original filename of the uploaded file
urlString!Secure download URL with JWT token for authentication
mimeTypeString!MIME type of the file (e.g., application/pdf)
sizeInt!File size in bytes
extensionStringFile extension (e.g., pdf, docx) - used to determine file type

Access Control

Training files are subject to strict access control:
  • User Authentication: Must be authenticated with valid user context
  • Learning Path Access: User must have access to the associated learning path
  • Enrollment Status: Typically requires enrollment in the learning path

Secure Download URLs

The url 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.
I