otto-de / otto-de/api-guidelines

[new rule] add a rule(set) to clearly specify how data change events should be used

Open
#16 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
TypeScript
Stars
50
Forks
16
PR merge metrics
No merged PRs in 30d

Description

(i) This issue has been manually transferred from a former internal repository, as a private repository issue cannot be transferred to a public repository.

Context

Data change events usually do not contain semantical information of why a change happened. This is why the usage of data change events should be limited. Deducting business decisions from data change events implicitly requires domain knowledge of a foreign domain, thus reducing encapsulation.

A rule (or a set of rules) should be created to clearly state how data change events should be used.

Possible rules:

  • SHOULD use data change events for data replication
  • SHOULD be used for updating otherwise read-only data sources. The only purpose of these read-only data sources is for consumption (e.g. by UIs, report generation, statistics).
  • MUST NOT be used to implement policies (automation rules) that issue business side effects (commands) to any API.
  • MUST NOT deduct intention from data change events

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No file, test, or entry point is identified in the issue. Start by reviewing the repository’s existing asynchronous and event guidelines, then confirm the intended scope and wording with maintainers. Done means an agreed rule or rule set is added to the appropriate guideline document with clear usage boundaries.

Written by the indexing model from the issue text.

Assessment

Domain
documentation
Issue type
Documentation
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.