Skip to content

Secondary certificate refresh - #2591

Open
A-Wheeto wants to merge 24 commits into
mainfrom
secondary-certificate-refresh
Open

Secondary certificate refresh#2591
A-Wheeto wants to merge 24 commits into
mainfrom
secondary-certificate-refresh

Conversation

@A-Wheeto

@A-Wheeto A-Wheeto commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

Refreshes the secondary certificate experience: CQF and Professional Development become standalone dashboard sections instead of being buried in the combined community activity list, KS3 is removed as a certificate completion requirement, and stale/outdated copy is cleaned up across the certificate pages and mailers.

CQF/PD as standalone dashboard sections

  • Added STI subclasses for the CQF and PD standalone objectives
  • Seeded CQF and PD their own per-programme activities
  • CQF and PD now render as standalone dashboard sections (previously part of the combined community list)
  • Updated CQF title and progress bar copy
  • Professional development section now starts collapsed on page load, so new objective components don't get lost further down the page
  • Reduced the number of activities shown on the community activity list
  • Combined the two remaining community activity groupings

Removed KS3 as a certificate requirement

  • Removed the KS3 completion requirement from the secondary certificate
  • Removed the dead ProgrammeCompletionRequired objective and its test coverage
  • Updated secondary pathway seeds and fixed CPD group lookup
  • Removed dead how_to_enrol locale keys from the pathway show view

Copy and content cleanup

  • Removed pathway text from the secondary certificate page
  • Removed the Subject Knowledge certificate reference from the secondary dashboard intro
  • Detached shared CQF/PD activities from the combined community grouping (rather than just flagging them legacy), so they don't show twice
  • Removed stale KS3 references and outdated grouping names from the secondary mailers

Bug fix

  • Fixed the "Your learning journey" completion page, where the CQF tick's title rendered as escaped plain text instead of a clickable link - the activity title embeds an <a> tag directly, and the partial now uses sanitize to render it correctly, matching the pattern already used elsewhere for the same kind of title.

A-Wheeto added 8 commits July 28, 2026 15:03
Duplicate each activity with a -secondary slug and attach the duplicates to two new single-activity groupings, so completion is tracked independently per programme.

ENG-1532
Update ordering on the progress bar and dashboard

ENG-1532
…e the new objective components get lost down the page

ENG-1532
Also revert the default amount of comminity activities shown on the component by default

ENG-1532
Merge "Make a positive impact on young people in computing" and "Support your professional community" into a single grouping, deduplicating the 4 legacy activity slugs already shared between both.

Also mark "Complete the I Belong programme as a school" as legacy

ENG-1531
@A-Wheeto
A-Wheeto temporarily deployed to teachcomputing-pr-2591 July 28, 2026 14:20 Inactive
@A-Wheeto
A-Wheeto temporarily deployed to teachcomputing-pr-2591 July 28, 2026 15:02 Inactive
A-Wheeto added 3 commits July 29, 2026 08:45
report_generation.rb special-cased secondary certificate's objective index by 1 specifically to skip this KS3 entry; that offset is no longer needed now that secondary certificate's programme_objectives shape matches primary certificate and i_belong's

ENG-1260
Nothing instantiates ProgrammeCompletionRequired since the KS3 completion requirement was dropped from the secondary certificate

ENG-1260
@A-Wheeto
A-Wheeto temporarily deployed to teachcomputing-pr-2591 July 29, 2026 07:45 Inactive
Remove the "Successfully complete the Subject knowledge certificate" enrol_copy bullet from all 5 secondary pathways, since KS3/CS Accelerator completion is no longer required

Order programme_activity_groupings by sort_key before taking the first non-community group in Certificates::PathwaysController#show. Secondary now has 3 non-community groupings (All courses, CQF, PD) instead of 1, so relying on default row order was no longer safe to guarantee "All courses" is picked

ENG-1534
@A-Wheeto
A-Wheeto temporarily deployed to teachcomputing-pr-2591 July 29, 2026 08:07 Inactive
@tc-deploybot
tc-deploybot temporarily deployed to teachcomputing-pr-2592 July 29, 2026 08:27 Inactive
These keys were superseded by @pathway.enrol_copy back in 2023 and have been unreferenced ever since - the how_to_enrol_1/2/3 body lines were never actually wired up in the first place

ENG-1264
@A-Wheeto
A-Wheeto temporarily deployed to teachcomputing-pr-2591 July 29, 2026 08:49 Inactive
@tc-deploybot
tc-deploybot temporarily deployed to teachcomputing-pr-2594 July 29, 2026 09:11 Inactive
@A-Wheeto
A-Wheeto temporarily deployed to teachcomputing-pr-2591 July 29, 2026 09:12 Inactive
@A-Wheeto
A-Wheeto temporarily deployed to teachcomputing-pr-2591 July 29, 2026 09:45 Inactive
Removing these from the activities array (rather than marking legacy) left the existing programme_activity rows attached and active in staging/production, letting users complete CQF/PD via this grouping even though they're now standalone objectives
@A-Wheeto
A-Wheeto temporarily deployed to teachcomputing-pr-2591 July 29, 2026 09:51 Inactive
@A-Wheeto
A-Wheeto temporarily deployed to teachcomputing-pr-2591 July 29, 2026 10:28 Inactive
…instead of marking legacy

Marking them legacy still let a Primary-only completion of these shared activities satisfy Secondary's community requirement, since Achievement has no programme scoping and users_completed doesn't check the legacy flag. CQF and PD now have their own per-programme "-secondary" activities for exactly this reason, so the old shared entries have no reason to remain attached here at all
@A-Wheeto
A-Wheeto temporarily deployed to teachcomputing-pr-2591 July 29, 2026 12:35 Inactive
Titles for activities like CQF embed an <a> tag directly, but this partial interpolated title as a plain string, so ERB auto-escaped the markup into visible literal text instead of a clickable link.
@A-Wheeto
A-Wheeto temporarily deployed to teachcomputing-pr-2591 July 29, 2026 13:12 Inactive
@A-Wheeto
A-Wheeto temporarily deployed to teachcomputing-pr-2591 August 3, 2026 11:47 Inactive
@A-Wheeto
A-Wheeto temporarily deployed to teachcomputing-pr-2591 August 5, 2026 12:15 Inactive
@A-Wheeto
A-Wheeto temporarily deployed to teachcomputing-pr-2591 August 10, 2026 07:18 Inactive
@A-Wheeto
A-Wheeto temporarily deployed to teachcomputing-pr-2591 August 10, 2026 12:20 Inactive
@A-Wheeto
A-Wheeto temporarily deployed to teachcomputing-pr-2591 August 10, 2026 12:36 Inactive
@A-Wheeto
A-Wheeto temporarily deployed to teachcomputing-pr-2591 August 10, 2026 13:27 Inactive
@A-Wheeto
A-Wheeto temporarily deployed to teachcomputing-pr-2591 August 10, 2026 14:06 Inactive
@A-Wheeto
A-Wheeto temporarily deployed to teachcomputing-pr-2591 August 12, 2026 07:28 Inactive
@sonarqubecloud

Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants