StarXpert dévoile de nouveaux outils d’administration d’Alfresco

StarXpert installe et personnalise des serveurs Alfresco depuis 2006. En cinq ans nous avons remonté un certain nombre de demandes de nos clients visant à faciliter l’administration d’Alfresco. Nous avons répondu à ces demandes en développant de nouveaux outils, preuve qu’Alfresco est extensible grâce à son API et à son code ouverts. Nous avons regroupé ces outils sous forme d’une suite, véritable boite à outils : les StarXpert Admin Tools. En effet, les StarXpert Admin Tools sont des webscripts qui permettent de réaliser différentes taches d’administration, et qui sont intégrés à la console d’administration Share au même titre qu’ASUR (l’outil de reporting Alfresco).

Fonctionnalités des StarXpert Admin Tools :

  1. Ajouter un manager à un site : sur un site Share, seul le gestionnaire du site peut promouvoir un membre au titre de gestionnaire. Or, si le gestionnaire vient à quitter l’entreprise, personne ne peut le remplacer. Pour pallier à ce manque, le nouvel outil permet à un administrateur d’ajouter directement un nouveau gestionnaire du site.
  2. Editer les versions d’un document : les documents définis comme ‘versionnable’ sont versionnés à la manière d’un SVN. Le nouvel outil permet de gérer ces versions, pour par exemple ne garder que la dernière version d’un document par jour, ou bien reculer ou avancer de N version. L’outil permet d’éviter une proliferation de versions rendant le suivi difficile.
  3. Configuration avancée d’alfresco (JMX) : la configuration d’alfresco ( Services, ports…) peut normalement être changée en modifiant les fichiers de configuration sur un serveur à l’arrêt. Le nouvel outil permet de changer la configuration d’Alfresco à chaud en trois étapes :
    1. Téléchargement d’un fichier CSV qui contient la configuration JMX d’alfresco.
    2. Modification des attributs désirés.
    3. Upload du fichier CSV modifié. La dernière action permet de mettre à jour la configuration d’Alfresco instantanément
  4. Lister les erreurs d’indexation Lucene : Alfresco indexe les fichiers texte grâce à lucene. Le nouvel outil permet de lister les erreurs d’indexation qui peuvent se produire : nint, nitf, nicm, nintc (Voir le projet Apache Lucene pour plus de détails sur les erreurs possibles).
  5. Afficher les permissions d’un utilisateur : Alfresco ne permet pas de voir les espaces, dossiers et fichiers sur lesquels un utilisateur possède des permissions. Le nouvel outil permet de chercher un utilisateur et d’afficher en un temps record tous les nœuds sur lesquels il a des permissions. Nous avons choisi d’afficher les nœuds de type « folder » et « content » mais il est possible d’étendre l’affichage à tous les nœuds tout aussi rapidement.
  6. Suppression des permissions d’un utilisateur : si un utilisateur est désactivé, par exemple s’il a quitté la société, on doit pouvoir supprimer ses permissions, sans pour autant supprimer l’utilisateur, afin de le garder comme auteur de ses fichiers. Le nouvel outil permet de retrouver un utilisateur et de supprimer toutes ses permissions sur le repository en un temps minimal.
  7. Accès aux consoles Alfresco et aux Webscripts : Dans la console d’administration Share, le nouvel outil facilite l’accès aux consoles d’Alfresco (Workflow, AVM, Surf…) et le rechargement des Webscripts Alfresco et Share.

En savoir plus sur Alfresco Share

Démonstration de la Gestion Documentaire Alfresco

Configuration avancée à chaud d’Alfresco

Un des grands atouts d’Alfresco réside dans ses fortes capacités de paramétrage. Alfresco Entreprise permet de modifier certains paramètres à chaud (c’est à dire sans redémarrage d’Alfresco). Cependant cela nécessite un outil spécifique (généralement Jconsole) qui n’est pas toujours disponible et est difficile à prendre en main. StarXpert fournit une solution innovante pour modifier ces paramètres en les regroupant dans un simple fichier de configuration au format csv. Pour modifier les paramètres, il suffit désormais de modifier le fichier csv avec un simple logiciel bureautique tel que Calc ou Excel.

Par exemple :

  • Spécifier le dossier d’installation d’OpenOffice utilisé par Alfresco :

Alfresco:Type=Configuration,Category=OOoJodconverter,id1=default jodconverter.officeHome /opt/openoffice.org3
  • Changer « true » en « false »permet de désactiver l’accès cifs :
Alfresco:Type=Configuration,Category=fileServers,id1=default cifs.enabled true
  • Changer « false » en « true » permet d’autoriser l’accès aux documents Google Docs :
Alfresco:Type=Configuration,Category=googledocs,id1=default googledocs.googleeditable.enabled false

Puis, StarXpert a développé un utilitaire en JAVA (avec un moteur Java pour l’exécution et des webscripts pour l’interface) permettant de charger le fichier csv modifié directement depuis Share, et de prendre en compte les changements immédiatement, sans interruption de service. L’utilitaire se présente comme suit :

Sauvegarder sa configuration Alfresco deviens un jeu d’enfant.

Par ailleurs, si nos clients ne souhaitent pas effectuer eux-mêmes le paramétrage de leur Alfresco, il leur suffit de nous envoyer leur fichier csv pour que nous le modifiions à leur place. Ils pourront ensuite le charger à l’aide de l’utilitaire. Cette opération pourra s’effectuer sans que nous ayons besoin d’obtenir l’accès à leur serveur Alfresco.

Le nouvel utilitaire fait partie d’une suite d’outils que StarXpert est en train de développer pour faciliter l’administration d’Alfresco.

NB : Cette nouvelle fonctionnalité requiert la version Alfresco Enterprise !

En savoir plus sur Alfresco Share

Démonstration de la Gestion Documentaire Alfresco

Alfresco Share : architecture pour créer un nouveau module

Nous avons récemment annoncé la création d’ASUR, le nouveau module d’audit pour Alfresco Share. Aujourd’hui, nous allons examiner la première étape de la création d’un nouveau module Share, à savoir le squelette pour projet Ant Eclipse.

Pour créer un module pour Share il faut mettre en place l’arborescence suivante :

Nous allons maintenant détailler le contenu des fichiers décrits ci-dessus.

build.xml

<?xml version="1.0"?>

<project name="Module Share" default="package-amp" basedir=".">
	<property name="project.dir" value="."/>
	<property file="${project.dir}/build.properties"/>
	<property file="${project.dir}/module.properties"/>
	<property name="build.dir" value="${project.dir}/build"/>
	<property name="config.dir" value="${project.dir}/config"/>
	<property name="jar.file" value="${build.dir}/lib/${module.id}.jar"/>
	<property name="amp.file" value="${build.dir}/dist/${module.id}.amp"/>
	<path id="class.path">
		<dirset dir="${build.dir}" />
		<fileset dir="${project.dir}/lib" includes="**/*.jar" />
		<fileset dir="${alfresco.sdk.dir}/lib/server" includes="**/*.jar" />
	</path>
	<target name="mkdirs">
		<mkdir dir="${build.dir}/dist" />
		<mkdir dir="${build.dir}/lib" />
		<mkdir dir="${build.dir}/classes" />
	</target>
	<target name="clean" description="Clean the build results">
		<delete dir="${build.dir}" />
	</target>

	<target name="compile" depends="mkdirs">
		<javac classpathref="class.path" debug="${debug}"
			srcdir="${project.dir}/source/java"
			destdir="${build.dir}/classes" encoding="UTF-8" >
			<compilerarg value="-Xlint:unchecked"/>
		</javac>
		<copy todir="${build.dir}/classes">
			<fileset dir="${project.dir}/source/java" defaultexcludes="false">
				<exclude name="**/*.java"/>
				<exclude name="**/.svn/**"/>
			</fileset>
		</copy>
	</target>

	<target name="package-jar" depends="compile">
		<jar destfile="${jar.file}" encoding="UTF-8" >
			<fileset dir="${build.dir}/classes"
				excludes="**/custom*,**/*Test*"
				defaultexcludes="false" />
		</jar>
	</target>

	<target name="package-amp" depends="package-jar" description="Package the Module">
		<zip destfile="${amp.file}" encoding="UTF-8" >
			<fileset dir="${project.dir}/build" includes="lib/*.jar" />
			<fileset dir="${project.dir}" includes="config/**/*.*" excludes="**/module.properties" />
			<fileset dir="${project.dir}">
				<include name="module.properties"/>
				<include name="file-mapping.properties" />
				<include name="WEB-INF/**/*" />
				<include name="lib/**/*" />
				<exclude name="WEB-INF/alfresco.tld"/>
				<exclude name="WEB-INF/repo.tld"/>
			</fileset>
			<zipfileset dir="source/web" prefix="web"/>
		</zip>
	</target>
</project>

build.properties

alfresco.sdk.dir = /path/to/sdk

file-mapping.properties

# Mappings des dossiers entre le module AMP et fichier WAR
#
# La propriété suivante peut être utilisée pour inclure l'ensemble des mappings standards.
# La valeur par défaut est «vrai », c'est à dire les mapping par défaut seront augmentés ou modifiés
# par les valeurs de ce fichier.
#
include.default=true
#
# Mappings personnalisés. Si 'include.default' est false, alors then ceci est l'ensemble complet.
#
/web/components=/components

module.properties

# Module Share

module.id=Module_Share
module.title=Module Share
module.description=Module for the application Share
module.version=1.0

Alfresco Share : StarXpert dévoile un nouveau module d’audit

Alfresco Share Usage Reporting est un module Alfresco Share basé sur le système d’audit d’Alfresco, il permet de définir et de visualiser les différentes statistiques de l’utilisation du serveur GED Alfresco.

ASUR est accessible depuis la console d’administration Share. Il affiche sous forme de graphe les statistiques courantes de l’utilisation d’Alfresco (Nombre de hits, nombre et volume des fichiers créés/supprimés, Workflows démarrés… ) sur une période donnée, et permet leur impression à la demande.

La période d’audit est définie par l’utilisateur et l’affichage est cumulé par heure, jour ou mois.

L’un des points forts d’ASUR est qu’il permet de filtrer les fonctionnalités de reporting par utilisateur (excepté le « nombre de connexions uniques », lequel visualise le nombre d’utilisateurs uniques qui se sont connectés dans une période donnée et ne dépend donc pas d’un seul utilisateur).
De plus, de par sa nature de module Alfresco (Alfresco Module Package), ASUR est facile à installer. Son utilisation est intuitive grâce a une interface simple et épurée.

Dans un but de vision globale, ASUR peut cumuler deux fonctionnalités d’audit compatibles dans un même graphe. Par exemple : fichiers crées/supprimés, workflows démarrés/terminés.

La liste des données auditées est la suivante :

  • Nombre de hits
  • Nombre de connexions uniques
  • Nombre de Fichiers créés
  • Nombre de Fichiers supprimés
  • Nombre de fichiers Créés/Supprimés
  • Nombre de fichiers téléchargés
  • Volume des fichiers téléchargés
  • Workflows démarrés
  • Workflows terminés
  • Workflows démarrés/terminés

Télécharger ASUR (licence LGPL)

ASUR est téléchargeable depuis la forge Alfresco

En savoir plus sur Alfresco Share

Démonstration de la Gestion Documentaire Alfresco

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.

Comment effectuer un audit avec Alfresco 3.4 ?

Il y a bien des cas où il est utile de savoir quelles personnes ont pris connaissent d’un document. C’est pourquoi Alfresco comporte une fonction d’audit. Avec la version 3.4 d’Alfresco apparaît une nouvelle façon d’effectuer un audit. Si cette nouvelle méthode présente des avantages par rapport à l’ancienne, elle n’est pas sans impact sur l’historique des données héritées des anciennes versions d’Alfresco. Cet article se propose d’expliquer en quoi il est intéressant d’effectuer un audit, les différences notoires entre l’audit sous Alfresco 3.4 et les versions précédentes et enfin la manière d’exécuter un audit Alfresco.

Qu’est-ce que l’audit Alfresco ?

Mettre en place un audit sur une application permet d’en tirer des statistiques. Les données qui peuvent être auditées sont par exemple :

  • le nombre de connections à la journée, au mois, à l’année sur une période donnée.
  • le nombre de documents lus / modifiés / supprimés / ajoutés en une journée, un mois, une année, sur une période donnée.

Pour chacune des données auditées il peut être intéressant de croiser ces informations avec d’autres données afin d’obtenir des statistiques plus précises comme par exemple :

  • le nombre de connections à la journée, au mois, à l’année sur une période donnée pour un utilisateur particulier.
  • le nombre de documents lus / modifiés / supprimés / ajoutés en une journée, un mois, une année sur une période donnée par un utilisateur particulier.
  • le nombre de fois qu’un document spécifique a été lu / modifié par tel utilisateur.

Pour mettre en place un audit il faut obligatoirement définir une période d’audit, c’est à dire les dates qui vont définir les bornes de l’audit. Toutes les autres informations facultatives qui peuvent être définies pour l’audit permettent d’effectuer des statistiques suivant un contexte particulier (pour un utilisateur donné, pour un document donné, …).

Principe de l’audit avec Alfresco 3.4

Avec la version 3.4 d’Alfresco le système d’audit a changé. Il faut maintenant définir dans un fichier xml les actions que l’on souhaite auditer (connexions, lecture, …). De plus, un webscript permet maintenant de récupérer les résultats de l’audit au format JSON (un fichier JSON est un fichier texte qui permet de représenter de l’information structurée). Ce fichier doit ensuite être exploité par un autre langage (page php, html, …) pour extraire des résultats sous la forme d’un graphique, par exemple, car il n’existe pour l’instant pas d’interface permettant de lire les résultats de l’audit.

Dans le fichier xml il faut définir :

  • la méthode à auditer
  • les éléments à enregistrer au moment de l’exécution de l’action
  • les éléments à retourner lors de l’audit

Le webscript créé par Alfresco doit être appelé par l’url : http://<serveur-alfresco>:<port>/alfresco/service/api/audit/query/<applicationName>

  • <serveur-alfresco> : nom du serveur sur lequel est installé alfresco
  • <port> : port utilisé pour accéder à l’application
  • <applicationName> : nom de l’action auditée défini dans le fichier xml

Différences avec l’ancienne méthode d’audit

Pour mettre en place un audit en version 3.4, il n’est plus nécessaire de requêter la base de données directement. Cela présente l’avantage d’être indépendant par rapport aux couches basses du code, aussi l’audit continuera à fonctionner même si ces couches sont modifiées. Pour ajouter de nouvelles données dans les tables d’audit il suffit de configurer les fichiers xml, ce qui est plus simple et plus rapide qu’avec l’ancienne méthode, et ne nécessite plus d’avoir des connaissances en Hibernate.

Les tables utilisées pour l’audit ont changé et les anciennes tables d’audit ont été supprimées. Cela implique que les données auditées en version inférieure ne pourront pas être récupérées. Toutes les requêtes SQL utilisées dans l’ancien audit devront être remplacées par des appels à l’API fournis à travers les fichiers de configuration XML.

Exemple : Audit des connections

Pour mieux comprendre le fonctionnement de l’audit voici un petit exemple qui nous permettra d’auditer les connections à l’application.

Fichier xml : audit-authenticate.xml

<Audit xmlns="http://www.alfresco.org/repo/audit/model/3.2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.alfresco.org/repo/audit/model/3.2 alfresco-audit-3.2.xsd" >
    <DataExtractors>
        <DataExtractor name="simpleValue" registeredName="auditModel.extractor.simpleValue"/>
    </DataExtractors>
    <DataGenerators>
        <DataGenerator name="personFullName" registeredName="auditModel.generator.personFullName"/>
    </DataGenerators>
    <PathMappings>
        <PathMap source="/alfresco-api/post/AuthenticationService/authenticate" target="/auditExempleLogin/login"/>
    </PathMappings>
    <Application name="AuditExempleLogin" key="auditExempleLogin">
        <AuditPath key="login">
            <AuditPath key="args">
                <AuditPath key="userName">
                    <RecordValue key="userName" dataExtractor="simpleValue" />
                </AuditPath>
            </AuditPath>
            <AuditPath key="no-error">
                <GenerateValue key="fullName" dataGenerator="personFullName"/>
            </AuditPath>
        </AuditPath>
    </Application>
</Audit>

On choisit ici d’auditer la méthode d’authentification qui est définit dans la partie <PathMappings>. La partie <Application> permet de définir quels éléments seront audités. Dans cet exemple on veut connaître le login de la personne qui se connecte ainsi que les propriétés Nom et Prénom.

Un dataExtractor est un composant qui utilise les données d’entrée pour produire une sortie. L’extracteur le plus simple est le SimpleValueDataExtractor, qui retourne toutes les données transmises. Pour connaître le login on récupère l’argument username par la méthode authenticate grâce au dataExtractor simpleValue. Il est possible de créer ses propres extracteurs en développant une nouvelle classe qui étendra la classe AbstractDataExtractor.

Un dataGenerator est un composant qui produit des données sans entrée. Les exemples de générateurs sont les classes :

  • AuthenticatedUserDataGenerator qui produit le nom de l’utilisateur couramment authentifié
  • AuthenticatedPersonDataGenerator qui produit le nom complet de l’utilisateur actuellement authentifié

Pour retourner les propriétés Nom et Prénom on utilise le dataGenerator personFullName qui correspond à la classe AuthenticatedPersonDataGenerator. Tout comme les extracteurs il est possible de créer de nouveaux générateurs en développant une nouvelle classe qui étendra la classe AbstractDataGenerator.

Appel de l’audit

En exécutant le webscript correspondant à l’url http://<serveur-alfresco>:<port>/alfresco/service/api/audit/query/AuditExempleLogin?verbose=true on obtient un fichier JSON qui nous retourne les éléments suivants :

{
   "count":2,
   "entries":
   [
      {
         "id":1,
         "application":AuditExempleLogin,
         "user":admin,
         "time":"2011-02-24T14:30:36.698+01:00",
         "values":
         {
                     "/auditExempleLogin/login/no-error/fullName":"Administrator"
                     ,"/auditExempleLogin/login/args/userName/userName":"admin"
         }
      },
      {
         "id":2,
         "application":AuditExempleLogin,
         "user":cpiassale,
         "time":"2011-02-24T14:31:33.455+01:00",
         "values":
         {
                     "/auditExempleLogin/login/no-error/fullName":"Cindy PIASSALE"
                     ,"/auditExempleLogin/login/args/userName/userName":"cpiassale"
         }
      }
   ]
}

Dans cet exemple on peut voir qu’il y a eu deux personnes qui se sont connectées : admin et cpiassale. Dans la liste « values » on retrouve les éléments que l’on souhaitait connaître par le biais de l’audit :

  • « /auditExempleLogin/login/no-error/fullName » : nom et prénom de l’utilisateur connecté
  • « /auditExempleLogin/login/args/userName/userName » : login de la personne qui a déclenché la méthode d’authentification

Il existe un certain nombre de dataExtractor et de dataGenerator par défaut. Dans le cas où l’on souhaite auditer ses propres services et méthodes il est possible de développer de nouveaux dataExtractor ou dataGenerator pour récupérer les données recherchées.

Alfresco 3.4 – démonstration des nouveautés

StarXpert a effectué une démonstration des nouveautés d’Alfresco 3.4, au cours d’un webinaire dont l’enregistrement se trouve ci-dessous :

Alfresco Share : éditer collaborativement des documents MS Office… sans SharePoint

Alfresco Share 3.4 est riche de nouvelles fonctionnalités qui en font une solution de GED collaborative complète, capable d’éditer des documents MS Office sans avoir à recourir à SharePoint. Les capacités d’Alfresco Share à ce sujet sont un des éléments clés de la solution, sur lesquels cet article se propose de faire le point.

Alfresco a introduit avec la version 3 le support du protocole SharePoint. Cela signifie que Alfresco, vu de la suite Microsoft Office, est un serveur SharePoint; en effet les fonctionnalités collaboratives de Microsoft Office se basant sur la présence d’un serveur SharePoint deviennent opérationnelles en la présence d’Alfresco Share. L’édition en ligne de documents MS Office stockés dans Alfresco Share se base sur ces fonctionnalités collaboratives, les capacités et l’ergonomie sont donc celles proposées par Microsoft. Concrètement, l’utilisateur a le choix entre accéder aux documents depuis MS Office ou depuis l’interface Web Share. Dans les deux cas, il peut accéder directement au document stocké sous Alfresco, sans passer par un étape de téléchargement en local sur son poste.

Alfresco annonce le support SharePoint pour les versions 2007 et 2003 de Microsoft Office. Quelques éléments du protocole SharePoint ne sont pour l’instant pas supportés par Alfresco, tels que alertes sur document, les liens, les tâches, les méta-données personnalisées et les sous-sites.

Fonctionnement

Depuis MS Office, l’accès à Share peut se faire simplement par le menu « Fichier > Ouvrir », en fournissant l’URL d’accès au serveur Alfresco. L’utilisateur peut également directement créer un nouveau document dans Share à partir de MS Office. Depuis l’interface Web Alfresco Share, l’utilisateur peut ouvrir un document simplement par la fonction « Modifier en ligne » comme montré sur cet exemple :

L’utilisateur obtient alors le même résultat qu’après un double-clic sur l’explorateur de fichiers, à savoir l’ouverture du document sous MS Office. Il existe toutefois une différence importante : le volet « Espace de travail partagé » de MS Office est activé, ce qui donne accès aux fonctionnalités collaboratives :

Volet Collaboratif sous MS Office 2003

Le document est automatiquement verrouillé, l’utilisateur peut directement le modifier, le sauvegarder avec une prise en compte immédiate dans Alfresco. Il peut également choisir de l’extraire, afin de pouvoir l’éditer hors-ligne.

Le volet « espace de travail partagé » offre d’autres fonctionnalités telles que l’accès aux autres documents de l’espace de travail, la liste des membres de l’espace de travail, l’accès à l’historique des versions …

La mise en place de ce fonctionnement requiert une conduite du changement auprès des utilisateurs. Il existe en effet plusieurs manières de procéder, l’utilisateur doit donc être guidé. On peut noter par exemple que la création d’un document directement dans Share se traduit par défaut par la création d’un espace de travail (donc d’un site Share). Il est souvent souhaité de limiter ce fonctionnement ; cela peut être obtenu par paramétrage d’Alfresco Share, toutefois le mode opératoire à utiliser doit être explicité et diffusé auprès des utilisateurs.

Liens utiles

Alfresco 3.4 ou la migration vers Share

Comprendre Alfresco Share en 2 jours

Prototype Alfresco Share

Activiti prend le relais de jBPM

Les nouvelles normes BPMNv2 (Business Process Model and Notation v2) qui régissent les applications de gestion de processus métier apportent des changements majeurs, puisqu’au delà d’une représentation graphique commune, elles définissent les sémantiques d’exécution ainsi qu’un format commun d’échange. Une des répercussions est l’abandon du projet jBPM au profit du projet Activiti, né il y a moins d’un an, et se conformant aux nouvelles normes. Pour être plus précis, Activiti prend le relais de jBPM, le chef de projet d’Activiti (Tom Baeyens) n’étant autre que le fondateur de jBPM, tandis qu’Activi sort sa première version majeure sous le nom d’Activiti 5.0, faisant suite à la version 4 de jBPM.

jBPM est pour le moment conservé dans Alfresco, cependant un outil de migration vers Activiti devrait logiquement bientôt voir le jour, puisque le nouveau standard de workflow BPMNv2 sera prochainement adopté par Alfresco. Alfresco est fortement impliqué dans l’avenir des BPMN puisqu’il a participé à la rédaction des normes BPMNv2 et fournit 8 des développeurs du projet Activiti, dont Tom Baeyens.

Activiti offre une interface de modélisation pour Eclipse ainsi qu’une interface de modélisation web (réalisée par Signavio, lequel vend une version en SaaS). Activiti 5.0 est parfaitement fonctionnel et permet de travailler avec Alfresco par le biais d’OpenCMIS. A terme, Activiti sera capable de gérer les processus de conception de workflows, les workflows d’entreprise ainsi que les workflows d’administration de serveur.

Le moteur d’Activiti est fourni sous licence Apache et peut être embarqué dans une application web. La solution est intégrée à Grails, tandis que des applications iPhone et Android sont en cours de développement. Un des points marquants réside dans la capacité d’Activiti à piloter un workflow en utilisant des valeurs présentes dans un classeur xls.

Activiti rejoint ainsi les rangs des applications implémentant BPMNv2, dont fait partie son concurrent Bonita.

Alfresco 3.4 ou l’aboutissement de Share

Alfresco 3.4 est prévu pour bientôt, l’attente de sa sortie est l’occasion de faire le point sur ses nouvelles fonctionnalités.

Share occupe le devant de la scène

Parmi les principales innovations d’Alfresco 3.4 on remarque d’abord celles concernant Share. L’interface bénéficie d’améliorations, notamment autour du module d’Administration, auxquelles s’ajoutent la mise en place de workflows avancés.

Share – amélioration des capacités de personnalisation de l’interface, en particulier sur la barre d’entête :

Si le thème d’Alfresco peut être changé depuis la version 3.3, le module d’administration permet maintenant d’effectuer les modifications depuis l’interface, sans aucun redémarrage de l’application. L’administrateur peut aussi modifier le mot de passe d’un utilisateur au cas où celui-ci l’aurait oublié (depuis la version 3.4.b).

Share – Formulaire personnalisable de recherche avancée (choix du type, de l’aspect et des propriétés personnalisées) :


Par ailleurs, le dashlet « mes tâches » renvoie désormais vers une interface permettant de gérer les workflows. Un workflow peut être démarré sur n’importe quel élément d’un site, voir sur le site lui-même, ou bien encore sur un élément du repository d’Alfresco. Il existe 5 types de workflows car les workflows assignés à un groupe diffèrent de ceux assignés à un utilisateur. Lorsqu’une date d’échéance est définie sur une tâche, celle-ci se présente sous une icône différente dans la dashlet « mes tâches ». La notification peut également être activée à chaque fois que l’utilisateur décide de modifier une tâche.

Depuis la version 3.3 est aussi apparu un nouveau composant dans les sites : les Data Lists. Il existe plusieurs types de Data Lists permettant de créer :

  • une liste d’adresses
  • une liste d’événements
  • une liste de contacts
  • une liste de questions
  • une liste de tâches
  • une liste de choses à faire
  • un programme de réunions
  • un programme d’événements

Pour toutes ces listes, il est possible d’attacher n’importe quel élément, comme pour les workflows. Petite nouveauté, il est aussi possible d’indiquer un statut au niveau du profil pour informer les collaborateurs de ce que l’utilisateur est en train de faire (voir ci-dessous).

Depuis Alfresco 3.3, la fonctionnalité de Site Service permet la création de sites Share publics, privés ou modérés. Ces niveaux de visibilité sont maintenus dans Alfresco 3.4., avec une visibilité publique par défaut. Depuis Alfresco 3.4 il est également possible de changer les configurations pour que tous les nouveaux sites créés soient accessible à un groupe plus restreint par défaut.

Dernier point, l’outil de réplication automatique des données est dorénavant géré par une console d’administration.

Les fonctionnalités qu’Alfresco 3.4 apportent à Share en font un produit complet, dont l’utilisation se substitue à celle de l’interface d’origine d’Alfresco (explorer).

Modifications internes à Alfresco

L’outil de réplication automatique (Transfer Service) a subit des améliorations lui permettant d’effectuer une réplication localisée géographiquement. Il permet un accès rapide sur des sites distants. La réplication ne fonctionne que dans un sens par défaut, le dépôt secondaire étant accessible en lecture seule.

Par ailleurs :

  • L’API prévoit dorénavant un service de notation (RatingService). Celui-ci permet de mettre en place une notation par étoile ou autre critère. Il sera intégré à Share dans les versions futures, probablement à commencer par les blogs.
  • Alfresco Web Quick Start est un ensemble de modèles permettant de créer dynamiquement des sites Web riches en contenu.
  • Alfresco 3.4 présente des performances de lecture améliorées sur le test de permission de lecture. Enfin, les anciennes tables d’Audit ne sont plus utilisées par Alfresco (alf_audit_config, alf_audit_date, alf_audit_fact, alf_audit_source)