eiffel-community / eiffel-community/eiffel-pythonlib

Get eiffel JSON schemas from github instead

オープン
#29 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
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

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。