eiffel-community / eiffel-community/eiffel-pythonlib

Get eiffel JSON schemas from github instead

Ouverte
#29 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
Python
Étoiles
8
Forks
12
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

### 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.

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par repérer où la bibliothèque charge les schémas JSON Eiffel locaux et valide les événements, puis examinez comment les versions des événements sont sélectionnées lors de la souscription. Comparez ce flux avec les schémas officiels du dépôt Eiffel et définissez le fonctionnement de la récupération HTTP et de la mise en cache ; le travail sera considéré comme terminé lorsque les mises à jour mineures prises en charge des schémas pourront être acceptées sans publier une nouvelle version de la bibliothèque.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
github, python
Domaine
api, backend
Type d'issue
Fonctionnalité
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.