Skip to main content

Trainings

Trainings is a lightweight learning-management module: write or attach course material (text, files, links to videos), add quiz questions, assign the training to members or roles with a due date, and track who has completed it and their scores. Completed trainings can also feed certification records.

Left menu → Trainings. Members take assigned trainings from the web or the Responder app.

Trainings

Training List​

Displays all trainings for the department.

Creating Trainings​

Training Fields​

New training

FieldRequiredDescription
NameYesTraining title
DescriptionNoHTML-decoded description
Training TextNoHTML-decoded training content
Minimum ScoreNoMinimum passing score for quizzes (default: 0)

Target Assignment​

Trainings can be assigned to:

  • Send to All — All department members (deduplicated)
  • Specific Roles — All members with selected roles
  • Specific Groups — All members of selected groups
  • Individual Users — Specific personnel

File Attachments​

ConstraintValue
Maximum file size30 MB (larger than most modules)
Allowed file typesjpg, jpeg, png, gif, pdf, doc, docx, ppt, pptx, pps, ppsx, odt, xls, xlsx, mp3, m4a, ogg, wav, mp4, m4v, mov, wmv, avi, mpg, txt

Quiz System​

Trainings can include a quiz with:

  • Multiple questions (parsed from form keys question_*)
  • Multiple-choice answers per question (parsed from answerForQuestion_{q}_{a})
  • One correct answer per question
  • Questions and answers built from dynamic form fields

Viewing Trainings​

When a user views a training:

  • The content is displayed (title, description, text, attachments)
  • The training is automatically marked as viewed for the current user

Training detail

This enables view tracking for compliance and reporting.

Taking Quizzes​

Quiz View​

Displays all questions with answer options. Marks the training as viewed.

Quiz Grading​

When a quiz is submitted:

  1. Iterates through all submitted answers
  2. Compares each answer to the correct answer
  3. Counts correct responses
  4. Records the score via RecordTrainingQuizResultAsync
  5. Score is available for reporting

Training Attachments​

Attachments can be downloaded individually with validated department ownership.

Deleting Trainings​

Validates department ownership before deletion.

Resetting User Training​

Administrators can reset a specific user's training progress and quiz results:

  • Clears all view and score records for that user on that training
  • User will need to re-view and re-take the quiz

Training Reports​

The Report action generates a training participation report showing:

  • All assigned users
  • View status (has the user viewed the training?)
  • Quiz results
  • Group assignments for each user

Setup examples​

Department typeHow to set it up
Volunteer fireAnnual refreshers (SCBA, bloodborne pathogens, driver safety) with a 5-question quiz each; assign to the Firefighter role with a 30-day due date; report to the training officer.
EMSProtocol updates as trainings with an acknowledgement quiz; CE tracking through certifications.
SARNavigation and radio trainings for new members; link to external video courses.
CERTModule refreshers between in-person classes; completion required before deployment eligibility.
Security / industrialPost-order acknowledgements, hazard communication, LOTO awareness — with quiz pass mark 80 %.

Technical reference​

TrainingsController; routes /User/Trainings/{Index,New,View,Edit,Quiz,Report,ResetUserTraining,DeleteTraining}; permission CreateTraining; events TrainingAddedEvent, TrainingUpdatedEvent; module switch TrainingDisabled.

Interactions with Other Modules​

ModuleInteraction
PersonnelTraining assignment targets
GroupsGroup-based training assignment
Personnel RolesRole-based training assignment
ReportsTraining data used in activity and hours reports
LogsTraining counts in monthly analytics
Department SettingsModule can be enabled/disabled