Création liens entre documents sous Share

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

Création liens entre documents sous Share

bonjour,

Est-il possible de créer un lien nativement (donc sans développement) entre deux documents sous Share ?

malgré une recherche sur les forums et le wiki, je n'ai pas trouvé de réponse.

Merci d'avance !

fgourrier
5 Replies
cleseach
Active Member II

Re: Création liens entre documents sous Share

Bonjour,

C'est possible avec un tout petit peu de configuration.
Ci-dessous quelques éléments pour réaliser cette configuration.

1 - Etudier le modèle de données standard Alfresco
Dans le fichier contentModel.xml (<alfresco>/WEB-INF/classes/alfresco/model/contentModel.xml), Alfresco propose un certains nombre d'aspects permettant de définir des liens entre les documents. Ces aspects consiste en la définition d'une association qui matérialisera la relation.
On trouve notamment l'aspect cm:referencing qui permet de définir un lien de référencement vers un contenu.
On va baser nos configurations suivantes sur l'utilisation de cet aspect.

2 - Ajouter l'aspect à la liste des aspects utilisables dans Share
Les configurations pour share sont réalisées dans le fichier share-config-custom.xml (<tomcat>/shared/classes/alfresco/web-extension).
Insérer dans ce fichier la section :

<config evaluator="string-compare" condition="DocumentLibrary">
  <aspects>
    <visible>
       <aspect name="cm:referencing" />
    </visible>
  </aspects>
</config>
Elle permet de définir que l'aspect cm:referencing doit être disponible dans la liste des aspects applicables aux noeuds.

3 - Définir l'affichage de l'aspect
Toujours dans le fichier share-config-custom.xml, ajouter la section

<config evaluator="node-type" condition="cm:content">
  <forms>
    <form>
      <field-visibility>
        <!– cm:referencing aspect –>
        <show id="cm:references" />
       </field-visibility>
       <appearance>
         <field id="cm:references">
           <control>
             <control-param name="compactMode">true</control-param>
             <control-param name="showTargetLink">true</control-param>
             <control-param name="startLocation">{siteshome}</control-param>
           </control>
        </field>
      </appearance>
    </form>
  </forms>
</config>
Cette section permet d'afficher l'association dans la fiche de propriétés et de mettre en place un lien sur le nom du noeud lié (cf. <control-param name="showTargetLink">true</control-param>).
Pour plus de détails sur la configuration de la page de propriétés, vous pouvez consulter : http://wiki.alfresco.com/wiki/Forms

4 - Utiliser nos configurations
Après redémarrage de Share, vous pourrez appliquer l'aspect cm:referencing sur un document et définir les documents liés à celui-ci.

J'espère que ceci répond à votre question.
Bien cordialement,
Charles Le Seac'h
fgourrier
Member II

Re: Création liens entre documents sous Share

Merci pour la rapidité de votre réponse  Smiley Happy

Je pense que cela répond tout à fait à ma question.

je teste ça rapidement.

bien cordialement,

fgourrier
fgourrier
Member II

Re: Création liens entre documents sous Share

l'aspect apparaît bien dans la liste mais aprés sélection, j'ai le message suivant :

"Erreur Interne de Servlet"

une idée du problème ?

EDIT : c'est bon ça fonctionne Smiley Happy, par contre où peut on modifier le libellé de l'aspect (aspect.cm_referencing c'est pas hyper explicite)
cleseach
Active Member II

Re: Création liens entre documents sous Share

Bonjour,

C'est vrai qu'il manque une partie dans mon explication. Toutes mes excuses !
Pour mettre un "joli" libellé, il faut se créer un fichier .properties dans web-extension/messages. Appelons, par exemple, references.properties et ajoutons-y le contenu :
aspect.cm_referencing=References

Nous pouvons ensuite le référencer dans le fichier web-extension/custom-application-context (toujours par exemple) :
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>

<beans>
<!– Override WebScript Messages - add slingshot application messages –>
   <bean id="webscripts.resources" class="org.springframework.extensions.surf.util.ResourceBundleBootstrapComponent">
      <property name="resourceBundles">
         <list>
            <value>webscripts.messages.webscripts</value>
            <value>alfresco.messages.common</value>
            <value>alfresco.messages.slingshot</value>
            <value>alfresco.web-extension.messages.references</value>
         </list>
      </property>
   </bean>
</beans>

Le fichier references.properties, peut également être complété par des fichiers localisés.

Bien cordialement,
Charles Le Seac'h
fgourrier
Member II

Re: Création liens entre documents sous Share

Encore merci !

remarque de fond : je trouve surprenant que cet aspect ne soit configuré par défaut. Ce n'est certes pas un besoin majeur mais cela peut répondre quand même à certains cas d'utilisation.

bien cordialement,

fgourrrier