-
Notifications
You must be signed in to change notification settings - Fork 10
[BD-21] Simplify feature toggle annotation configuration #49
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
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -2,4 +2,4 @@ | |
| Extensible tools for parsing annotations in codebases. | ||
| """ | ||
|
|
||
| __version__ = '0.6.0' | ||
| __version__ = '0.7.0' | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -11,17 +11,15 @@ annotations: | |
| feature_toggle: | ||
| - ".. toggle_name:": | ||
| - ".. toggle_implementation:": | ||
| choices: [ExperimentWaffleFlag, WaffleFlag, WaffleSample, WaffleSwitch, CourseWaffleFlag, ConfigurationModel, DjangoSetting] | ||
| choices: [WaffleFlag, WaffleSwitch, CourseWaffleFlag, ExperimentWaffleFlag, SettingToggle, SettingDictToggle, ConfigurationModel, DjangoSetting] | ||
| - ".. toggle_default:": | ||
| - ".. toggle_description:": | ||
| - ".. toggle_category:": | ||
| - ".. toggle_use_cases:": | ||
| choices: [incremental_release, launch_date, monitored_rollout, graceful_degradation, beta_testing, vip, opt_out, opt_in, open_edx] | ||
| choices: [temporary, circuit_breaker, vip, opt_out, opt_in, open_edx] | ||
| - ".. toggle_creation_date:": | ||
| - ".. toggle_expiration_date:": | ||
| - ".. toggle_target_removal_date:": | ||
| - ".. toggle_warnings:": | ||
regisb marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| - ".. toggle_tickets:": | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @nasthagiri: Do we want this to be about removal (e.g. toggle_removal_tickets), or do we want this to any related tickets, which might be about removal, but may also be about the background of the ticket? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. What if we just eliminate this field altogether? Given that we'll soon have this report and can hold people accountable via the report, we don't need them to additionally manage the removal via tickets as well. It's up to them if they still choose to use tickets as an additional mechanism. But we no longer need to prescribe it. If there's any additional context they want to provide about a toggle, they can still provide a link to a ticket/etc in the free-form description.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think there is a misunderstanding: until now, I have used this field to document the ticket or Github PR that justifies the creation of the feature toggle, not its removal. This is useful information that helps put the feature toggle back in context (IMHO).
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. It could be used either way. The question is whether it is important enough to have its own annotation, rather than being a part of the description like is done for commit comments. A separate, but related topic, when we write up the how_to, is there any of this metadata that we think would be useful as part of a convention for naming the actual toggles, or do we think these annotations remove the need for that? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. If we keep this field, based on how @regisb is describing his current usage, it would be good to rename it. As of now, its name is not self-describing. Also, I am concerned about encouraging JIRA tickets since not all JIRA projects are public - and almost all require JIRA login. Rename ideas:
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I think Description Reference and Creation Reference are a bit too vague, and people might as well include whatever relevant links they want in the description. Creation PR is more specific, but couldn’t git blame answer this in the rare case it is needed and difficult to get from the git link? I know the JIRA tickets aren’t always public, but I am fine with people including them in the description as they do on PRs whether or not they are public, as added context. I personally would drop this (with 75%) confidence, but if either of you feel it is important to keep/rename, I think that would be fine. This brought up a related question for me. If someone does want to include links in the description, what format do they use? If we want people to use rst format, does our code-annotation parsing support it? Our how_to should mention what Rst is supported that won’t interfere with our parsing.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I see what you mean: any relevant information present in a JIRA ticket should actually be included in the feature toggle description. And many JIRA tickets are unavailable to non-edX contributors. On the other hand, this field can refer to a Github PR, as I have done in edx-platform; but there is a small chicken-and-egg problem here, as the PR does not exist at the time when we create the annotation. Ideally, if the annotation author feels like they should include reference links, then they could add them to the description. The problem is that, as it stands, annotations are assumed to be raw text. For instance, the following formatting elements will not work as expected in an annotation field: clickable links ( We could add such formatting to the annotation format -- but it would require some additional work. I suggest we keep this
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I say we merge and come back to this if we want to remove or rename. |
||
| - ".. toggle_status:": | ||
| extensions: | ||
| python: | ||
| - py | ||
|
|
||
Uh oh!
There was an error while loading. Please reload this page.