cancel
Showing results for 
Search instead for 
Did you mean: 

[Résolu] Traçabilité des Actions

tserando
Champ in-the-making
Champ in-the-making
Bonjour tout le monde.
Je profite de ce message pour vous souhaiter à tous une très bonne année 2009.

Je viens vers vous car une question me trotte dans la tête.
Voilà maintenant 2 ans que nous utilisons Alfresco Community dans notre Entreprise : 2.0 initial et migration en 2.1.
Aujourd'hui, notre bande passante a été saturé car une personne extérieure à notre réseau à récupérer pendant toutes la journée des documents présent sur Alfresco.

Dans un souci de traçabilité, nous souhaitons savoir s'il existe un outil nous permettant de savoir quelles actions cette personne a effectué sur Alfresco :
- Quels documents a-t-il récupérés ? Modifiés ? Déposés ?
- A quel heures ?
- Combien de temps à durée le transfert ?

Nous souhaitons avoir ces informations car nous hébergeons plusieurs serveurs et pendant qu'une personne récupère plusieurs documents sur Alfresco, la bande passante disponible pour les autres serveurs est très minimisée et rallonge énormément les temps de réponse.

Je vous remercie d'avance de m'éclaircir si possible sur ce point.

Thibault
7 REPLIES 7

cleseach
Star Contributor
Star Contributor
Bonjour,

On peut disposer de beaucoup d'informations sur les actions des utilisateurs en activant l'audit : cf. /alfresco/extension/auditConfig.xml
Le mieux est de lire cette page : http://wiki.alfresco.com/wiki/Audit_Configuration et de regarder le dernier paragraphe intitulé "Configuration changes to audit content read".

Cordialement,
Charles Le Seac'h

tserando
Champ in-the-making
Champ in-the-making
Bonjour cleseach,

Merci de ta réponses.
Nous avons déjà sur notre configuration mis en place et activer les audits.
Le problème est que les audits sont visibles uniquement via les templates et uniquement sur les contenus. En gros, il faut contenu par contenu regarder l'audit pour connaître les actions effectués.

Notre Alfresco héberge 70 Go de documents, je te laisse donc imaginer combien de temps je vais mettre regarder tous les documents un par un.
De plus, nous avons constaté dans notre installation que l'audit ne fonctionne pas si l'on utilise le Webdav pour effectuer des actions sur les contenus. Tous nos utilisateurs (une grande majorité) utilise Webdav.

Peut-être ai-je louper une solution plus simple de visualiser les audits et qui correspondrait à mon besoin.
Merci de m'éclaircir sur ce point si c'est le cas.

Encore merci de la réponse rapide et bonne journée.

Thibault

cleseach
Star Contributor
Star Contributor
Bonjour Thibault,

Peut-être ai-je louper une solution plus simple de visualiser les audits et qui correspondrait à mon besoin.

Le template (show_audit.ftl) peut servir de base pour construire un template plus général présentant les traces pour tous les documents.
On peut même passer par un webscript pour afficher les traces en dehors du client web.

Pour le problème rencontré sur WebDav, je n'ai pas d'hypothèse de résolution pour le moment.

Cordialement,
Charles Le Seac'h

cleseach
Star Contributor
Star Contributor
Bonjour,

Pour que la lecture d'un document par WebDAV apparaisse bien dans l'audit, il faut s'assurer que la configuration suivante est bien réalisée dans auditConfig.xml :

<Service name="FileFolderService" mode="none">
       <Method name="getReader" mode="all"/>
</Service>

C'est en effect le FileFolderService (et non le ContentService) qui est utilisé pour accéder aux contenus depuis WebDAV.

Cordialement,
Charles Le Seac'h

tserando
Champ in-the-making
Champ in-the-making
Bonjour Charles,

J'ai déjà la configuration que tu m'indiques dans mon fichier auditConfig.xml :

<Service name="FileFolderService" mode="none">
        <Method name="rename" mode="all"/>
        <Method name="move" mode="all"/>
        <Method name="copy" mode="all" auditInternal="true"/>
        <Method name="create" mode="all"/>
        <Method name="delete" mode="all"/>
        <Method name="makeFolders" mode="all"/>
        <Method name="getWriter" mode="all"/>
    </Service>

Je viens de refaire le test et ça ne fonctionne pas avec le template show_audit.ftl
J'ai aussi essayer de voir si les actions webdav était indiqué dans mon propre template et ça ne fonctionne toujours pas :

<#if document?exists>
    <#assign node=document/>
<#elseif space?exists>
    <#assign node=space/>
</#if>

<#if node?exists>
<table cellspacing="0" cellpadding="0" width="100%" class="recordSet">
    <tr>
        <th class="recordSetHeader" style="padding: 2px; text-align: left;">User Name</th>
        <th class="recordSetHeader" style="padding: 2px; text-align: left;">Method</th>
        <th class="recordSetHeader" style="padding: 2px; text-align: left;">Date</th>
    </tr>

    <#assign i = 0/>
    <#list node.auditTrail as t>
    <tr class="${(i % 2 = 0)?string("recordSetRow","recordSetRowAlt")}">
        <td style="padding: 2px; text-align: left;">${t.userIdentifier}</td>
        <td style="padding: 2px; text-align: left;">
        <#if t.auditMethod?exists>
            <#if t.auditMethod == "getWriter">
                Modification
            <#elseif t.auditMethod == "getReader">
                Reading
            <#elseif t.auditMethod == "checkin">
                Working copy saving
            <#elseif t.auditMethod == "checkout">
                Working copy extraction
            </#if>
        </td>
        <#else>
         
        </#if>
        </td>
        <td style="padding: 2px; text-align: left;">${t.date}</td>
    </tr>
        <#assign i = i + 1 />
    </#list>
</table>
</#if>

J'utilise ce template pour obtenir uniquement les informations qui m'intéressent dans mes audits.

Le template (show_audit.ftl) peut servir de base pour construire un template plus général présentant les traces pour tous les documents.
Qu'entends-tu par ta phrase ?
Est ce qu'il serait possible (d'après ce que tu m'expliques) d'appliquer un modèle de présentation sur un espace pour obtenir un audit de tous les documents présents dans cet espace et ses sous-espaces ?

Encore merci de l'intérêt que tu montres à mon problème.

Bonne journée

Cordialement
Thibault

cleseach
Star Contributor
Star Contributor
J'ai déjà la configuration que tu m'indiques dans mon fichier auditConfig.xml :
Heu… Justement non, il manque la ligen que j'indique Smiley Wink
Tu n'audites pas le "getReader" qui permet de récupérer le contenu des fichiers.

Est ce qu'il serait possible (d'après ce que tu m'expliques) d'appliquer un modèle de présentation sur un espace pour obtenir un audit de tous les documents présents dans cet espace et ses sous-espaces ?
C'est exactement cela ! Il faut juste boucler sur les contenus des espaces et sous-espaces pour remonter les informations sur chaque contenu.
Attention toutefois au temps nécessaire pour produire le résultat sur tout le référentiel.

Une autre solution consiste à passer par des requêtes sur la base de données comme expliqué ici : http://wiki.alfresco.com/wiki/Auditing_Design_and_Implementation#Sample_mysql_audit_queries_against_...

Cordialement,
Charles Le Seac'h

tserando
Champ in-the-making
Champ in-the-making
Exact, j'avais mal lu, j'ai getWriter mais pas getReader Smiley Happy
Merci de l'avoir vu.

Ce matin j'ai cherché un peu dans la base de données et en effet, j'ai retrouvé toutes les informations que je recherchais : user, noeuds, date, heure. J'ai ainsi pu déceler la personne en question et l'avertir de récupérer son fichier de "3Go" pendant la nuit la prochaine fois ^^

Je vais faire quelques tests pour boucler mon template ce qui m'éviterai de naviguer dans la base de données la prochaine fois.

Je te remercie beaucoup de ton aide qui fut très intéressante et a répondu à mes problèmes.

A bientôt.

Thibault