Listener ajout fichier

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

Listener ajout fichier

Bonjour à tous,

je souhaite développer un composant qui intègre un listener sur l'ajout d'un fichier par un utilisateur.
Je dois effectué un certain traitement lors de chaque ajout de fichiers.
Vers quelle architecture de projet dois-je m'orienter?
Quelles sont lés éléments important qui pourront m'aider?

Merci pour toutes les informations que vous pourrez m'apporter.

Vincent
5 Replies
dranakan
Active Member

Re: Listener ajout fichier

Hello,

Il est possible de créer une action (démarrage de code Java par exemple) dès qu'un fichier est ajouté.

Le document est basé sur l'ancienne interface, mais le principe y est : http://ecmarchitect.com/images/articles/alfresco-actions/actions-article.pdf

En détaillant un peu plus vos besoins nous pourrions peut-être mieux vous aiguiller.
vincentod
Member II

Re: Listener ajout fichier

Bonjour,

Mon besoin est le suivant:
Quand un utilisateur ajoute un document, je dois récupérer des informations dans le document.
Mon but final est d'ajouter un composant google maps dans l'espace de travail de l'utilisateur pour qu' il puisse visionner certaines informations que j'ai extraite du document.
Je voulais savoir vers quelle architecture je dois  m'orienter ( dashlets ?).
En ce qui concerne l'écoute d'ajout de fichier, je pense que la classe NodeServicePolicies.OnCreateNodePolicy (http://ecmarchitect.com/images/articles/alfresco-behavior/behavior-article.pdf) pourrait m'aider ? Mais je n'ai aucune idée de comment l'implémenter.
Donc pour l’exécution de mon traitement je peux utiliser une action ?

Merci pour votre aide.
dranakan
Active Member

Re: Listener ajout fichier

vincentod
Member II

Re: Listener ajout fichier

J'ai déjà vu qu'il était possible d'intégrer un composant google maps (et en particulier cet exemple, que je ne suis pas arriver à déployer).
Mais ma question prioritaire reste celle la : quel type d'architecture dois-je utiliser pour couvrir mes besoins ?

Merci.
vincentod
Member II

Re: Listener ajout fichier

Bonjour,

j'ai réussi à avoir l'écoute lors de l'ajout du fichier de la manière suivante:

public class AddFileListener implements NodeServicePolicies.OnCreateNodePolicy {

   private Logger logger = Logger.getLogger(AddFileListener.class);
   
   private Behaviour onCreateNode;

   private PolicyComponent policyComponent;

   protected NodeService nodeService;

   protected ContentService contentService;

   public void setContentService(ContentService contentService) {
      this.contentService = contentService;
   }

   public void setPolicyComponent(PolicyComponent policyComponent) {
      this.policyComponent = policyComponent;
   }

   public void setNodeService(NodeService nodeService) {
      this.nodeService = nodeService;
   }

   void init() {

      // Create behaviours
      this.onCreateNode = new JavaBehaviour(this, "onCreateNode",
            NotificationFrequency.EVERY_EVENT);

      // Register interest in the onCreateNode policy - for content
      policyComponent.bindClassBehaviour(QName.createQName(
            NamespaceService.ALFRESCO_URI, "onCreateNode"),
            ContentModel.TYPE_CONTENT, onCreateNode);

   }

   @Override
   public void onCreateNode(ChildAssociationRef childAssRef) {

      System.out.println("node value is ::" + childAssRef.getQName());

   }

J'ai bien l'ajout qui est loggué. Maintenant je souhaite récupérer ce fichier pour analyser son contenu.
J'ai essayé de la manière suivante:


   @Override
   public void onCreateNode(ChildAssociationRef childAssRef) {

      System.out.println("node value is ::" + childAssRef.getQName());
                NodeRef nodeRefFile = childAssRef.getChildRef();
      ContentReader reader = contentService.getReader(nodeRefFile,ContentModel.PROP_CONTENT);

   }
      

Mais là j'obtiens un reader null.

Quelqu'un aurait une idée ??

Merci.