---
# System prepended metadata

title: 'Adoption du module `invenio-records-resources`, 29.03.2021'

---

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

________________________________________