# Adoption du module `invenio-records-resources`, 29.03.2021
## Éléments à prendre en considération
- `invenio-records-resources` est une nouvelle technologie dans Invenio, qui remplace `invenio-records-rest`.
- De par ses importants avantages, elle devra être introduite à la fois dans RERO ILS et SONAR.
- Les deux approches peuvent cohabiter, mais une même ressource doit utiliser soit l'une soit l'autre.
- Plusieurs scénarios d'adoption sont possibles:
- migration de toutes les ressources en même temps
- migration progressive - selon l'intérêt et l'urgence de migrer certaines ressources
- pas de migration dans l'immédiat, seuls les ressources nouvellement créées adoptent la nouvelle approche (ex. `project` dans SONAR), la migration des ressources existantes se faisant selon un planning à établir
### Avantages de la nouvelle approche
- les avantages se situent au niveau du processus de développement:
- meilleure structuration du code (approche plus propre)
- optimise l'effort de développement
- offre de plus de stabilité - le code est plus facile à maintenir et à étendre
- ...
### Inconvénients de la nouvelle approche
- approche très récente et peu éprouvée
- introduit des «breaking changes»
- la syntaxe de recherche se trouve modifiée
- la migration de l'existant consomme un effort de développement (encore à estimer)
- s'agissant d'une couche profonde de l'application, il y a un risque de déstabilisation
- l'iimpact sur la performance n'a pas été mesuré
## Roadmap
Dans l'immédiat, il s'agit d'établir la roadmap de migration à `invenio-records-resources`, dans RERO ILS et dans SONAR
### RERO ILS
- Le go-live de début juillet 2021 est un jalon crucial pour RERO qui conditionne cette roadmap, et qui peut donc être utilisé comme référentiel
- Les scénarios pour RERO ILS sont donc:
1. migration complète de toutes les ressources avant go-live
2. migration d'une sélection de ressources en lien avec les objectifs du go-live, notamment en ce qui concerne l'effort de stabilisation
3. migration repoussée à après le go-live
- Analyse:
- le scénario 1 présente à la fois trop de risques et un coût de développement qui dépasse la capacité actuelle de l'équipe, compte tenu des priorités, et même si ce coût doit encore être estimé
- le scénario 2 est envisageable moyennant une estimation ciblée des ratios coût-bénéfice respectifs (par ressource); cette estimation est urgente
- le scénario 3 est aussi envisageable, mais une roadmap devrait néanmoins être esquissée
### SONAR
- Les nouvelles ressources sont déjà créées avec la nouvelle approche (ex: `projet`)
- La migration des ressources existantes peut démarrer à tout moment, mais doit être planifiée en regard du backlog existant, sachant que certains développements essentiels ont la priorité
## Tâches
- [URGENTE] identification des ressources RERO ILS à migrer en priorité [qui?]
- [URGENTE] estimation de l'effort requis pour la migration ce ces ressources, afin d'en tenir compte dans la planification des sprints à venir [qui?]
- planification de la migration dans SONAR [DES/MAJ]
________________________________________