Lier un fichier à un document alfresco

cancel
Showing results for 
Search instead for 
Did you mean: 
cytrix
Member II

Lier un fichier à un document alfresco

Bonjour,

Dans l'interface web "alfresco explorer", est-il possible de lier un fichier à un document déjà uploadé dans la GED ? (système de pièces jointes ?)

Merci d'avance.
6 Replies
jayjayecl
Active Member II

Re: Lier un fichier à un document alfresco

oui, il faut ajouter l'aspect "attachable" au document auquel vous voulez ajotuer une association.
une fois cela fait, une nouvelle méta-donnée apparaît dans les propriétés modifiables
cytrix
Member II

Re: Lier un fichier à un document alfresco

Merci, je n'avais pas vu.
En fait, par défaut l'aspect "attachable" n'est pas disponible dans l'alfresco explorer. Il faut donc rajouter manuellement l'aspect dans le fichier web-client-config-custom.xml :

<config evaluator="string-compare" condition="Action Wizards">
      <aspects>
         <aspect name="cm:attachable"/>
      </aspects>
   </config>

Par contre la métadonnée "Elements attachés" n'est pas un lien directement cliquable vers le document lié. Peut-être faut-il jouer avec le système de vue personnalisée (template d'affichage) pour pointer vers la page de détail du document lié ou le télécharger ?
jayjayecl
Active Member II

Re: Lier un fichier à un document alfresco

Il faudrait plutôt modifier le "component-generator" qui génère l'affichage de la propriété "cm:attachments".
Si cela ne vous parle guère, signalez-le ici j'essaierai d'être plus précis demain.
michaelh
Active Member

Re: Lier un fichier à un document alfresco

A ce propos, voir ce projet sur la forge : http://forge.alfresco.com/projects/webcl-assoclink/
C'est un peu ancien, mais les bases sont là.
cytrix
Member II

Re: Lier un fichier à un document alfresco

Il faudrait plutôt modifier le "component-generator" qui génère l'affichage de la propriété "cm:attachments".
Si cela ne vous parle guère, signalez-le ici j'essaierai d'être plus précis demain.

Je ne vois pas bien de quoi vous parlez, je veux bien plus de précisions Smiley Wink .
Pour le projet webcl-assoclink, j'irai voir ça, merci.
jayjayecl
Active Member II

Re: Lier un fichier à un document alfresco

Dans le fichier natif d'Alfresco web-client-config-properties.xml, on trouve la configuration de l'affichage de la propriété "attachments" (fichiers associés) :

<config evaluator="aspect-name" condition="attachable">
      <property-sheet>
         <show-association name="attachments" />
      </property-sheet>
   </config>

Cela est implicite, mais en réalité, il y a un "component-generator" qui définit l'affichage de la propriété (association) "attachments" :


<config evaluator="aspect-name" condition="attachable">
      <property-sheet>
         <show-association name="attachments" component-generator="AssociationGenerator" />
      </property-sheet>
   </config>

et, au sein du fichier faces-config-beans.xml, on trouve :

<managed-bean>
      <description>
         Bean that generates an association component
      </description>
      <managed-bean-name>AssociationGenerator</managed-bean-name>
      <managed-bean-class>org.alfresco.web.bean.generator.AssociationGenerator</managed-bean-class>
      <managed-bean-scope>request</managed-bean-scope>
   </managed-bean>

Cela définit que le component-generator "AssociationGenerator" est implémenté par la classe org.alfresco.web.bean.generator.AssociationGenerator

Il vous suffit donc, dans votre web-client-config-custom.xml de surcharger l'affichage de cm:attachments :

<config evaluator="aspect-name" condition="attachable" replace="true">
      <property-sheet>
         <show-association name="cm:attachments" component-generator="CustomAssociationGenerator" />
      </property-sheet>
   </config>

Ensuite, dans le faces-config-custom.xml, de définir la classe qui implémentera le "CustomAssociationGenerator"

<managed-bean>
      <description>
         Bean that generates a custom association component
      </description>
      <managed-bean-name>CustomAssociationGenerator</managed-bean-name>
      <managed-bean-class>votre.package.CustomAssociationGenerator</managed-bean-class>
      <managed-bean-scope>request</managed-bean-scope>
   </managed-bean>

Il ne reste plus qu'à développer le code de la classe CustomAssociationGenerator, par exemple en vous inspirant des autres classes "*Generator.java" d'Alfresco (comme LinkGenerator.java"