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

BE: Enable Event Editors to use email as call to action #15385

Closed
13 of 16 tasks
Tracked by #15742 ...
wesrowe opened this issue Sep 25, 2023 · 14 comments
Closed
13 of 16 tasks
Tracked by #15742 ...

BE: Enable Event Editors to use email as call to action #15385

wesrowe opened this issue Sep 25, 2023 · 14 comments
Assignees
Labels
backend Drupal engineering CMS team practice area Events product maintained by Public Websites team non-quarter-prio (PW) not related to quarterly priorities Public Websites Scrum team in the Sitewide crew sitewide

Comments

@wesrowe
Copy link
Contributor

wesrowe commented Sep 25, 2023

Description

User story

Describe the audience/user, enhancement or fix, and value / outcome desired.

AS AN Event Editor
I WANT to be able to offer an email address instead of a URL for Veteran responses (etc)
SO THAT I can hear from Veterans in the best way for me.

Engineering notes / background

Design in Figma.

Help text:

Add an email address that people can contact to sign up for this event. Use a general VA email address whenever possible. Example: [email protected].

Acceptance criteria

Consider

  • Design / Accessibility reviews
  • Collab cycle requirements
  • Device sizes (mobile first)
  • Documentation updates / Change management
    < - Content model documentation
  • Testing notes

**NOTE: Don't merge until FE & Change Management are ready

  • Audit the existing URL field on Events to understand if any existing, published Events use mailto: in the field.
  • When an Editor selects a CTA (e.g. Register), a new "How to sign up" dropdown appears per Figma design offering URL and Email options
  • If they pick URL, the existing "URL" field is displayed and is required
  • Validation prevents saving an email in the URL field
  • Validation enforces VA.gov email domain
  • If they pick Email, a new "Email" field is displayed and is required
  • Validation checks to make sure a well-formed email has been entered
  • When switching "How to sign up" from Email to URL, or URL to Email, we follow UX guidance for conditional logic to clear existing field entries
  • Email or URL is saved in BE such that it will be displayed by FE
    • this needs FE implementation ticket
  • Headings and help text are updated
  • Tests added as appropriate
  • Requires PM review
  • Requires Design review
  • A11y review with Laura
  • PR is marked DO NOT MERGE, ticket is moved to Complete Pending Integration pipeline
@wesrowe wesrowe added Needs refining Issue status Public Websites Scrum team in the Sitewide crew Drupal engineering CMS team practice area backend Events product maintained by Public Websites team non-quarter-prio (PW) not related to quarterly priorities labels Sep 25, 2023
@wesrowe
Copy link
Contributor Author

wesrowe commented Sep 25, 2023

Assigned to @dsasser for pre-finement (by next week).

@wesrowe wesrowe mentioned this issue Sep 26, 2023
30 tasks
@wesrowe wesrowe mentioned this issue Oct 6, 2023
28 tasks
@jilladams
Copy link
Contributor

@thejordanwood can you confirm: if a user chooses "How to sign up" > Email, enters an email, then switches to URL (or vice versa) we think we should be clearing the Email value when we switch. Yes?

@thejordanwood
Copy link

@jilladams I agree that it should clear when switching.

@jilladams
Copy link
Contributor

From refinement:

@thejordanwood
Copy link

Email
Add an email address that people can contact to sign up for this event. Use a general VA email address whenever possible. Example: [email protected].

This is the recommended text for the email field. After reviewing directive 6102, we only need to suggest that a general VA email be used here. This was approved by Blake in the Figma file.

Note: [email protected] email address will not be a link. This is a Github styling issue that I can't fix.

@jilladams
Copy link
Contributor

@dsasser one note from VHA DM: we need to enforce only va.gov as the email domain for this field. Adding to ACs.

cc @FranECross

@dsasser
Copy link
Contributor

dsasser commented Nov 14, 2023

AC: Audit the existing URL field on Events to understand if any existing, published Events use mailto: in the field.

Events using mailto: are below. There are 29 of them as of 11/14/23 @ 10:30AM
VACMS-15385-mailto-links-query-export.csv

@dsasser
Copy link
Contributor

dsasser commented Nov 15, 2023

@jilladams @FranECross
Because we are adding 2 new fields (the 'how to sign up', and the email field), and given the existence of mailto: data in the existing URL field we have a wrinkle or two.

  1. What do we want to do with the events that have mailto: in them? We could migrate those mailto: addresses into the new Email field, but...
  2. I need to control the visibility of the CTA field (email, URL) depending on the value of the new 'how to sign up' field: if 'how to sign up' = Email, display the new email field, if set to URL, display the existing URL field. However, what do we want to do for existing events where the value of the new 'how to sign up' field has no value? We could default the value of 'how to sign up' to URL, which would avoid any issues with existing events, but I wasn't sure if there was a hidden data migration/population not called out on the ACs for this. Also, the design calls for not setting a default here.

@jilladams
Copy link
Contributor

Firstly: Checked and all the affected events are in the past, so that's a good starting point / lower risk to make changes to them specifically.
VACMS-15385-mailto-links-query-export.csv
Screenshot 2023-11-15 at 2 52 03 PM

For the rest of it, I'm gonna add to 16th min for tomorrow (11/16 Thurs) bc I think discussing will help Fran / Jordan get heads around it. Some thoughts meantime:

  • For the 29 events with mailto in the URL field today: If we default to URL, leave those events as is / don't worry about migration, would it break things, or would it just mean an Editor would have to fix it next time they try to edit the Event? (Which they prob won't ever.)
  • For other existing events: if we say "An event that includes a URL today should be migrated to set "How to sign up" to URL", is that migration big / how does it affect effort here? It seems like a wise path if it's not a gigantic effort.

@dsasser
Copy link
Contributor

dsasser commented Nov 16, 2023

Handling of existing URL fields (16th minute decision)

Based on our discussion in 16th minute scrum today, and related to the previous questions:

Existing Event with URL field populated

If an existing event is populated with an registration url

  • The 'how to sign up' field will be made visible
  • The URL field will be made visible
  • No action is required from the user to display the existing url

This will prevent necessitating a migration/population of data into the new 'how to sign up' field.

Existing Event with a mailto: link in the URL

If an existing event includes a 'mailto:' link in the registration url field:

  • The 'how to sign up' field will be made visible
  • The URL field will be made visible
  • Upon saving the Event, the system will generate an error message, requiring the user to change to use the new Email field, or update the mailto: to point to an URI.

Since all existing events using a mailto: email address in the URL field are past events, and we will be adding validation to prevent that, taking no further action here is little risk.

@dsasser
Copy link
Contributor

dsasser commented Nov 20, 2023

Constraint/Form error jump links

Jump links for constraint-provided errors are not working. We are using constraints to provide the validation for this ticket, but the jump links provided (by core?) are not working as expected. The jump links should be targeting element IDs related to the field with the error, but the jump link URLs do not match the element IDs. I spent about an hour trying to figure out why, but it is a deep rabbit hole, or at least not very obvious why this is occurring. This probably should be surfaced to the CMS team for further testing once this gets merged.

@dsasser
Copy link
Contributor

dsasser commented Nov 21, 2023

End of Sprint Update

The PR has been approved by Nathan (code), Laura (a11y, UX), and Jordan (UX/Design).

The PR cannot be merged this sprint, as we also need FE work to wire in the new Email field in content-build.

@dsasser
Copy link
Contributor

dsasser commented Dec 1, 2023

Status update 12/1/23

As previously mentioned, this work is done and approved, but we are waiting on the FE piece to be ready before we can merge.

@dsasser
Copy link
Contributor

dsasser commented Dec 20, 2023

Verified in Prod:

Screenshot 2023-12-20 at 10 37 37 AM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backend Drupal engineering CMS team practice area Events product maintained by Public Websites team non-quarter-prio (PW) not related to quarterly priorities Public Websites Scrum team in the Sitewide crew sitewide
Projects
None yet
Development

No branches or pull requests

5 participants