Skip to content

Improve DEPR process for toggles #283

@robrap

Description

@robrap

The following are a number of ideas for improving deprecation for toggles.

  1. These could be split out into separate tickets as needed.
  2. These were originally sourced from https://openedx.atlassian.net/wiki/spaces/AC/pages/2554331530/Toggles+and+Settings+Documentation.

Questions:

  • How can we ensure that newly added temporary toggles are handled by maintainers, and don't become random future DEPR work?
    • Can we have an SLA for maintainers for removing temporary toggles? Especially to apply to new ones.
    • What's the best way to move forward on this?

Proposals:

  • Add annotation for toggle_target_value (get name reviewed) to document whether to keep the True or False case once removed.
    • This would be required for temporary toggles.
    • Is it useful to have this in the code, or is some of this DEPR metadata better kept in the DEPR ticket alone?
    • We could just document that this detail should be added to the description for now.
  • Ensure (lint) a properly formatted date for toggle_target_removal_date annotation.
  • Here are examples with toggle_target_removal_date of None, even though it is required.
    • Note: This whole section is meant to be under the lint toggle_target_removal_date bullet, but indentation isn't working correctly.
      • Regarding linting, what if people want to use a named release instead? Should they just use its date?
      • Many of the examples also added unnecessary text to toggle_warnings that toggle_target_removal_date was not set.
      • Possibly authors documented during docathon, and were afraid to set a date.
      • How-to was since updated with proposal for how to choose a date.
      • Linting failure help text could point to these docs.

Additional Notes:

Moved to separate tickets:

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    Draft

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions