2014-09-02 4 views
0

Je dois rechercher tous les documents dans tous les flux de travail. Le document dans le flux de travail contient une propriété quelconque, qui indique que le document se trouve dans certains flux de travail?Alfresco: Rechercher dans tous les documents dans tous les workflows

Exemple:

results = search.luceneSearch("@cm\\:documentWorkflow:"+true); 

Je dois créer la recherche personnalisée avancée et recherche tous les documents dans les flux de travail.

Merci d'avance.

Répondre

2

Si c'est un flux de travail simple, il y a un aspect appelé « {http://www.alfresco.org/model/application/1.0} simpleworkflow »

Si vous êtes un flux de travail avancé, ont un type de parent « packageContains » contenant flux de travail dans ce nœud (parent) un aspect " {} http://www.alfresco.org/model/bpm/1.0 workflowPackage »

Vous pouvez effectuer une requête de quelque chose comme:

résultats de search.luceneSearch = ('VOLET: "bpm: workflowPackage" VOLET: "app: simpleWorkflow"');

Lorsque les résultats de noeud contiennent cet aspect, les enfants sont des documents.

Par exemple:

var res = search 
     .luceneSearch('ASPECT:"bpm:workflowPackage" ASPECT:"app:simpleWorkflow"'); 
var par = null; 
var c = null; 
var s = "<html><body>total " + res.length + "<br>"; 

for (var i = 0; i < res.length; i++) { 
    if (res[i].hasAspect("bpm:workflowPackage")) { 
     par = res[i]; 
     for each(c in par.children) 
     { 
      s += c.name + "<br>"; 
     } 

    } else { 
     s += res[i].name + "<br>"; 
    } 
} 

s += "</body></html>"; 

s; 

Cordialement!

+0

Merci beaucoup, cela fonctionne parfaitement! – gizmo16

Questions connexes