Salut, Nous avons déjà échangé quelques mails sur l'idée d'utiliser Lucene dans les futurs versions de Marco-Polo, mais aussi sur la spécification JSR-168 qui définit le concept de Portlet... Depuis le 11 Mai 2005 la version 1.0 de la spécification JSR 170 a été publiée. Cette dernière est appelée Java Content Repository : JCR et a pour but de normaliser les "Back-Office" de gestion de contenu. En effet, le Java Community Process a constitué un groupe d'experts en gestion de contenu afin de normaliser les différents concepts tels que les "ContentNodes" (== EI) ... Cette spécification est en cours d'implémentation chez : Oracle, IBM, Sun, BEA ... mais aussi chez Apache. En effet, un nouveau projet est né : Jackrabbit. (AMHA ce n'est pas un lapin, mais plutôt un lièvre car le projet avance a grande vitesse ;-)). J'ai effectué quelques tests sur ce dernier et je pense qu'il regroupe pleins de bonnes idées ! En effet, il permet de stocker des noeuds de contenu, de leur affecter des propriétés qui supportent des valeurs textes, des champs multi-valués ou encore des références vers d'autres noeuds ... Le versionning natif me paraît également intéressant, imaginez de pouvoir versionner les EI ;-) D'un point de vue technique il supporte les accès WebDAV, RMI, il est transactionnel, il y a une abstraction du support de stockage, il supporte les 2 langages définis dans la JSR-170 : XPath et SQL (avec recherche floue). (En fait, il dispose d'un Lucene embarqué et les requêtes XPath et SQL sont traduites au format Lucene. Bien entendu, on peut envisager d'utiliser toutes la puissance de Lucene : recherche approchée, indexation de PDF et autres, correction des orthographiques des questions posées au moteur ...) Pour info, il y a déjà un projet CMS libre qui utilise jackrabbit : http://www.magnolia.info, cependant il est très limité et leurs choix d'implémentation sont très discutable ... En réfléchissant 2 minutes à "Comment sauvegarder les concepts définit par Marco-Polo dans un JCR ?", voici le fruit de ma réflexion : ------------------------------------------------------------------------------------------------------------- Marcopolo Directory Layout - Mapping to Java Content Repository defined by JSR-170 |-- |-- template-models(MDP) | | |-- auto-promos | | |-- conseils | | |-- produits | | | |-- template-model[0] | | | | |--jcr:content | | | |-- template-model[1] | | | | |--jcr:content | | | |-- template-model[2] | | | | |--jcr:content | |-- content-requests | | |-- rd | | | |-- guide-deco-2005 | | | | |-- content-request[0] - nt:query | | | | |-- content-request[1] - nt:query | | | | |-- content-request[2] - nt:query | |-- multimedia-elements | |-- flash | |-- pdf | | |-- fiche-conseil | | | |-- multimedia-element[0] | | | | |--jcr:content | | | |-- multimedia-element[1] | | | | |--jcr:content | |-- url | |-- videos | |-- metadata-categories | |-- basa-vo | |-- contenu | | |-- auto-promos | | |-- conseils | | | |-- agenda-jardinier | | | |-- contact | | |-- produits | | | | |-- metadata[0] | | | | |-- metadata[1] | | | |-- abat-jours | | | | |-- metadata[0] | | | | |-- metadata[1] | | | | |-- metadata[2] | | | |-- abattants | | | |-- agraves | | |-- librairie | | | |-- agraves | |-- nomenclature | |-- leroymerlin.fr | | |-- auto-promos | | |-- forums | | |-- produits | | | |-- amenagement-exterieur | | | |-- atelier | | | |-- outillage | | | |-- peinture | | | | |-- content-unit[0] | | | | |-- content-unit[1] | | | | |-- content-unit[2] | | | | |-- link-struture[0] | | | | |-- portal[0] ------------------------------------------------------------------------------------------------------------- J'ai également dessiné un petit diagramme de composant (CompD1MarcolPoloBackOffice.png ci-joint) afin de représenter les différents composants manipulés. Dans le cadre de l'implémentation du composant MMS (déjà évoqué sur cette liste), je me suis aperçu que j'allais implémenter une solution similaire non normalisée, j'ai donc ainsi commencé à utiliser cette API et fin Août une première version des composants : cms-nomenclature,cms-content-unit, cms-metadata-category et cms-request devrait être disponible sur le cvs.open-model.org N'hésitez pas à donner votre avis, vos interrogations, vos contributions ... Ci-joint les specifications du JCR : jsr170-1.0.pdf. For non-french people, the message talks about how to build new Marco-Polo version based on JSR-170 (jackrabbit implementation) If you are interested about this subject, let us know. We'll follow the discussion in english. Jérôme. Jérôme BENOIS benois@xxxxxxxxxxxxxxxxxxxx 16-24, rue Louis-Pasteur 92100 Boulogne-Billancourt Tél : +33 1 47 12 99 91 Tél : +33 6 21 53 56 19
Attachment:
CompD1MarcolPoloBackOffice.png
Description: PNG image
Attachment:
signature.asc
Description: This is a digitally signed message part