Table of Contents
Helmut: Configuration d'Alfresco 3.2
alfresco
Cette partie concerne uniquement la configuration du logiciel Alfresco. Pour les parties concernant l'installation, voir le dossier installation.
On a deux sites:
- Alfresco explorer, accessible à l'adresse http://helmut/alfresco
- Alfresco share, accessible à l'adresse http://helmut/share
Par la suite, je désignerais ces composants par leurs noms explorer ou share uniquement. Un certain nombre de concept sous jacent ne sont pas détaillés ici. Il faudra se référer au livre Alfresco 3: Enterprise Content Management Implementation pour plus d'informations sur la structure interne d'Alfresco.
Traduction en Français
Récupération du dernier langage pack sur forge.alfresco.com : alfresco_3.2_FR.zip. Et décompression dans /var/lib/tomcat6/shared/classes/alfresco
<note important>Dans la version de la traduction ci-dessus, il semblerait que certains libellés des détails de documents ne soit pas positionnés dans le bon document. Je les ais retrouvé dans documentlist.get_fr.properties alors que Share les attends dans document-actions.get_fr.properties.</note>
On peut les reporter dans /var/lib/tomcat6/shared/classes/alfresco/web-extension/site-webscripts/org/alfresco/components/document-details/document-actions.get_fr.properties:
actions.document.copy-to=Copier vers ... actions.document.move-to=D\u00e9placer vers ... actions.document.delete=Supprimer le document actions.document.download=T\u00e9l\u00e9charger actions.document.download-again=T\u00e9l\u00e9charger actions.document.download-original=T\u00e9l\u00e9charger l'original actions.document.edit-offline=\u00c9diter hors-ligne actions.document.edit-online=\u00c9diter en ligne actions.document.cancel-editing=Annuler l'\u00e9dition actions.document.upload-new-version=Remplacer par une nouvelle version actions.document.assign-workflow=Assigner un workflow actions.document.manage-permissions=G\u00e9rer les droits d'acc\u00e8s actions.document.manage-aspects=G\u00e9rer les aspects actions.document.change-type=G\u00e9rer le type actions.document.edit-metadata=\u00c9diter les m\u00e9tadonn\u00e9es heading=Actions sur le document
Faire une copie du fichier web-client-config.xml dans le répertoire d'extensions et le renommer web-client-config-custom.xml, puis remplacer la liste des langues (replace=true) pour ajouter le français:
helmut:/# cd /var/lib/tomcat6/shared/classes/alfresco helmut:/var/lib/tomcat6/shared/classes/alfresco# unzip /tmp/alfresco_3.2_FR.zip helmut:/var/lib/tomcat6/shared/classes/alfresco# ls -l total 12 drwxr-xr-x 4 root root 4096 déc. 3 11:41 extension drwxr-xr-x 2 root root 4096 déc. 3 11:32 messages drwxr-xr-x 3 root root 4096 déc. 3 11:32 web-extension helmut:/var/lib/tomcat6/shared/classes/alfresco# cd extension/ helmut:/var/lib/tomcat6/shared/classes/alfresco/extension# cp /var/lib/tomcat6/webapps/alfresco/WEB-INF/classes/alfresco/web-client-config.xml web-client-config-custom.xml helmut:/var/lib/tomcat6/shared/classes/alfresco/extension# vim web-client-config-custom.xml [... vers la ligne 142 ...] <config evaluator="string-compare" condition="Languages" replace="true"> <!-- the list of available language files --> <languages> <language locale="en_US">English</language> <language locale="fr_FR">Francais</language> </languages> </config>
Redémarrer tomcat pour appliquer les changements.
Modification des tableaux de bord
Il est possible de modifier l'affiche par défaut des boites tant au niveau de la page d'accueil à share qu'au niveau de l'entrée dans un site collaboratif.
Dans les deux cas, les modifications sont à réaliser dans /var/lib/tomcat6/webapps/share/WEB-INF/classes/alfresco/site-data/presets/presets.xml
C'est un fichier xml, les components peuvent donc être commentés entre des balises <!– –> et déplacer dans n'importe quel ordre. Pour modifier le positionnement d'un component, il faut modifier la valeur <region-id>component-x-y</region-id> où x est la colonne et y la ligne.
Redémarrer tomcat est obligatoire pour appliquer les changements.
<note warning>La configuration de la dashboard est appliquée lors de la première connexion d'un utilisateur. De fait, vous ne verrez pas les changements si vous vous êtes déjà connectés sur la dashboard de base. Faut le savoir !</note>
Ajout du support des videos FLV
Pour cela, nous avons besoin d'un lecteur de video flash (comme flowplayer) et d'un peu de configuration de share.
Flowplayer
Le player doit être accessible directement. Dans Alfresco Share, un répertoire est prévu pour ce type de composant, c'est /var/lib/tomcat6/webapps/share/components/preview/.
helmut:/# cd /tmp/ helmut:/tmp# unzip flowplayer-3.1.5.zip Archive: flowplayer-3.1.5.zip creating: flowplayer/ inflating: flowplayer/LICENSE.txt inflating: flowplayer/README.txt inflating: flowplayer/flowplayer-3.1.5.swf inflating: flowplayer/flowplayer.controls-3.1.5.swf creating: flowplayer/example/ inflating: flowplayer/example/flowplayer-3.1.4.min.js inflating: flowplayer/example/index.html inflating: flowplayer/example/style.css helmut:/tmp# cd /var/lib/tomcat6/webapps/share/components/preview/ helmut:/var/lib/tomcat6/webapps/share/components/preview# cp /tmp/flowplayer/flowplayer-3.1.5.swf flowplayer.swf helmut:/var/lib/tomcat6/webapps/share/components/preview# cp /tmp/flowplayer/example/flowplayer-3.1.4.min.js flowplayer-min.js helmut:/var/lib/tomcat6/webapps/share/components/preview# cp /tmp/flowplayer/example/flowplayer.controls-3.1.5.swf flowplayer.controls.swf helmut:/var/lib/tomcat6/webapps/share/components/preview# chown tomcat6:tomcat6 flowplayer* helmut:/var/lib/tomcat6/webapps/share/components/preview# ls -l total 708 -rw-r--r-- 1 tomcat6 tomcat6 27007 déc. 7 12:41 flowplayer.controls.swf -rw-r--r-- 1 tomcat6 tomcat6 15960 déc. 7 11:09 flowplayer-min.js -rw-r--r-- 1 tomcat6 tomcat6 110762 déc. 7 10:27 flowplayer.swf -rw-r--r-- 1 tomcat6 tomcat6 914 nov. 12 16:50 web-preview.css -rw-r--r-- 1 tomcat6 tomcat6 830 nov. 12 16:50 WebPreviewer.css -rw-r--r-- 1 tomcat6 tomcat6 516256 nov. 12 16:50 WebPreviewer.swf -rw-r--r-- 1 tomcat6 tomcat6 17087 nov. 12 16:50 web-preview.js -rw-r--r-- 1 tomcat6 tomcat6 6170 nov. 12 16:51 web-preview-min.js
On pourra tester que flowplayer fonctionne bien ouvrant la page http://helmut:8080/share/components/preview/flowplayer.swf.
Paramètrer la preview
Il faut que share détecte le mime-type de la video video/x-flv et previsualise ce type de fichier dans flowplayer. Pour cela, nous allons rajouter quelques lignes à /var/lib/tomcat6/webapps/share/WEB-INF/classes/alfresco/site-webscripts/org/alfresco/components/preview/web-preview.get.html.ftl:
Dans le fichier web-preview.get.html.ftl, on va remplacer le code suivant
<div id="${args.htmlid}-shadow-swf-div" class="preview-swf"> <div id="${args.htmlid}-swfPlayerMessage-div">${msg("label.preparingPreviewer")}</div> </div>
Par quelque chose de plus verbeux qui appel flowplayer quand le mimetype correspond:
<#if node.mimeType == "video/x-flv"> <!-- added by jvehent 20091207 - preview of video files in flowplayer --> <a href="${absurl(url.context)}/proxy/alfresco/api/node/content/workspace/SpacesStore/${node.nodeRef?substring(24)}/${node.name?html}?a=true" style="display:block;width:520px;height:330px;" id="player"></a> <script> flowplayer("player","${page.url.context}/components/preview/flowplayer.swf", { clip: { autoPlay: false, autoBuffering: true }, plugins: { controls: { url: "${page.url.context}/components/preview/flowplayer.controls.swf", height: 30 } } }); </script> <#else> <div id="${args.htmlid}-shadow-swf-div" class="preview-swf"> <div id="${args.htmlid}-swfPlayerMessage-div">${msg("label.preparingPreviewer")}</div> </div> </#if>
Que fait ce code ? Il créé un lien href vers l'url de download du fichier video et appel l'id “player” dessus. Juste après, on dit à flowplayer de se déclencher quand l'id “player” est appelé.
Il faut également déclarer le javascript de flowplayer dans les headers de la page de preview. Il suffit de rajouter la ligne suivante dans /var/lib/tomcat6/webapps/share/WEB-INF/classes/alfresco/site-webscripts/org/alfresco/components/preview/web-preview.get.head.ftl.
<@script type="text/javascript" src="${page.url.context}/components/preview/flowplayer.js"></@script>
<note important>petite bizarrerie, Alfresco rajoute “-min” entre le nom du fichier et l'extension “.js”. On verra donc dans la page HTML qu'il essai d'ouvrir “flowplayer-min.js”
Il faut donc s'assurer que le fichier js dans /share/components/preview se nomme “flowplayer-min.js” (comme nous l'avons fait précedemment).</note>
Il faut redémarrer tomcat pour regénerer les pages. Le player s'ouvre ensuite sur les fichiers de type flv.
Ajouter le support des notications par email
Pour pouvoir envoyer des email sur des évènements comme la création d'un workflow, l'assignation d'une tâche, … Il faut d'abord configurer le service email dans les paramètres globaux.
Dans /var/lib/tomcat6/shared/classes/alfresco-global.properties:
# outbound mail configuration mail.host=192.168.1.55 mail.port=25 mail.username=anonymous mail.password= mail.from.default=alfresco@helmut
Notifier lors de l'ajout de document
Pour créer un nouveau workflow, il faut passer par l'interface d'explorer, et non pas share.
Aller dans Accueil > Sites et dans Actions supplémentaires, cliquer sur Gérer les règles de contenu.
On peut, dans cette section, créer un workflow basique qui envoi un email à une personne désignée lors de l'ajout de nouveau document dans le site.
- Créer une règle
- Sélectionner la condition “Tous les éléments”, puis ajouter et suivant
- Sélectionner l'action “Envoyer un courriel à des utilisateurs” puis ajouter et choisir les utilisateurs et le modèle de mail puis suivant
- Choisir le type entrant (un fichier est ajouté) puis cocher “Appliquer la règle aux sous-espaces” puis suivant
- Terminer
Pour disposer d'un template d'email personalisé, il faut aller dans Accueil > Data Dictionary > Email Templates > Notify Email Templates et faire une copie du template existant pour le modifier (et réutiliser les variables).
Modifier le dashlet d'activités récentes
Que ce soit sur le tableau de bord d'accueil ou sur celui des sites, la dashlet “activité récente” n'affiche par défaut que les activités du dernier jour. Pour changer cela et afficher par défaut les activités des 28 derniers jours, il faut modifier le fichier activities-min.js dans /var/lib/tomcat6/webapps/share/components/dashlets.
remplacer la valeur suivante
this.widgets.range.value="today";
par
this.widgets.range.value="28";
On pourra également changer la valeur des activités listées pour affichées celle réalisées par TOUT LE MONDE (y compris soit-même) dans le même fichier:
remplacer
this.widgets.user.value="others";
par
this.widgets.user.value="all";