Training and competence
Training tracks the courses your people must take and whether they have taken them. You build a catalog of trainings, assign them to members with a due date, record completions with an optional score, and let CompStack compute when each completion expires. Use it for induction, awareness, technical, HSE, and compliance training (ISO 9001 7.2/7.3, ISO 45001 competence). The page is at /training, under Training in the side nav.
Before you start
- The Training module must be enabled. It is on by default. If Training is missing from the side nav, an admin can turn it on in Settings > Modules (it sits in the Health, safety and environment group).
- Any member of the organization can open the page, create trainings, and assign them. No admin role is required by the UI.
- Useful but optional: create Departments first if you want department-scoped trainings, and upload the course material as a controlled document in Documents so you can link it to the training.
The page has three tabs: Catalog, Assignments, and My Training. Above the tabs, four counters summarize the whole register: Assigned, Completed, Overdue, and Expiring soon (completions that expire within 60 days).
Create a training
- Open Training in the side nav.
- Click New Training (top right).
- Fill Title (required), for example "ISMS awareness" or "Forklift safety".
- Optionally fill Description.
- Pick a Type: Induction, Awareness, Technical, HSE, Compliance, or Other. The type only drives the colored tag on the catalog card.
- Set Validity (months). Leave it empty if the training never expires. It must be a positive whole number, otherwise you get "Validity must be a positive number of months".
- Pick a Department scope: Org-wide (default) or one department. This is a label on the card; it does not restrict who you can assign.
- Pick a Training material (document) if the course content lives in Documents. Default is None.
- Click Create training.
The training appears in the Catalog tab with tags for its type, validity ("Valid N mo" or "Never expires"), scope, linked material, and its assigned and completed counts.
To edit a training later, click the pencil icon on its card and click Save. To retire it, click the delete icon. This removes it from the catalog but keeps all assignment and completion history.
Assign a training
- In the Catalog tab, click Assign on the training's card.
- Optionally click the Due date button and pick a date. The picker starts 30 days out and does not allow past dates.
- Tick the members you want. Members who already have this training show "already assigned" and cannot be ticked again. Re-assigning is a no-op: their existing status and score are kept.
- Click Assign selected (N) for the ticked members, or Assign all members to cover every active member of the organization in one click.
Each assignment starts in status Assigned.
Record a completion
You can complete an assignment from two places:
- Assignments tab: any member can click Complete on any open assignment (for example a training coordinator recording classroom results).
- My Training tab: each person sees their own assignments and clicks Complete on their own.
Steps:
- Click Complete on the assignment row.
- Optionally enter a score in the score field. It must be a whole number from 0 to 100, otherwise you get "Score must be between 0 and 100". Leave it empty if the training is not scored.
- Click Mark complete.
The status flips to Completed. If the training has a validity window, the expiry date is computed as the completion date plus the validity months, and the confirmation message shows the "valid until" date. A "Valid until" tag appears on the row. When the expiry is within 60 days the tag changes to "Expires".
To exempt someone instead, click Waive on the row in the Assignments tab. The status becomes Waived. Waivers are deliberate exemptions and do not count against the person's completion record.
Run the expiry sweep and raise due-training tasks
The Refresh button in the page header does two things before reloading:
- Expiry sweep: every Completed assignment whose expiry date has passed is flipped to Expired. You see a message like "2 completions expired". Expired assignments need the training to be redone.
- Task derivation: every still-Assigned assignment that is due within the next 14 days, or already overdue, raises a task titled "Training due:
" assigned to that user. You see a message like "3 training tasks raised". Overdue assignments raise high-severity tasks; the rest are medium. Duplicates are not created while an earlier task for the same assignment is still open.
The tasks land in the Task Center (side nav: My Tasks), so people see their due training even if they never open the Training page.
Track statuses and competence
Assignment statuses are: Assigned, Completed, Expired, Waived.
- In the Assignments tab, filter by Status and by Training to answer questions like "who still owes the ISMS awareness course".
- Each row shows the person, the training, and tags: status, due date ("Overdue" in red when past due), completion date, score, and expiry ("Valid until", "Expires" when within 60 days, or "Expired").
- Per-user competence is the share of a person's non-waived assignments that are Completed. Waived assignments are excluded, so exemptions do not count as gaps.
Try it
- Create a training "Forklift safety" with Type HSE and Validity 12. Expected: it appears in the Catalog with tags "HSE" and "Valid 12 mo".
- Create a training with validity "abc". Expected: message "Validity must be a positive number of months" and the dialog stays open.
- Click Assign on the training, pick a due date next week, tick yourself, click Assign selected (1). Expected: confirmation that it was assigned to 1 member, and the Assigned counter goes up.
- Open Assign again for the same training. Expected: your row shows "already assigned" and cannot be ticked.
- Click Assign all members. Expected: every member gets an assignment; existing ones are untouched.
- Open My Training. Expected: your assignment is listed with a Due tag and a Complete button.
- Click Complete, enter score 150. Expected: message "Score must be between 0 and 100".
- Complete it with score 85. Expected: status flips to Completed, a "Score 85" tag and a "Valid until" tag appear (completion date plus 12 months).
- Click Refresh while another member has an assignment due within 14 days. Expected: a message like "1 training task raised", and the task "Training due: ..." appears in Task Center.
- Click the delete icon on the training card. Expected: it disappears from the Catalog but its assignments remain in the Assignments tab.
If something goes wrong
- Training is missing from the side nav. The module is switched off. An admin can enable Training in Settings > Modules.
- "No trainings yet" empty state. Nothing has been created. Click New Training to create the first catalog entry.
- "No assignments yet" in the Assignments tab. Trainings exist but nobody is assigned. Assign from the Catalog tab.
- "Nothing assigned to you" in My Training. No one has assigned a training to your user yet.
- "No assignments match the filters". A Status or Training filter is hiding rows. Set both filters back to "All statuses" and "All trainings".
- Validity or score rejected. Validity must be a positive number of months. Score must be between 0 and 100. Both can be left empty.
- Completion never expires. The training's Validity (months) field was empty when the completion was recorded. Empty means never expires.
- Expired items still show as Completed. The expiry sweep runs when someone clicks Refresh on the Training page. Click Refresh to flip past-expiry completions to Expired.
- Expected task did not appear in Task Center. Tasks are only raised for assignments due within 14 days or overdue, only on Refresh, and not while an earlier task for the same assignment is still open or in progress.
- A save fails with a permission error. Your session may have expired or your membership in the organization is inactive. Sign in again or ask an admin to check your membership in Settings.