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

Discovery: Audit Forms-related GraphQL queries that would be affected by upgrade to GraphQL 4.0 #13229

Closed wesrowe closed 1 year ago

wesrowe commented 1 year ago

Description

User story

AS A CMS Engineer I WANT to have a detailed list of GQL queries that need to be updated to GQL 4.0 for the Forms API SO THAT the Forms API remains stable and can receive expected data after GQL 4.0 / Drupal 10 upgrade.

Engineering notes / background

The Forms API in Lighthouse pulls Form related data via vets-api, using GraphQL queries. We need to understand:

So we can share that with the CMS team, in service of the GraphQL / Drupal 10 upgrade project.

Acceptance criteria

jtmst commented 1 year ago

It seems to me like a big part of this migration first me having to define a schema in the va.gov-cms repo, before we could look at the front end queries. I'm not sure this makes sense to estimate as a front-end task right now

jilladams commented 1 year ago

From GraphQL meeting on 4/13: (Erika, DaveC, Wes, Kamari, MikeH, Edmund, Tim, Nate, Siwrt, Daniel, Ryan, Josh)

Dave's immediate concerns:

core_schema_module: would help bring GraphQL 4 queries closer to GraphQL 3. Could reduce effort to ~1 quarter, rather than XL But: FE templates will require checking regardless, due to some syntax changes, etc.

FE impact:

JSON-API / Other GraphQL consumers

Scenarios

  1. GraphQL 4 on Drupal 10 (AP on its own) (would need GraphQL 3 to be on at the same time for cutover)
  2. GraphQL 3 with 10 (AP on its own)
  3. Stay on GraphQL 3 / Drupal 9 til AP completes, then move to GraphQL 4. (would still need overlap of api and 4)

Actions:

swirtSJW commented 1 year ago

This graph looks like a commit graph but it is more about steps. The idea is to identify the common work that is aligned with getting us to AP on Drupal 10 with the least duplication or throwaway work.

"Main" in this case it not a branch in a repository, but is the main timeline . Unfortunately I can not re-name it.

---
title: APIs From Now to AP
---
gitGraph:
branch GraphQL-3
branch GraphQL-4
branch "AP-json"
branch "AP-GQL"
checkout main
commit id:"current"
checkout GraphQL-3
commit id:"Copy 3 to 3custom"
commit id:"Namespace to run concurrently"
commit id:"Point content-build to new namespace"type: HIGHLIGHT
checkout main
merge GraphQL-3 id:"3 custom"
checkout GraphQL-3
commit id:"Patch 3custom to D10 ready"
checkout main
merge GraphQL-3 id:"3custom D10 ready"
checkout GraphQL-3
commit id:"Point VA forms to new namespace" type: HIGHLIGHT
commit id:"Point Chatbot to new namespace" type: HIGHLIGHT
checkout GraphQL-4
commit id:"Install 4"
checkout GraphQL-3
cherry-pick id: "Install 4"

checkout main
merge GraphQL-3 id:"GQL D10 ready"

commit id:"drupal 10"
checkout "AP-json"

checkout "AP-json"

commit id:"Build JSON Queries" type: HIGHLIGHT
commit id:"Build Next Templates" type: HIGHLIGHT
commit id: "full-AP"

checkout "AP-GQL"
commit id:"Convert existing GQL3 queries to GQL4" type: HIGHLIGHT
cherry-pick id:"Build Next Templates"
cherry-pick id:"full-AP"

checkout main
cherry-pick id: "full-AP"
commit id: "Shutdown GQL 3c"
jilladams commented 1 year ago

4/18 meeting: Tim, Steve, me, Josh, Daniel, Wes, Nate, Edmund, Mike, Kamari, Ryan, Dawn

Good news

Open question:

PW Next step:

Next steps that sit with CMS team:

jilladams commented 1 year ago

@wesrowe let's plan to talk about this one in FE refinement tomorrow. After you dropped from the GraphQL call we did identify one need for GQL query info, for Forms. I updated the ticket with that in mind, but we should review it as a group.

dsasser commented 1 year ago

VA Forms GraphQL queries used in vets-api

jilladams commented 1 year ago

@edmund-dunn @timcosgrove @swirtSJW ^ FYI

jilladams commented 1 year ago

Shared outcome with CMS team: https://dsva.slack.com/archives/CT4GZBM8F/p1682371789855499

Closing.