Skip to content

docs: event bus related ADRs - #40

Merged
robrap merged 6 commits into
mainfrom
msingh/docs/adr/event_bus_overview
Mar 24, 2022
Merged

docs: event bus related ADRs#40
robrap merged 6 commits into
mainfrom
msingh/docs/adr/event_bus_overview

Conversation

@jinder1s

Copy link
Copy Markdown
Contributor

Some of the ADRs that came out of following issue discussions:
https://github.com/eduNEXT/openedx-events/issues/38
https://github.com/eduNEXT/openedx-events/issues/39
These adrs mostly cover issue 38, but do add some info from issue 39.

Comment thread docs/decisions/0004-event-bus-as-extension-of-django-signals.rst Outdated
Comment thread docs/decisions/0006-schema-implementation-decisions.rst Outdated
Comment thread docs/decisions/0006-schema-implementation-decisions.rst Outdated
@jinder1s
jinder1s force-pushed the msingh/docs/adr/event_bus_overview branch from 11399cc to c418767 Compare February 2, 2022 16:54
@jinder1s

jinder1s commented Feb 2, 2022

Copy link
Copy Markdown
Contributor Author

@dianakhuang Pinging you about this PR. I think it is ready for a final review.

@dianakhuang dianakhuang left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. Just had one last comment about some of the new things.

Comment thread docs/decisions/0004-event-bus-as-extension-of-django-signals.rst Outdated
Comment thread docs/decisions/0004-event-bus-as-extension-of-django-signals.rst Outdated
Comment thread docs/decisions/0005-event-bus-support-forward-schema-evolution.rst Outdated

- The values can be: python primitives(int, str, dict, list ...), attrs decorated classes defined in openedx-events repository, or custom classes that have extensions defined in AvroAttrsBridge class.

- Ideally, the values are attrs decorated classes, other types are supported for convenience.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm realizing now that when instantiating OpenEdxPublicSignal we don't check for the data types. Maybe that's something we are interested in? So we are entirely sure the event it's using a data attr class

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mariajgrimaldi: I'm not clear on the validation proposal. I don't think we will be pursuing anything at this time, but if you see an important gap and you want to discuss more, feel free to explain.

@robrap robrap left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Initial comments for our discussion.

Comment thread docs/decisions/0004-event-bus-as-extension-of-django-signals.rst Outdated
Comment thread docs/decisions/0004-event-bus-as-extension-of-django-signals.rst Outdated
@jinder1s
jinder1s marked this pull request as draft February 7, 2022 19:18
@jinder1s

jinder1s commented Feb 7, 2022

Copy link
Copy Markdown
Contributor Author

Hi, I am going to do many changes to this PR based on review. Please hold off on further review for a bit.

@jinder1s
jinder1s marked this pull request as ready for review February 7, 2022 21:23
@jinder1s

jinder1s commented Feb 7, 2022

Copy link
Copy Markdown
Contributor Author

@robrap This PR is ready for another review.

@robrap robrap left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the work on these @jinder1s.

Comment thread docs/decisions/0004-external-event-bus-and-django-signal-events.rst Outdated
Comment thread docs/decisions/0004-external-event-bus-and-django-signal-events.rst Outdated
Comment thread docs/decisions/0004-external-event-bus-and-django-signal-events.rst Outdated
Comment thread docs/decisions/0004-external-event-bus-and-django-signal-events.rst Outdated
Comment thread docs/decisions/0005-event-schema-serialization-and-evolution.rst
Comment thread docs/decisions/0005-event-schema-serialization-and-evolution.rst Outdated
Comment thread docs/decisions/0005-event-schema-serialization-and-evolution.rst Outdated
Comment thread docs/decisions/0005-event-schema-serialization-and-evolution.rst Outdated
Comment thread docs/decisions/0005-event-schema-serialization-and-evolution.rst Outdated
Comment thread docs/decisions/0005-event-schema-serialization-and-evolution.rst
@jinder1s
jinder1s force-pushed the msingh/docs/adr/event_bus_overview branch from 3d79a67 to 77c7c15 Compare February 11, 2022 16:17
The change log had various formatting
bugs due to the inconsistent use of
both `_` (underscore) and `-` (hyphen).

The new format only uses hyphens. Added
`=` for the top-level. Finally, reversed
`-` and `~` to be more consistent with other
docs, like the ADRs in this repo.
@robrap
robrap force-pushed the msingh/docs/adr/event_bus_overview branch from 54ef495 to ecdd612 Compare March 22, 2022 21:25
@robrap

robrap commented Mar 22, 2022

Copy link
Copy Markdown
Contributor

@dianakhuang: Can I get your review to get this over the line. Sorry - there is a lot going on in this PR. Let me know if anything should be split out.

Here is an overview of the changes:

  • Before making changes, I squashed all of Jinder's commits, which you had reviewed early on and I was on the verge of approving.
  • The original main point of this PR (and Jinder's commit) was introducing new ADRs 4 and 6 (was 5 when Jinder wrote it). The relatively minor updates I made to these two ADRs can be found in this commit: ac9ad17.
  • For consistency, in the commit 9abac30, I moved an ADR out from being a sub-directory of the Event Bus OEP. I then made minor tweaks to the original ADR in this separate commit: a3871eb
  • Note: the ADRs are marked Provisionsal, so hopefully we don't have to get to wrapped up in correctness while we are still working on all of this.

Additionally, I made the following minor changes (in separate commits):

  • Fixed the header formatting in the CHANGELOG.
  • Renamed howtos to how_tos.
  • Added the ADRs and How-Tos to the docs index page.

Separately, I asked tCRIL to publish these docs to readthedocs.

@dianakhuang dianakhuang left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I had some confusion about some of the phrasing in the first ADR.

Comment thread docs/decisions/0004-external-event-bus-and-django-signal-events.rst Outdated
Comment thread docs/decisions/0004-external-event-bus-and-django-signal-events.rst Outdated
Comment thread docs/decisions/0004-external-event-bus-and-django-signal-events.rst Outdated
@robrap

robrap commented Mar 24, 2022

Copy link
Copy Markdown
Contributor

@dianakhuang: Thanks. Ready for re-review.

@dianakhuang dianakhuang left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One typo to fix, but then I think you are good to merge.

Comment thread docs/decisions/0004-external-event-bus-and-django-signal-events.rst Outdated
jinder1s and others added 5 commits March 24, 2022 12:14
Adds two new ADRs.
1. External event bus and Django Signal events:
details the relationship between the new
external event bus events and the existing
internal Django Signal events.
2. Event schema serialization and evolution:
details how an event schema will be used for
event schema evolution.

ARCHBOM-2010
Moving event schema ADR from sub-decision of
the Event Bus ADR to the openedx-events repo,
so it can live side-by-side with other related
decisions.
The event schema ADR was first moved from
the OEP repo without changes, and this
commit makes some minor tweaks to make
it work inside this repo.

It also adds some notes about the CLoudEvents
specification.
Renamed how_tos directory to align with OEP-19.
Make sections in the docs index for the
ADRs (Decisions) and How-Tos.
@robrap
robrap force-pushed the msingh/docs/adr/event_bus_overview branch from c83aad7 to 6dadd8b Compare March 24, 2022 16:15
@robrap
robrap merged commit 696d153 into main Mar 24, 2022
@robrap
robrap deleted the msingh/docs/adr/event_bus_overview branch March 24, 2022 16:18
@robrap

robrap commented Mar 24, 2022

Copy link
Copy Markdown
Contributor

@jinder1s: We finally merged it! 🎉

@jinder1s

Copy link
Copy Markdown
Contributor Author

@robrap Hallelujah! It's Done! haha

@robrap

robrap commented Mar 24, 2022

Copy link
Copy Markdown
Contributor

Yes. Thanks for all your work on this @jinder1s. You are missed.

@mariajgrimaldi

Copy link
Copy Markdown
Member

Hi, @robrap! All these ADRs have been provisional for some time now, should we change their status?

@robrap

robrap commented Oct 11, 2024

Copy link
Copy Markdown
Contributor

@mariajgrimaldi: Maybe https://github.com/openedx/openedx-events/blob/main/docs/decisions/0004-external-event-bus-and-django-signal-events.rst is the only one that wasn't updated? It can move to accepted. Thank you. Let me know if you will take care of that.

@mariajgrimaldi

Copy link
Copy Markdown
Member

@robrap: I will! Thank you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants