Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

VAGOV-TEAM: 93059, 93060, 94023 #19541

Merged
merged 22 commits into from
Oct 23, 2024
Merged

VAGOV-TEAM: 93059, 93060, 94023 #19541

merged 22 commits into from
Oct 23, 2024

Conversation

ryguyk
Copy link
Contributor

@ryguyk ryguyk commented Oct 18, 2024

Description

Relates to:

This is a PR that implements a first pass at some of the initial pieces of building out the Form Builder UI in Drupal. It's important to note that there are a lot of moving pieces/architectural decisions that we'll need to navigate in building out this custom UI, and I ran up against some of them already in this PR. Instead of trying to waterfall this whole thing, this PR is a first pass, and we'll iterate and be agile as we go.

Features added:

  • Routing
  • Controller
  • Three form steps:
    • Intro ("Working with the Form Builder") - this name "Intro" might be changed in the future, as there might be a different intro page.
    • "Start a conversion"
    • Name and DOB

Testing done

Adds unit tests for some abstract base form classes. Adds functional tests for controller and form pages.

See QA steps for additional testing.

Screenshots

image
image
image

QA steps

Prerequisites

  1. Ensure Form Builder module is installed/enabled.
  2. Log in as admin

Form Builder - Entry

  1. Navigate to /form-builder
    • Ensure redirect to form-builder/intro

Form Builder - Intro

  1. You should now be at form-builder/intro
    • Click 'Start conversion' button.

Form Builder - Start conversion

  1. You should now be at form-builder/start-conversion
    • Complete the form.
    • Validate that the digital form is created (you should be redirected to the name-and-dob page with a node id in the URL.

Form Builder - Name and DOB

  1. You should now be at form-builder/{node_id}/name-and-dob
    • Click 'Continue'.
    • Validate that the digital form node has a name-and-dob chapter added (you should be at the default node-edit form and should be able to see all fields on the node.

Definition of Done

  • Documentation has been updated, if applicable.
  • Tests have been added if necessary.
  • Automated tests have passed.
  • Code Quality Tests have passed.
  • Acceptance Criteria in related issue are met.
  • Manual Code Review Approved.
  • If there are field changes, front end output has been thoroughly checked.

Select Team for PR review

  • CMS Team
  • Public websites
  • Facilities
  • User support
  • Accelerated Publishing
  • Form Engine

Is this PR blocked by another PR?

  • DO NOT MERGE

Does this PR need review from a Product Owner

  • Needs PO review

CMS user-facing announcement

Is an announcement needed to let editors know of this change?

  • Yes, and it's written in issue ____ and queued for publication.
    • Merge and ping the UX writer so they are ready to publish after deployment
  • Yes, but it hasn't yet been written
    • Don't merge yet -- ping the UX writer to write and queue content
  • No announcement is needed for this code change.
    • Merge & carry on unburdened by announcements

@va-cms-bot va-cms-bot temporarily deployed to Tugboat October 18, 2024 03:18 Destroyed
Copy link

Checking composer.lock changes...

@va-cms-bot va-cms-bot temporarily deployed to Tugboat October 18, 2024 04:06 Destroyed
Copy link

Checking composer.lock changes...

@ryguyk ryguyk changed the title Vagov team 93059 93060 94023 VAGOV-TEAM: 93059, 93060, 94023 Oct 18, 2024
@va-cms-bot va-cms-bot temporarily deployed to Tugboat October 18, 2024 04:26 Destroyed
Copy link

Checking composer.lock changes...

@va-cms-bot va-cms-bot temporarily deployed to Tugboat October 18, 2024 08:58 Destroyed
ryguyk added 21 commits October 18, 2024 07:59
- Scaffolds va_gov_form_builder custom module.
- Adds service for validating uniqueness of a node based on a given field.
- Adds Form Builder "Start a conversion" page.
- Adds Form Builder "Name and DOB" page.
- Adds unit and functional tests.
- Adds Traits for tests.
- Updates router/controller for the three pages.
@ryguyk ryguyk force-pushed the VAGOV-TEAM-93059-93060-94023 branch from fc52aaa to 7fc0db9 Compare October 18, 2024 12:59
@va-cms-bot va-cms-bot temporarily deployed to Tugboat October 18, 2024 13:00 Destroyed
Copy link

Checking composer.lock changes...

@ryguyk ryguyk marked this pull request as ready for review October 18, 2024 13:33
@ryguyk ryguyk requested a review from a team as a code owner October 18, 2024 13:33
@derekhouck
Copy link
Contributor

Feedback after going through the QA steps:

  • I had to flush the caches after I checked out the branch. Once I did, /form-builder went to the right page.
  • When I get to form-builder/{node_id}/name-and-dob, there's no indication on the page that any of the information I input on the previous page has been saved. I realize some of this may appear in the sidebar that will come later. But at the very least, it might be good to put the name of the form in either the breadcrumbs or the h1.
    Screenshot 2024-10-18 at 9 28 24 AM
  • When a step name is display-only and not editable, we should probably do more to visually indicate this. BW may have suggestions on accessible ways to indicate a read-only state.

Copy link
Contributor

@derekhouck derekhouck left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't want to hold you up, so I'm going to approve this because I don't see anything here that absolutely needs to get changed before we merge. However, I would like to see tickets added as comments for the following items if they're not addressed by this PR:

  • The form's name on form pages after the "Start Conversion" form page (this may be handled by an "implement sidebar" ticket)
  • The read-only "Step name" field looking less like a field users can edit.
  • Validation of steps/chapters within Form Builder
  • 1-to-1 matching of field validations between Form Builder and Digital Form content type (OMB Number can only be 9 characters, for example)
  • Adding permissions for Form Builder that are separate from the Digital Form content type.

@va-cms-bot va-cms-bot temporarily deployed to Tugboat October 23, 2024 18:08 Destroyed
Copy link

Checking composer.lock changes...

@ryguyk ryguyk merged commit 3f1408f into main Oct 23, 2024
18 checks passed
@ryguyk ryguyk deleted the VAGOV-TEAM-93059-93060-94023 branch October 23, 2024 20:07
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.

3 participants