-
Notifications
You must be signed in to change notification settings - Fork 21
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
feat: add event_status to inline docs add ADR to support it #24
base: main
Are you sure you want to change the base?
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 | ||||
---|---|---|---|---|---|---|
@@ -0,0 +1,60 @@ | ||||||
1. Events status | ||||||
================ | ||||||
|
||||||
Status | ||||||
------ | ||||||
|
||||||
Draft | ||||||
|
||||||
Context | ||||||
------- | ||||||
|
||||||
Each Open edX Event will evolve according to the needs of the community. | ||||||
For that reason, with this ADR, we will define a lifecycle that each | ||||||
event will follow individually. | ||||||
|
||||||
Decision | ||||||
-------- | ||||||
|
||||||
Each Open edX Event will follow the following lifecycle: | ||||||
|
||||||
State 1. Provisional | ||||||
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. Some initial thoughts:
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. Hi @robrap, Thanks a lot for the thoughtful questions.
The way we have discussed it, we always need to have strict versioning in place so that plugin developers and core-platform developers only have to agree on the version of this library that is being used. Then both can go their separate ways with a common definition and write testeable code without the plugin requiring the whole edx-platform repo. Now this does create a big disconnect, because as you pointed in the next question:
The process by which an event becomes active is the actual usage in the platform. By having this The scenario we are trying to avoid is a developer finding out the definition of an event in this library and using it, only to later never see the event happening because it was not yet implemented in the platform or it was deprecated or replaced or any of the above.
The wording seems a bit off for me even as non native speaker, but yes. We could change "provisional" to "draft" or "proposal" or something to that effect.
Provisional is a way to mark that the event is fully defined here, but might not be used in the edx-platform yet. A developer that wants to use a provisional event should go to the platform and see if it is in use. If so they should also make a PR here to change it to
I think you are correctly pointing out here the eternal problem of keeping the annotations updated. We had a long discussion with @mariajgrimaldi about this. Maybe is even worse that we though because of the versioning process. I'll ilustrate from the point of view of a developer creating a new event. At openedx-events: At edx-platform: Now Dev needs to make this chores just to keep this updated: This is a lot of work and in the meantime anyone with a version of edx-platform that already has the event in full action still gets the message that is I'm thinking now that a better way would be to keep this information closer to the usage of the events in the edx-platform repo instead of the definition in the openedx-events repo. I updated a previous PR with a version of the general hooks framework documentation that lives in edx-platform to reflect how this would look: https://github.com/edx/edx-platform/blob/5d7df3606822cd4e577ea6abeb386194e81e1201/docs/guides/hooks/index.rst. 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. @felipemontoya: I see. I think this helps clarify a lot. Thank you.
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. Hey @robrap, thanks for the feedback. About # 2, we've created a sphinx extension in this PR that pulls the inline code annotations. In previous comments, you mentioned -here- docs generation from dependencies were not possible for now. From what I understand, I understand it's for the path used to generate the docs, am I right? Well, for now, I added a fixed path to generate Open edX Events documentation. Here are the modifications in the Sphinx configuration -for testing purposes-. If we could use this, what would be the process of updating the documentation? Your insight would be beneficial. 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. @mariajgrimaldi: There are a number of ways to go, and this will take some thinking through. I think you'll need to discuss as part of the community or with Ned and his team. One idea would be to generate the event definition documentation as part of the Additionally, Régis wrote the original Sphinx code for toggles and may have some thoughts and opinions. Please take this comment as non-blocking food-for-thought that you can discuss with others that may be able to spend more time on this. Good luck, and I hope I was able to help get the ball rolling for you. Thank you. |
||||||
~~~~~~~~~~~~~~~~~~~~ | ||||||
|
||||||
Events just created and accepted in the repository `openedx-events`, | ||||||
these events haven't been accepted in Open edX platform or by the community. | ||||||
|
||||||
State 2. Active | ||||||
~~~~~~~~~~~~~~~ | ||||||
|
||||||
Events being used by Open edX platform and by the community. | ||||||
|
||||||
State 3. Deprecated | ||||||
~~~~~~~~~~~~~~~~~~~ | ||||||
|
||||||
Events that members of the community decide to deprecate in Open edX platform. | ||||||
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. Should we mention and link to the DEPR process? I imagine this won’t need a unique process. |
||||||
|
||||||
State 4. Removed | ||||||
~~~~~~~~~~~~~~~~~ | ||||||
|
||||||
Events that members of the community removed from Open edX platform after | ||||||
documentation and discussion of the removal. | ||||||
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. Once we get to removal, wouldn’t it just be deleted along with its documentation? Would documentation for this (as well as other state changes) be captured in the changelog? |
||||||
|
||||||
State 5. Replaced | ||||||
~~~~~~~~~~~~~~~~~ | ||||||
|
||||||
Events that members of the community replaced for another event after | ||||||
documentation and discussion of the change. | ||||||
|
||||||
|
||||||
Consequences | ||||||
------------ | ||||||
|
||||||
1. Each event must carry its state in its code-annotation documentation. | ||||||
|
||||||
2. Each event must go through each state in order. First, must be created | ||||||
in this repository with the state `provisional`, when Open edX accepts it | ||||||
must change to `active` and when the community decides to deprecate it, it | ||||||
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. Or removed if it isn’t accepted? |
||||||
must be updated to `deprecated`, then `removed`. | ||||||
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. Removed or replaced? |
||||||
|
||||||
1. Each state must be up-to-date. | ||||||
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.
Suggested change
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reminder that docs shouldn’t use hard line breaks.