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