Skip to content

Consider adding a layer to permit renaming of signals #1077

Open
@krivard

Description

@krivard

Via #239:

As we add sources and signals, our naming sometimes needs to evolve to remain clear and accurate. Right now we are stuck indefinitely with naming decisions we made long ago. We need a more flexible way to evolve while remaining backward compatible. We need to have a process for gradually deprecating old names.

This work would likely involve:

  • a name-mapping table
  • an additional step in assembling query parameters to map from the user-provided name to the appropriate signal key id

If there are sneaky design decisions in the details, we may want to put together a PRD for this to explore them -- the immediate questions that occur to me are:

  • how is the name-mapping table updated? who is allowed to update it? how risky are updates to this table?

  • New layer in API to support signal preprocessing and renaming #239 mentions adding deprecation notices for some renames:

    Enable naming evolution by using this layer to support backward compatibility, with some feedback about deprecation. So, the current API calls would still work, but would be translated into the new calls, and old signal names will be mapped into new signal names, for as long as we want, after which they will return a "please switch to the new name" error message.

    how should these be encoded? if a deprecation notice collides with another status message, how should we combine messages?

  • does this need to be incorporated into pre-pandemic endpoints, or just those that use the v4 data model?

Metadata

Metadata

Assignees

No one assigned

    Labels

    project proposalThis is a big project deserving of a full project requirements doc

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions