Feature #12866
ferméPasser de Apache Jackrabbit à Apache Oak
100%
Description
- Silverpeas ne peut supporter une telle architecture qu'en mode par-session : chaque requête est prise en charge par une passerelle et redirigée vers la bonne instance de Silverpeas en fonction de la session utilisateur ouverte. En effet, actuellement, la gestion des sessions dans Silverpeas ne permet pas de partager celle-ci entre plusieurs instances de Silverpeas.
- Apache Jackrabbit n'a pas été pensé à l'origine pour gérer des accès concurrents et, bien que déployé sous forme de RAR, le goulet d'étranglement reste l'accès physique aux données de la JCR.
- Passer Apache Jackrabbit du RAR à une application dédiée avec laquelle s'interfacerait Silverpeas.
- Migrer d'Apache Jackrabbit à Apache Oak qui s'avère être une réimplémentation de la JCR ayant mis l'accent sur la montée en charge et des hautes performances.
- Migrer d'Apache Jackrabbit à JBoss ModeShape qui met l'accent sur la montée en charge et la haute-disponibilité.
- Une migration des données sans régressions de la JCR d'Apache Jackrabbit à Apache Oak.
- Vérifier si une réincorporation du code de gestion de la JCR dans Silverpeas est nécessaire.
- Que le WebDAV puisse continuer à se faire sans trop d'impact dans le code existant.
- Que notre code qui utilise la JCR ait le minimum d'impact.
- Que notre implémentation de JAAS avec Jackrabbit pour les accès à la JCR puisse être transposée à Apache Oak.
- Que les performances globales soient supérieures à celles délivrées par Apache Jackrabbit.
Mis à jour par Miguel Moquillon il y a environ 2 ans
- Statut changé de New à In progress...
- Assigné à mis à Miguel Moquillon
Mis à jour par Miguel Moquillon il y a presque 2 ans
Des PR ont été créés en vue de permettre à l'intégrateur de commencer à faire une revue de code.
Toutefois, si le code est terminé, tout n'est pas encore achevé. Il reste les points suivants :- Finir de vérifier que les différentes fonctionnalités autour de la JCR sont ok et corriger les problèmes éventuels
- Mettre à jour l'installateur pour tenir compte de la nouvelle structuration du support de la JCR dans Silverpeas
- Tester la migration de Jackrabbit à Oak avec des backups de JCR de clients
- Tester les performances en terme de montée en charge
Mis à jour par Miguel Moquillon il y a plus d'un an
- Statut changé de In progress... à Resolved
Le code qui embarque Apache Jackrabbit Oak comme implémentation de la JCR se trouve dans le projet :
https://github.com/SilverTeamWork/Silverpeas-JCR
Son intégration consistera à le pousser vers sa contre-partie officielle à créer dans l'organisation Silverpeas : https://github.com/Silverpeas/Silverpeas-JCR.
Attention, celui-ci dépend de la version 6.4-feature12866 de core-api
dans Silvepreas-Core. core-library
et core-web
dépendent de ce projet. Il sera donc nécessaire de compiler et déployer d'abord core-api
de Silverpeas-Core avant de compiler le projet puis tout Silverpeas-Core.
Toutefois, le projet a été déployé sur notre Nexus pour assurer les builds des PR qui en dépendent.
Note : j'ai hésité et j'hésite encore à créer le projet comme sous-projet core-jcr
de Silverpeas-Core ; je ne l'ai pas fais car ce projet ne devrait pas nécessiter de modifications importantes dans le temps. Ceci mérite peut être d'en discuter.
- nettoyage de code sur la JCR avec Jackrabbit 2
- déplacement de code de core-lib vers core-api et création d'interfaces dans core-api afin de permettre à des projets extérieurs (en l'occurrence ici Silverpeas-JCR) d'utiliser le mécanisme d'authentification de Silverpeas.
- des renommages de code (cf. JdbcSqlQuery)
- prises en comptes de retours des analyses de SonarCloud via SonarLint.
- https://github.com/Silverpeas/silverpeas-dependencies-bom/pull/47
- https://github.com/Silverpeas/silverpeas-test-dependencies-bom/pull/10
- https://github.com/Silverpeas/Silverpeas-Project/pull/8
- https://github.com/Silverpeas/Silverpeas-Core/pull/1255
- https://github.com/Silverpeas/Silverpeas-Components/pull/809
- https://github.com/Silverpeas/Silverpeas-Looks/pull/72
- https://github.com/Silverpeas/Silverpeas-Assembly/pull/24
- https://github.com/Silverpeas/Silverpeas-Setup/pull/28
- https://github.com/Silverpeas/Silverpeas-Distribution/pull/10
Mis à jour par Miguel Moquillon il y a plus d'un an
Après réflexion, j'ai fais le choix d'intégrer le projet Silverpeas JCR dans celui Silverpeas Core comme sous projet
Il n'est donc plus nécessaire d'intégrer le projet Silverpeas JCR.
Mis à jour par Yohann Chastagnier il y a plus d'un an
- Statut changé de Resolved à Integration in progress...
Mis à jour par Yohann Chastagnier il y a plus d'un an
- Statut changé de Integration in progress... à Closed
- % réalisé changé de 0 à 100
Validé et intégré dans la branche master.
Le premier build : 6.4-build230604
Mis à jour par David Lesimple il y a plus d'un an
- Lié à Feature #12002: Amélioration des performances de la JCR ajouté