department-of-veterans-affairs / va.gov-cms

Editor-centered management for Veteran-centered content.
https://prod.cms.va.gov
GNU General Public License v2.0
97 stars 69 forks source link

SPIKE: VAMC Events Calendar Single Source of Truth #13213

Closed kmariepat-cityfriends closed 1 year ago

kmariepat-cityfriends commented 1 year ago

Background

Business case

Some events that happen at a local location are required or suggested to also publish to the Outreach Events calendar for national visibility. Right now VEO has to manually copy/paste nationally relevant events that happen in a regional/local location. e.g.: PACT Act related events.

Primary goal: Provide the ability to make local level events visible at the national level Secondary goal: As an editor, I want to publish this event to every calendar I have access to. (Regional visibility)

On Lovell you can publish a page to Lovell VA - Lovell Tricare OR both...the question is, is there a way to do that with events and what is the lift.

User stories

This may be a permissions thing... How might I publish to one or more of the events I have access to editors should be able to select where they want the events to appear Not dealing with workflows, it would be ok to say all VAMC editors will be given access to the outreach events section (using the Lovell model of publish it 1 publish it 2)

looking for a LOE to make these COPE (create once publish everywhere)

Acceptance Criteria

jilladams commented 1 year ago

@kmariepat-cityfriends Confirmed in PW sync with Wes and DaveC that this should stay with Facilities. The true ask: Make it possible for VAMC editors to publish Events to the main Outreach Events calendar . (This may be something that the Outreach Events folks later need to moderate, but for now, that's not a problem to solve.)

Re: How it works today, did some poking -- notes for helping with scope, and for whoever picks this up to pre-refine:

kmariepat-cityfriends commented 1 year ago

Next Steps: @swirtSJW to complete writing AC

davidconlon commented 1 year ago

Note: I am aware may roll into sprint 83 and reviewed as part of mid-sprint check-in on 82.

davidmpickett commented 1 year ago

Contrasting what @jilladams experienced. I logged into Staging as Katie.Yearley@va.gov and was unable to save an event using a "Where should the event be listed?" list that didn't match the Section I selected. Quite possible that Jill found an instance of an validation criteria step not firing correctly.

Screenshot 2023-04-24 170324

davidmpickett commented 1 year ago

Option A - Change "Where should the event be listed?" field

Option B - Add a separate field specifically for submitting events to the Outreach Event calendar

swirtSJW commented 1 year ago

Option B while being the smallest lift on being able to select the logic, would yield no existing way to connect events on the FE, A checkbox would not be an entity reference which would allow the listing pages to find what references them.

Sections should be unaffected as that is about ownership and we do not want outreach to be editing facility level events.

This is really about changing two things (Option A).

  1. Make the selector field (field_listing) for which listing page an event is connected to be multi-select (cardinality of 2 or more). image

  2. Exempt the existing winnower from removing the Outreach and Events from the select list.

We definitely should not be tying our examples to Lovell. Lovell is a completely different animal that does not need its logic changed.

There may also be some FE work as I am not sure if the current FE build creates a page for every event, or a page for every event on a listing page.

swirtSJW commented 1 year ago

Option C All events go to Outreach Events by default.

The other option is to alter how the Outreach Events list page works and have it grab all events, not just the ones that reference it. (that would be forcing all events onto that page, without the option of ever not having an event show. I am not sure event search can handle this.

swirtSJW commented 1 year ago

RISK: Overloading event search

There is a risk with any of these approaches that the number of events may swamp Events V2 front end which puts them all into JS. Currently Outreach Events (events search) has 187 Upcoming results. The current total of upcoming evetns across all event lists is 3,700 I am not certain the current event search (events V2) was built to support that level of growth (20x) and be performant.

swirtSJW commented 1 year ago

Summary

Option A - Change "Where should the event be listed?" field

  1. Make the selector field (field_listing) for which listing page an event is connected to be multi-select (cardinality of 2 or more). image

  2. Exempt the existing winnower from removing the Outreach and Events from the select list. (8)

Option B - Add a separate field specifically for submitting events to the Outreach Event calendar

  1. Add a checkbox field to opt-in to "Also show on Outreach Events"
  2. Would need to not show the new checkbox field when Outreach Events is actually selected if we want to keep that pattern.
    • Pro:. Lightest lift on CMS
    • Con: Would require a complete rebuild of Outreach Events FE page to use the unique logic.
    • Con: moderate risk of overwhelming Outreach and Events since each event would be opting into displaying there. (would not be an immediate jump.)

Option C - All events go to Outreach Events by default.

  1. Would require a complete rebuild of Outreach Events FE page to use the logic to get ALL events.
    • Pro: a more robust national calendar for Veterans
    • Con: Heavy risk that Events V2 would not support the current volume of events.
swirtSJW commented 1 year ago

@kmariepat-cityfriends Let me know if you want to discuss ^^

kmariepat-cityfriends commented 1 year ago

@davidconlon this card is complete sans 1 AC regarding your selection of one of the proposed implementation options above.

After my review I support Option A, in that it is the lightest development lift requiring little to no front end changes and is the least change to existing patterns. Additionally it caries a moderate risk to overwhelming the events cal with content, option B and C have a moderate to heavy risk of overwhelming the events cal.

With that said, please review the options above and identify your ideal choice. If you don't comment on this card before sprint planning, I will do my best to give a 10 min timebox to selecting an implementation option. From there @swirtSJW can complete the AC on the card by making the implementation epic for the selected approach.

omahane commented 1 year ago

@swirtSJW @davidmpickett A couple thoughts.

Why would the select list have to be 2 or more? Wouldn't unlimited work? The event could still be for only 1 section, I'd think.

Also, we should have some UX review on this, as the solution Dave Pickett recommended, to mirror the way Leadership List works, seems a better user experience than the "CTRL+Click" or "CMD+Click" for multi-select lists.

jilladams commented 1 year ago

The "multi-select as checkboxes" paradigm is "experimental" in the CMS Design System and spawned a ticket for the CMS team. So: we may be able to use it, but would need CMS collab cycle review to confirm. (Slack thread about state of the thing currently; slack thread re: whether a ticket got cut.)

jilladams commented 1 year ago

(Realizing I read "Leadership list" as "Benefit" bc braIns crossing DaveP / multi-select UX paradigm wires, and you are talking about something else entirely. Ignore.)

jilladams commented 1 year ago

From sprint planning:

Business case: Right now VEO has to manually copy/paste nationally relevant events that happen in a regional/local location. e.g.: PACT Act related events must be published nationally.

Goal:

Options:

jilladams commented 1 year ago

@swirtSJW @kmariepat-cityfriends Is this ticket ok to close? Comment above from sprint planning noted Option A is preferred. I think the outstanding item here is tickets for implementing that option?

kmariepat-cityfriends commented 1 year ago

An epic to track implementation has been created: Events Calendar Single Source of Truth #13527