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

Public resources for building on and in support of VA.gov. Visit complete Knowledge Hub:
https://depo-platform-documentation.scrollhelp.site/index.html
282 stars 203 forks source link

[ENG] 10-10 apps: Investigate ability to utilize flipper toggles for vets-json-schema changes #88972

Closed hdjustice closed 1 month ago

hdjustice commented 3 months ago

Background

As an action item on the Postmortem for Special Characters, the team has determined additional process and documentation improvements are needed to ensure we follow all proper steps and precautions to avoid negatively impacting Veterans and causing additional work for ourselves and other VA teams.

Postmortem Action Item:

Suggestion from Patrick

true that changes to vets-json-schema (and the reference to the schema version in vets-website) cannot be placed behind a feature toggle. but validation logic could have been added in (basically the same logic that Mitch ended up adding) and put behind a feature flag. this would allow the schema to be bumped in vets-website, but not actually allow users in production to enter values newly allowed until we decided to. (and then if something went wrong with how those new values are handled — like here — the toggle could be turned off)

Tasks

Acceptance Criteria

longmd commented 2 months ago

After discussions and review of testing options, there is a forms library method available that would allow for the use of a feature flag to update the schema props in a form config declaration.

In this scenario, we could check the formData for the value and if true, return the default schema from the file, else, return some sort of hardcoded value that matched our previous schema props.

It may not be applicable in all cases, but could always be available as an option.

longmd commented 2 months ago

@hdjustice , noting there is no current or upcoming body of work that will provide for any test scenarios to be ran through. Those tasks will not be able to be performed at this time.

longmd commented 1 month ago

Closing as completed with the addition of the documentation link into the team runbook.