Bonjour,
Le dépôt de sources a été déplacé, les sources du projet sont désormais
disponibles ici : https://gitlab.nuiton.org/ifremer/coselmar
Pour changer votre dépôt git en local, il suffit d'exécuter la commande
suivante :
"""
git remote set-url origin git@gitlab.nuiton.org:ifremer/coselmar.git
"""
Bonne journée,
Yannick
--
Yannick Martel
Code Lutin <http://www.codelutin.com/>
+33 2 40 50 29 28
Hoyo,
Grâce à Ben, j'ai passé un peu de temps à regarder Jackrabbit pour voir
si ça pouvait être utile dans le projet ou à défaut s'il y avait des
idées à en retenir.
J'admets qu'après une rapide lecture en diagonale, je me suis demandé
si ça valait le coup de continuer : j'avais l'impression qu'il y avait
trop de chose, et un peu trop de complexité pour une application comme
Coselmar.
Après une bonne journée à jouer avec la librairie et à lire la doc, je
me pose toujours des questions, mais avec un regard plus positif sur la
chose.
Pour vulgariser (je pense pas utile d'aller dans le détail, au final,
la doc de Jackrabbit est pas si mal quand on se fait à son style, et
les tutos aident bien à l'appréhender), JackRabbit, appelons le Jack,
est un Content Repository : il permet de "stocker" des fichiers et
leurs metadatas et de faire des opérations comme de la recherche dessus.
Cette gestion passe par des "Noeux" qui sont utilisé pour le chemin
vers le fichier, et les metadatas
('/node1/node2/{node qui serait le document}/{jcr:content (node qui
contient les medatas en propriétés)}').
La recherche se fait grâce à une indexation Lucene, à
partir des metadatas.
Le petit plus, c'est un module supplémentaire, qui se base sur Apache
Tika, qui permet d'analyser également le contenu des documents pour
l'indexation.
Et parce que c'est pas fini, modulo l'implem d'un SynonymProvider, il
est possible d'avoir sur Lucene une recherche par synonymie.
Ce qui fait que, d'un point de vue gestion des documents dans Coselmar,
et des demandes futures déjà envisagées, l'utilisation de Jack pourrait
permette de s'abstraire d'une indexation Lucene qui deviendra vite
nécessaire ainsi que de la recherche dans le texte des documents.
Jack peut également s'appuyer sur une gestion d'utilisateurs et de
groupes, et permettre de gérer les accès aux noeux.
Dans le cadre de Coselmar, cela peut donc permettre de gérer les accès
aux documents.
Mais plus loin que cela, je me suis allé à envisager un stockage
purement basé sur le repository de Jack. Un peu à la sauce unix, tout
deviendrait "fichier", ou plutot Node dans le cas présent, notamment
grâce aux metadata que l'on peut donner à chaque node.
Nous pourrions alors voir les questions comme des nodes, avec les
limitations par utilisateurs/groupes : avec la création d'une question,
un groupe serait créé pour avoir l'unique accès au node de la question.
Dans ce groupe serait placé les experts "participants" à la question.
Le même principe serait utilisé pour le dépot des documents à accès
restreint.
L'arborescence des documents seraient du genre :
[relatifs aux questions] : /root/questions/:questionId/:document
[hors question] : /root/coselmar/:userId/:document
J'ai pas été en profondeur dans Jack, il y a surement des choses que je
n'ai pas vu, des problématiques peut être, ou mêmes des choses que j'ai
pu rater avec Coselmar (ce serait embêtant ça :/).
L'aspect configuration de Jack entre autre est un sujet que je n'ai pas
réussi à bien appréhender, j'ai l'impression qu'il n'est pas possible
de faire une config "dans le code" et qu'il est nécessaire de passer
par l'écriture d'un fichier (xml) de configuration pour la réaliser.
Dans mes tests, j'ai utilisé la config par défaut, j'ai juste foutu en
*option de la VM* le path de mon repository (sinon c'était dans le code
un System.setProperty) pour éviter d'avoir à la racine de
mon appli le répertoire du repo.
Merci pour la lecture :)
--
Yannick Martel
Code Lutin <http://www.codelutin.com/>
+33 2 40 50 29 28