Java EE &.NET GED Alfresco & workflows Portail Liferay "People & Technology for your Agility & Performance" www.koosery-tech.fr contact@koossery-tech.fr 1 mail du Professeur G. Mathé Biopark Villejuif 94800 Villejuif. défaut dans un projet d extension Alfresco.
I. Résumé Exécutif... 3 II. Situation actuelle : impossibilité de créer un site avec plan de classement par défaut... 4 III. Composant permettant de créer un site avec un plan de classement par défaut... 6 III.1. Fonctionnement... 6 III.2. Description technique... 8 IV. Conclusion... 10
I. Résumé Exécutif ALFRESCO propose une solution de gestion électronique de documents innovante, techniquement moderne et open source. Le caractère open source de cette solution permet aux clients d ajouter ou de modifier les fonctionnalités natives afin de les faire correspondre à leurs besoins. Un des besoins souvent rencontrés est la possibilité de configurer le plan de classement par défaut qu'on voudrait voir mis en place pour des sites d'un type donné. Ce document, issu des ateliers techniques de KOOSSERY, entend apporter une réponse à ce besoin. Page 3 sur 10
II. Situation actuelle : impossibilité de créer un site avec plan de classement par défaut Pour créer des sites dans Alfresco, on configure habituellement d'abord un type de site. Le type de site renseigne sur la structure des sites à créer. Pour configurer un type de site il faut effectuer les 2 tâches ci-dessous : - Tâche 1 : configurer un fichier <ID>-presets.xml contenant la définition de la structure du type de site - Tâche 2 : aller dans le fichier «create-site.get.js» et y ajouter l ID du type de site à la liste des types de site déjà existants. Tout site qui sera par la suite créé sur la base d un type de site configuré aura une structure correspondant à ce qui a été renseigné dans le fichier <ID>-presets.xml correspondant. Ci-dessous un exemple de fichier <ID>-presets-.xml. - ligne [3] : définition d un nouveau type de site auquel on donne l ID «DEFAULT_kcp_site», Page 4 sur 10
- lignes [4] à [20] : définition des composants qui seront affichés dans une page. - lignes [22] à [32] : définition d une page. Lorsqu on examine les informations renseignées dans le presets.xml, on se rend compte qu'il manque un élément: la structure par défaut du plan de classement. Il s agit pourtant d un besoin souvent exprimé lors de projets clients et ce besoin n est pas de base satisfait dans Alfresco. Nos ateliers ont donc développé un composant qui permet de renseigner la structure par défaut du plan de classement pour un type de site. Page 5 sur 10
III. Composant permettant de créer un site avec un plan de classement par défaut III.1. Fonctionnement Pour chaque type de site identifié par son ID (l'id renseigné dans le fichier presets.xml), il faut renseigner la structure par défaut du plan de classement dans un fichier nommé <ID>-presets-classification-shemas.xml Lors de la création d'un nouveau site basé sur un type de site d'id donné, le composant va lire le fichier <ID>-presets-classification-shemas.xml et créer le plan de classement par défaut qui y a été renseigné. Ci-dessous un exemple de fichier <ID>-presets-classification-shemas.xml. - Lignes [3] à [18] : La propriété presetid permet de renseigner l ID du type de site (le même que celui dans le fichier presets.xml) et la propriété read-only permet de renseigner si le site sera en lecture seule ou non - Ligne [4] : le tag <input> permet de spécifier le répertoire d accueil des documents qui seront injectés dans le site par des applications tiers (exemple=chaîne de numérisation). - Ligne [5] à [9] : Il peut arriver que l on souhaite créer des documents sur la base des modèles de document prédéfinis dans le site. On définit ici les différents types de modèle de documents dans le tag <content-template>. - Ligne [10] à [17] : on définit la structure du plan de classement. Le tag <directory> permet de définir un répertoire du plan de classement. La propriété name indique le nom de ce répertoire et la propriété visibility (public private) indique sa visibilité. Page 6 sur 10
Pour pouvoir utiliser le composant, il faut : - mettre le fichier <ID>-presets-classement-schemas.xml dans le répertoire <XXX>/shared/classes/alfresco/extension. - déployer les JARs kcp.ecm.core.jar et kcp.ecm.srv.webscript.jar dans <XXX> /webapps/alfresco/web-inf/lib. Pour la création d un nouveau site, on sélectionne le type de site comme dans la figure cidessous : Une fois toutes les informations renseignées on clique sur le bouton OK et notre site se crée automatiquement avec son plan de classement par défaut comme dans la figure ci-dessous : Page 7 sur 10
III.2. Description technique Pour développer le composant, les éléments suivants du code de Alfresco ont été impactés : - com.koossery.extension.alfresco.repo.site.siteclassificationschemasservice: ce service expose la méthode createsiteclassificationschema() qui sert à créer le plan de classement du site en cours de création. La méthode createsiteclassificationschema() est invoquée dans sites-post.json.js. Le service est déclaré dans le fichier Spring koossery.extension.site-services-context.xml. - sites-post.json.js : nous sommes lors de la création du site afin d invoquer la méthode createsiteclassificationschema(string shortname) du service SiteClassificationSchemasService:. Page 8 sur 10
Page 9 sur 10
IV. Conclusion Nous espérons que cet article vous permettra d avoir des idées pour ce qui concerne la configuration du plan de classement par défaut pour un type de site donné. Vous pouvez télécharger le code de l extension sur notre site web http://koossery-tech.fr ou en nous contactant par mail à l adresse contact@koossery-tech.fr Page 10 sur 10