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

[Events] Provide an FE design to expose the CMS field (registration required checked) to the FE #15388

Closed
12 tasks done
Tracked by #16272 ...
wesrowe opened this issue Sep 25, 2023 · 21 comments
Closed
12 tasks done
Tracked by #16272 ...
Assignees
Labels
Design 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 UX

Comments

@wesrowe
Copy link
Contributor

wesrowe commented Sep 25, 2023

Description

Needs refining – discovered this issue/defect(?) in #13329. Documented in a comment on 13329, FE engineer may respond do that comment.

User story

AS AN Event Editor
I WANT any selections I make in the drupal UI be reflected in the Veteran-facing product
SO THAT Veterans get complete and accurate information about events.

###Design

Background

We need to know how/if the "registration required" checkbox in the Event UI is used by the FE template. At the moment, it doesn't appear to change anything on the front-end.

Example:

The Event Editor checked the box for required, but I don't see anything in the FE that indicates that:
image
image

Engineering notes

  • The 'registration is required' field is called field_event_registrationrequired
  • It is NOT used in the FE template. Instead, the field_event_cta field is used to determine if registration is in place, and if so, render the type of registration based on the field_event_cta field value. The field_event_registrationrequired is not used anywhere in the FE.
FE code
        {% if fieldLink or fieldEventCta or fieldAdditionalInformationAbo %}
          <div class="registration vads-u-margin-top--4 vads-u-margin-bottom--1">
            {% if start_timestamp < current_timestamp %}
              <p class="vads-u-margin--0 vads-u-color--secondary vads-u-font-weight--bold">This event already happened.</p>
            {% else %}
              {% if fieldLink %}
                <p class="vads-u-margin--0">
                  <a class="vads-c-action-link--green" href="{{ fieldLink.url.path }}">
                    {% if fieldEventCta %}
                      {{ fieldEventCta | removeUnderscores | capitalize }}
                    {% else %}
                      More details
                    {% endif %}
                  </a>
                </p>
              {% endif %}

              {% if fieldAdditionalInformationAbo %}
                <p class="vads-u-margin--0">{{ fieldAdditionalInformationAbo.processed | phoneLinks }}</p>
              {% endif %}
            {% endif %}
          </div>
        {% endif %}

Analytics considerations

Quality / testing notes

Acceptance criteria (Sprint 98 - 3 points)

  • Worked with BE engineer to find out what field is set by the "registration required" checkbox
  • Verified with FE engineer whether the FE template queries the "registration required" field
  • Spelunked any existing assets to determine what the original intent of this field was – github, Figma/Sketch, Slack, etc
  • Made recommendation to PM/PO about what to do to make the FE match the BE
  • Make design illustrating what the behavior should be in the FE based on CMS choices

Acceptance criteria (Sprint 99 - 3 points)

  • Review with Accessibility
  • Requested UX Lead review
  • Review with Engineers

Acceptance criteria (Sprint 100 - 2 points)

  • Implement any feedback
  • Ticketed FE implementation (ping Fran to write ticket)
    • Keep Tim Cosgrove in the loop - events in this case..
  • Ticketed BE implementation (ping Fran to write ticket)
@wesrowe wesrowe added Needs refining Issue status Public Websites Scrum team in the Sitewide crew Events product maintained by Public Websites team VA.gov frontend CMS team practice area non-quarter-prio (PW) not related to quarterly priorities labels Sep 25, 2023
@wesrowe wesrowe added Design CMS team practice area UX CMS design labels Sep 25, 2023
@wesrowe
Copy link
Contributor Author

wesrowe commented Sep 25, 2023

assigned to Jordan for pre-finement.

@randimays
Copy link
Contributor

@wesrowe @thejordanwood The registration required field is available to this template (I checked, and it's coming out true), but it is not used.

@thejordanwood
Copy link

What I found while spelunking:

  1. No FE design in this Sketch file. I found the CMS design for this in Figma.
  2. This slack thread mentions a FE defect where events hosted online fail to display on published event pages (ticket 11346) and a defect with the call to action conditional field values (ticket 9410). In that thread the "registration is required" field was mentioned but I don't believe it was tied to either of these defects.

From a design standpoint, I can't find an answer to if "registration is required for this event" was intended show on the FE or not. My opinion is that it should show only if the Registration call to action is selected. The other call to actions (Apply and RSVP) imply that a next step is required and the More Details call to action should have no requirements.

@jilladams jilladams removed the VA.gov frontend CMS team practice area label Oct 18, 2023
@jilladams
Copy link
Contributor

We talked about this briefly in FE refinement, and the next step seems like: let's get a comp together to propose what shoul d happen between CMS <>FE so Editors can tell Veterans to Register. Queing to refine more with UX.

@jilladams
Copy link
Contributor

Rereading I think we are down to:

  • We could expose it to the Front-end, just need to decide where.
  • We could hide it or remove it from Drupal.

If there are any events where the box is checked (Drupal could audit and tell us that), that indicates it's true for some events, and we should consider exposing it to the FE, near the CTA.

@thejordanwood
Copy link

@jilladams I do believe that there are some events where this is checked, so we may need to show it on the FE.

@FranECross FranECross added the Drupal engineering CMS team practice area label Oct 30, 2023
@jilladams jilladams removed Drupal engineering CMS team practice area CMS design labels Nov 13, 2023
@jilladams
Copy link
Contributor

This ticket has been updated to cover providing a FE design to expose that CMS field to the FE.
We'll need a FE implementation ticket, once the design is done, noted in the ACs.

Calling this refined, but if we wind up with more questions during the work or need to add/update ACs, just holler.

@FranECross FranECross changed the title Event: is "registration required" checkbox in Drupal UI being used anywhere? [Events] Provide an FE design to expose that CMS field (registration required checked) to the FE Nov 14, 2023
@FranECross FranECross changed the title [Events] Provide an FE design to expose that CMS field (registration required checked) to the FE [Events] Provide an FE design to expose the CMS field (registration required checked) to the FE Nov 14, 2023
@FranECross FranECross removed the Needs refining Issue status label Nov 27, 2023
@thejordanwood
Copy link

End of sprint update:

I added the design to the Outreach and events Sketch file, but haven't had time to get feedback this sprint. I added ACs to the ticket to show who I need to get feedback from.

@thejordanwood
Copy link

After thinking this through more, I believe this will need a change in Drupal to provide a better UX experience.

  • The FE design can be found in this Sketch file. My proposal is that we add a sentence under the CTA that states "Registration is required for this event."
  • The Drupal design can be found on the Registration page in this Figma file. I believe we should move the "Registration is required for this event" checkbox below the Call to action dropdown and have it show conditionally.
  • It should not show when an editor selects More Details. It should show when an editor selects Registration.
  • Should it show when an editor selects Apply or RSVP? To me, these labels imply that they're required, but I'm wondering if that isn't so obvious.

@laflannery
Copy link
Contributor

@thejordanwood

  • For the front end, I have 2 comments:
    • I think the sentence should be above the CTA as this seems a bit more logical. Someone is reading the page, they get to the Register link, go by is, then they find out registration is required now they have to go back up vs they read that registration is required, then the next thing they encounter is the registration link.
    • However, I am also a little concerned that simply having this as plain text (above or below), not associated at all to the Register link, is going to get missed. I'm thinking we might want to add a aria-describedby attribute so that the link would be read as "Register link Registration is required for this event".
  • I like your Drupal solution, I agree that this should change to be conditional depending on if folks choose the "Register" CTA.
  • To answer you question on if it should show for Apply/RSVP, I think this would depend on what happens when those options are selected.
    • For example, if an event has "Apply" chosen, and it's required that the user Apply/Register/whatever, I think it's important that the FE text matches the FE CTA. "Apply link It is required to apply for this event".

@jilladams
Copy link
Contributor

I agree with Laura in general that I think the " is required" field uses Registration in a more general sense, where Apply / RSVP/ Registration CTAs are the specific flavors of Registration that may be required. But: we could vet that with Amanda? (Was thinking to myself: ideally we'd have a business owner to verify that with, but Events straddle everything (VEO, VAMCs, Vet Centers, Regional Offices), so need to be abstracted and I don't think anyone but Dave or Amanda could really give us this guidance.)

@thejordanwood
Copy link

@jilladams @aklausmeier @laflannery I now show what this would look like on the FE and in Drupal if we say "Registration/RSVP/Application is required for this event."

@jilladams
Copy link
Contributor

@aklausmeier I missed this one in our review earlier but it's in the same state -- mockup is ready and review requested.

@thejordanwood @FranECross and Amanda: FYI that I updated ACs per the new guidance for requesting review, and added a couple Sprint 100 ACs that should close this out once Amanda has time to review. Feel free to update points as needed.

@laflannery
Copy link
Contributor

@thejordanwood I definitely think it makes more sense to break it up like this, so the sentences are more specific. My last comment, and it's more on the nitpicky side is that "RSVP is required for this event" sounds odd to me. Would it sound more natural is we swapped the word order to be "It is required to RSVP for this event"? And if it's easier to have the same structure for all versions it could work for everything (It is required to register/apply/RSVP for this event). So that's my last thought but @aklausmeier might have an idea on this.

@aklausmeier
Copy link

@thejordanwood Drupal design looks good to me. TY for showing each flow. Having the required verbiage stay consistent is the best UX for our editors.

For FE design, I'm thinking for better scanability for Veterans, we pop the required verbiage up to the details above and only show when required is selected in Drupal.

Quick mockup to show what I'm thinking:

Screenshot 2023-12-20 at 1 59 53 PM

@thejordanwood
Copy link

@aklausmeier I've updated the Sketch file to reflect those changes. The copy will now say:

  • Registration: Required
  • RSVP: Required
  • Application: Required

I want to note that the FE desktop mockups were a bit inaccurate and that social media links will display between the required line and the CTA. I still think this looks good though!

@laflannery Feel free to look over again and provide any additional feedback if needed.

Screenshot 2023-12-21 at 10 55 09 AM

@FranECross I believe we're ready to create FE and BE tickets for this work.

@FranECross
Copy link

Thanks, @thejordanwood ! I'll get the tickets created. 🎉

@FranECross
Copy link

@thejordanwood @jilladams Here are the two tickets!

@jilladams
Copy link
Contributor

@aklausmeier @laflannery Let us know if you have any other notes -- if y'all are in alignment, this ticket is ready to close.

@laflannery
Copy link
Contributor

No more notes from me!

@aklausmeier
Copy link

No additional notes from me

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Design 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 UX
Projects
None yet
Development

No branches or pull requests

7 participants