eiffel-community / eiffel-community/eiffel-pythonlib
Get eiffel JSON schemas from github instead
- 主要言語
- Python
- スター
- 8
- フォーク
- 12
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
### Description
Instead of hosting our own versions of the JSON schemas we should use the official schemas hosted on the eiffel repository.
### Motivation
If a new version of an event is released and being sent, the eiffellib will not allow subscribers to that event.
### Exemplification
The ArtifactCreated event gets updated from 4.0.0 to 4.0.1, a very minor release. A new version of the schema get published.
A publisher of that event starts publishing the 4.0.1 event, but the subscribers to that event do not update their eiffellib. This will mean that eiffellib will reject those events as there is no way to validate them.
In this case it was a very minor update and the subscribers would not be affected by the change, so it is quite annoying that eiffellib rejected it.
### Benefits
Easier for subscribers of events to continue subscribing to that event, especially when there are only minor updates to the schemas.
### Possible Drawbacks
Having to do HTTP requests, but the benefits of not having to update the entire chain on an eiffel specification update outweighs that completely.
Can be mitigated by having a cache in the library.
コントリビューションガイド
調査の方向性
まず、ライブラリがローカルの Eiffel JSON スキーマを読み込み、イベントを検証している箇所を特定し、次にサブスクリプション中にイベントのバージョンがどのように選択されるかを調べます。そのフローを Eiffel リポジトリの公式スキーマと比較し、HTTP 取得とキャッシュをどのように機能させるべきかを定義します。対応しているスキーマのマイナー更新をライブラリのリリースなしで受け入れられるようになれば完了です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- github, python
- 領域
- api, backend
- issue の種類
- 機能追加
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 35/100