Comment enrichir votre GED Alfresco pour satisfaire vos utilisateurs ?

Alfresco a l’avantage de bien savoir s’adapter aux besoins des utilisateurs, qu’il s’agisse de personnaliser la solution, de l’intégrer aux applications métiers, ou de développer des fonctionnalités spécifiques.

Or, le développement de fonctionnalités spécifiques n’a pas besoin d’être onéreux pour améliorer la productivité des utilisateurs. Par exemple, il suffit d’à peine deux jours de développement pour créer un menu intégrant de nouvelles fonctionnalités bureautiques dans Alfresco, dans le cas de l’exemple suivant.

Exemple de développement

Le protocole Sharepoint est mis à profit par Alfresco pour pouvoir consulter un document Office existant sans quitter l’application de GED. Par contre, il n’est pas possible de créer un document Office de toute pièce dans Alfresco. Or un simple développement en webscripts permet de rajouter un menu dans Alfresco pour effectuer cette opération en trois clics.

Un nouveau menu remplace l’ancien bouton « Ajout de contenu ». Le nouveau menu offre le choix entre trois types de documents MS Office : Word, Excel et PowerPoint.

A la sélection d’un type de document, une fenêtre s’ouvre et charge les modèles existants (en fonction du type de document Office sélectionné) et disponibles dans Alfresco, sous la forme d’une liste déroulante.

Il suffit de sélectionner un modèle et de donner un nom au nouveau document. Si l’utilisateur oublie d’ajouter l’extension du fichier, celle-ci est deduite automatiquement à partir du modèle sélectionné.

Un contrôle sur l’existence du nom de fichier est ajouté pour ne pas autoriser de nom blanc :

On peut ajouter un autre test pour n’autoriser que les chiffres et les lettres.

Si, le nom est valide le document est créé dans le dossier courant :

Pour ajouter de nouveaux modèles de documents à la liste, il suffit de les placer dans le dossier approprié (« modèles Word », « modèle Exel » ou « modèles Powerpoint »).

En savoir plus sur le fonctionnement de la Gestion Electronique de Documents

Téléchargez le livre blanc Bien comprendre les fonctionnalités d’une GED

 

Ajouter des fonctionnalités à la console d’admin d’Alfresco Share

Parmi les nombreux atouts d’Alfresco on peut citer la possibilité d’étendre l’API par l’ajout de webscripts. Ces webscripts n’étant pas intégrés à Share, ils ne sont accessibles qu’en tapant leur url, ce qui impose bien évidemment de connaître l’url en question ! Ne serait-ce pas plus pratique si on pouvait sélectionner le webscript dont on a besoin depuis la console d’administration d’Alfresco Share ? StarXpert vous propose de découvrir comment.

Première étape : ajouter un item à la console d’administration

Remarque: toutes les modifications se font sur Alfresco Share.

L’ajout d’une fonctionnalité à la console d’administration s’effectue en deux temps:

  1. Création du webscript correspondant à la nouvelle fonctionnalité.
  2. Modification des fichiers XML de configuration

1. Création du WebScript

Il faut tout d’abord créer un webscript de la famille admin-console qui doit être placé dans Share dans le dossier /site-webscripts/org/alfresco/components/console.

Remarque : Share considère les webscripts du package org.alfresco.components.console comme des webscripts de la console d’Administration.

1.1 Fichier de configuration du webscript : nomDuWebscript.get.desc.xml

<webscript>
<shortname>StarXpert </shortname>
 <description> Déscription </description>
 <url>/components/console/nomDuWebscript</url>
 <family>admin-console</family>
</webscript>

1.2 Fichier template (présentation) : nomDuWebscript.get.html.ftl .

Vous pouvez aussi créer un fichier de traitement js/Java si la fonctionnalité l’exige.

Pour voir le résultat et faire apparaître la nouvelle fonctionnalité dans la console d’administration il suffit d’actualiser les webscripts sur Alfresco Share (http://localhost:8080/share/service/). Il nous faut maintenant configurer le titre de la nouvelle fonctionnalité.

2. Modification des fichiers XML de configuration Share

Pour configurer le nom affiché sur la console d’administration, il faut ajouter les 2 lignes suivantes au fichier slingshot.properties (/WEB-INF/classes/alfresco/messages/slingshot.properties) :

tool.nomDuWebscript.label= StarXpert Item
tool.nomDuWebscript.description=StarXpert Item

Remarque : nomDuWebscript dépend du nom de mappage url donné dans le fichier de description du webscript

Deuxième étape : Ajouter un item au menu « More » sur share

Lors de la création du nouvel item sur le menu « More » (« Outils » dans la version française), il faut faire pointer l’item vers le webscript précédemment créé.

Dans le fichier share-config.xml (/WEB-INF/classes/alfresco/share-config.xml), la balise <app-items> contient tous les éléments du menu « More » et leurs permissions.

Dans la balise <app-items>, ajouter un conteneur avec les privilèges souhaités :
<container-group id= »tools » permission= »admin »>
<item type= »link » id= »StarXpertItem »>/console/admin-console/nomDuWebscript</item>
</container-group>

Attention : /console/admin-console/nomDuWebscript ne correspond pas au mappage URL du webscript, mais précise la région graphique dans laquelle apparait le webscript.

Pour afficher correctement le nom de l’item sur le menu il faut modifier le fichier slingshot.properties en ajoutant les 2 lignes suivantes

 header.StarXpertItem.label=StarXpert Item
 header.StarXpertItem.description= StarXpert Item

On peut également personnaliser le menu avec une icône au format png (16*16 pixels) : StarXpertItem.png et placer l’icône dans le dossier : /components/images/header/.

Redémarrer Alfresco pour voir le résultat.

Remarque: La modification des fichiers share-config.xml et slingshot.properties n’est pas recommandée car lors d’une mise à jour, ces fichiers seront réinitialisés. Il est recommandé de packager ces développements dans un module ou sous forme d’extension. Les mécanismes d’extention de Share ont été améliorés avec Alfresco 3.4, ils feront l’objet d’un article sur ce blog prochainenement.

Personnaliser Alfresco c’est facile

Nos clients nous demandent souvent des petites fonctionnalités supplémentaires pour personnaliser leur Alfresco. L’exemple suivant montre à quel point c’est facile.

Un de nos clients souhaitait permettre à ses utilisateurs de visualiser les membres d’un groupe avant d’inviter le groupe à rejoindre un espace. Pour cela nous avons développé un webscript, puis inséré dans l’interface d’Alfresco un script en Ajax permettant d’appeler le webscript. Le développement a été effectué en une journée.

La copie d’écran ci-dessous illustre le fonctionnement.