AnsweredAssumed Answered

[résolu] faire un lien vers un fichier externe

Question asked by ethan on Aug 23, 2010
Latest reply on Sep 1, 2010 by ethan
Bonjour :)

Je sais que sous Alfresco il existe déjà une action appelée download qui récupère le fichier sélectionné du repository pour le proposer en téléchargement à l'utilisateur. Moi j'aimerais avoir une action télécharger qui aille chercher le fichier courant sur un serveur distant. J'ai pensé modifier l'action download avant de me rabattre sur la solution "créer sa propre action et l'ajouter à la liste des actions des fichiers indexés".

J'ai crée une action download_file que j'ai déclarée dans mon fichier web-client-config-custom.xml de la façon suivante:

<action id="download_file" replace="true">
   <permissions>
      <permission allow="true">Read</permission>
   </permissions>
   <label-id>download_file</label-id>
   <image>/custom/images/icons/download.gif</image>
   <action>download-file</action>
</action>

J'ai aussi crée un fichier de contexte pour cette action, download-file-action-context.xml :

<beans>
     
    <!– Download Action Bean –>
    <bean id="download-file" class="custom.alfresco.customUI.actions.DownloadActionExecuter" parent="action-executer" lazy-init="true">
       <property name="nodeService">
         <ref bean="NodeService" />
      </property>
      <property name="exchangeServerIP" value="192.168.20.241" />
      <property name="fileServerIP" value="192.168.20.221" />
      <property name="filesRootFolderPath" value="/company/shared/" />
      <property name="publicAction">
           <value>false</value>
         </property>
   
   </bean>
  
      <!– Action properties –>
   <bean id="extension.actionResourceBundles" parent="actionResourceBundles">
      <property name="resourceBundles">
         <list>
            <value>alfresco.extension.download-file-action-messages</value>
         </list>
      </property>
   </bean>
     
</beans>

En lisant quelques topics, j'ai cru comprendre qu'on peut injecter des paramètres dans la bean de l'action via le tag <property>. Donc j'en ai mis trois pour mon action ( exchangeServerIP / fileServerIP et fileRootFolderPath ) car j'ai besoin de ces paramètres dans le code de ma classe java DownloadFile. Cependant, je ne suis pas certain de la méthode à utiliser pour récupérer ces paramètres dans ma classe. Est ce que de simples get et set avec le nom des propriétés définies dans le fichier xml suffisent pour pouvoir les utiliser ou bien il faut faire autre chose?

Deuxièmement, concernant la déclaration de mon action dans le fichier web-client-config-custom.xml, j'ai lu dans certains exemples que le tag <action-listener> était utilisé. Je ne comprend pas bien à quoi sert cette classe et si elle est obligatoire? Je n'ai pas trouvé de documentation précise sur le sujet. Pourriez-vous m'aider sur ce point également?

Merci par avance :)

Outcomes