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

API V2.1 - Machine readable tags or IDs #4378

Open
srtalbot opened this issue Oct 9, 2024 · 10 comments
Open

API V2.1 - Machine readable tags or IDs #4378

srtalbot opened this issue Oct 9, 2024 · 10 comments
Assignees
Labels

Comments

@srtalbot
Copy link
Contributor

srtalbot commented Oct 9, 2024

Problem

How might we limit the amount of work a developer needs to do when a form that has an API integration needs to be updated / republished?

Key user needs
As a developer
I need to limit the number of updates that I need to do
When a form is updated
So that I only have to change the parts of the integration that have updated on the form, rather than every single form question

As a form builder
I need to work with an infra developer to determine which form questions will (almost) never change
So that when a form is updated the questions that are stable do not change in the API integration

Actions on a question to consider

  • Reordering a question (e.g., moving "name" from 3 to 7)
  • Deleting and retyping a question
  • Fixing a typo on a question
  • changing the type of a question (e.g., from radio to checkbox)

Scope

  • Identify how we might prevent integrations from breaking - client devs suggested looking at "machine readable tags or IDs"
  • Identify what actions are destructive
  • Identify where we can prevent an integration from breaking or provide a warning for destructive actions.
@srtalbot srtalbot added the Core label Oct 9, 2024
@srtalbot srtalbot changed the title API V2.1.0 - Machine readable tags or IDs API V2.0.0 - Machine readable tags or IDs Oct 22, 2024
@connorscarolyns
Copy link

@thiessenp-cds @timarney we'll definitely need to talk this one through together to better understand the problems we are trying to solve. Do you think we should include one of our prototype partners who expressed this need to get a better idea of their needs?

@connorscarolyns connorscarolyns changed the title API V2.0.0 - Machine readable tags or IDs API V2.0.2 - Machine readable tags or IDs Oct 28, 2024
@Abi-Nada
Copy link

Connect with @bryan-robitaille and @craigzour first on ideas to get the ball rolling

@connorscarolyns
Copy link

Proposed approach:

Phase 1 -
Made sure current question IDs are static and consistent when forms are downloaded and re-uploaded

Phase 2-
Create a custom editable tag that users can add to their questions to enable consistency between different forms that use the same field types, like "Name"

@srtalbot @timarney @bryan-robitaille @Abi-Nada

@connorscarolyns
Copy link

@samsadasivan will be consulted on design when interface changes are ready.

@srtalbot srtalbot changed the title API V2.0.2 - Machine readable tags or IDs API V2.2 - Machine readable tags or IDs Oct 31, 2024
@connorscarolyns
Copy link

@Abi-Nada should we split this into two tickets? one for the static ID work and one for the editable tags?

@timarney timarney self-assigned this Nov 7, 2024
@timarney
Copy link
Member

timarney commented Nov 7, 2024

I think we should look at the editable tags first as that might help guide the path for the static ID work.

Looking to outline both before we make schema updates.

cc: @samsadasivan @connorscarolyns

@srtalbot srtalbot changed the title API V2.2 - Machine readable tags or IDs API V2.1 - Machine readable tags or IDs Nov 14, 2024
@timarney
Copy link
Member

timarney commented Nov 18, 2024

  • update element more dialog menu to allow tag input (default to uuid)
  • update form schema to support
  • update template store to include tag / uuid
  • Attach ID to Response on its way into the Vault
  • Ensure data gets saved to the API
  • Update ResponseDownload formats to parse "tagged" responses and extract/return the data

  • update increment id to store "next id"
  • update template store to use "next id"

  • test with repeating sets
  • test with address complete

@dsamojlenko
Copy link
Member

Work is underway here: #4694

@timarney
Copy link
Member

PR to update the template store to not re-use element ids.

#4695

@timarney timarney removed their assignment Dec 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

7 participants