Skip to content

Seed the Annual Evaluation 2026 form - #2479

Merged
maebeale merged 7 commits into
mainfrom
maebeale/seed-annual-evaluation-form
Sep 1, 2026
Merged

Seed the Annual Evaluation 2026 form#2479
maebeale merged 7 commits into
mainfrom
maebeale/seed-annual-evaluation-form

Conversation

@maebeale

@maebeale maebeale commented Sep 1, 2026

Copy link
Copy Markdown
Collaborator

🤖 suggested review level: 3 Read 📖 additive dev seed + rake task; worth a read to check question wording, field identifiers, and types

Seeds AWBW's Annual Evaluation as one standalone, published form — the full SurveyMonkey questionnaire facilitators complete each year — so it lives in the portal and its submissions roll up on /forms/:id/results.

Part of #136.

What / why

  • New dev seed db/seeds/dev/annual_evaluation.rb (rake db:seed:annual_evaluation, also part of db:seed:dev): about you, organization info, your work, yearly reach, impact ratings, participant demographics, program impact on you, spread-the-word.
  • ~60 questions across sections, plus ~20 varied sample submissions so the results page has a real report.
  • Idempotent — form by slug, fields by name, answers skipped if present; reseeding is stable.

Fields modeled like the registration / CE-callout forms

So answers resolve to real records (not free text), and match how the rest of the portal collects them:

  • Identity — First / Last name (first_name / last_name) and Primary Email are logged_out_only, so once prefill lands a signed-in facilitator isn't re-asked. They save to the Person on submit.
  • Pronouns — a text field with the pronouns identifier (saves to the Person).
  • Organization — the agency questions are renamed Organization Name / Position / Title / Organization Website with the organization_* identifiers and registration widths.
  • Credentials — the CE-callout license fields (ce_license_kind / _number / _issuing_state / _expires_on), so they can save to a ProfessionalLicense.
  • Primary age group — the dynamic primary_age_group dropdown (options from the AgeRange categories; the seed's answers store category ids).
  • The four yearly-reach counts share one row (quarter width).

Numbers, not sliders (deliberate)

Important: persistence is set up, not yet wired

The identifiers above make these fields ready to save to Person / Organization / ProfessionalLicense / primary age group — but the standalone submission flow (PublicFormSubmission) today only creates the Person (name/email/pronouns) and stores every answer. Persisting the organization, license, and age-group (and updating an existing person, which is what makes the "what this submission changed" page light up) is the prefill / save-participant-data PR — the other half of #136.

Notes for reviewer

  • Questions past the SurveyMonkey PDF's cutoff are reconstructed from the 2024 result set — worth a fidelity check.
  • Not added to config/features.yml yet since it isn't auto-deployed — happy to add an entry when the form goes live in prod.

Anything else to add?

Next: the prefill / save-participant-data PR that wires these identifiers through on submit and hides the logged_out_only fields for signed-in users.

maebeale and others added 2 commits September 1, 2026 11:12
Facilitators fill out AWBW's Annual Evaluation each year; this seeds the whole
SurveyMonkey questionnaire as one standalone published form so it lives in the
portal and its submissions roll up on the results page. Percentages and counts
are number fields (not sliders) so this stands alone — mergeable now, ahead of
the slider type.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Model the identity, organization, credential, and age-group questions the same
way the registration and CE-callout forms do, so their answers resolve to real
records rather than free text:

- Split name into First/Last with first_name/last_name identifiers, and mark
  name + primary email logged_out_only (prefill target for signed-in users).
- Pronouns is a text field with the pronouns identifier (saves to the Person).
- Rename the agency questions to Organization Name / Position / Website using the
  organization_* identifiers and registration widths.
- Credentials become the CE-callout license fields (ce_license_*), so they can
  save to a ProfessionalLicense.
- Primary age group is the dynamic primary_age_group dropdown (AgeRange options).
- The four yearly-reach counts sit on one row (quarter width).
- Retitle the form to 2026.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@maebeale maebeale changed the title Seed the Annual Evaluation form Seed the Annual Evaluation 2026 form Sep 1, 2026
maebeale and others added 5 commits September 1, 2026 12:07
Layout pass from reviewing the rendered form:
- Name row: First / Last / Pronouns share one row (third width); pronouns helper
  text is a hint, so the inputs align.
- Organization Name and License type helper text moved to hints (alignment).
- Country / language detail boxes are one-line half-width fields, parallel to
  their Yes/No, and still accept a long answer.
- Workshop-percentage pair is half width; credentials are quarter width (one row).
- Ethnicity percentages are third width; gender percentages are quarter width.
- Removed the "add a secondary email address" yes/no question.
- Moved the Federal Poverty Line question into the participants section.

Also make the seed converge on re-run: existing fields are updated to the current
definition and fields no longer defined are pruned, so layout tweaks show without
dropping the form.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Rename "State where your license was issued" → "State license was issued",
  drop LEP from the license-type examples, and "outside of" → "outside the".
- Match existing fields by field_identifier before name, so renaming an
  identified field updates it in place instead of colliding on the unique
  identifier and leaving a duplicate.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…er field

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@maebeale
maebeale marked this pull request as ready for review September 1, 2026 16:30
@maebeale
maebeale merged commit af12626 into main Sep 1, 2026
3 checks passed
@maebeale
maebeale deleted the maebeale/seed-annual-evaluation-form branch September 1, 2026 16:38
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.

1 participant