cancel
Showing results for 
Search instead for 
Did you mean: 

Webscripts et PATH + METADONNEES

st
Champ in-the-making
Champ in-the-making
Bonjour à tous,

Je me demandais si c'était possible de récupérer à partir d'un webscript, pour chaque document, les métadonnées associées à ce document ainsi que le "path" de ce document (ex : Alfresco>DataDictionary>File1…).

De quelle manière cela est-ce possible?

En vous remerciant.

SA
16 REPLIES 16

rguinot
Confirmed Champ
Confirmed Champ
node.properties["cm:name"] vous donnera par exemple le nom du noeud. vous pouvez utiliser le raccourci node.name pour les propriétés du namespace cm:
Vous pouvez récupérer de la même manière toutes les autres métadonnées, ou itérer sur ces métadonnées.

un template d'exemple intitulé doc_info.ftl fourni de base donne un exemple de récupération et affichage de métadonnées standard

st
Champ in-the-making
Champ in-the-making
Merci pour ces infos.
mais est-il possible de les afficher toutes sans meme connaitre leur nom rguinot?

Merci d'avance Smiley Happy

st
Champ in-the-making
Champ in-the-making
Re bonjour,

Bon a priori, il n'y a pas d façons d'accéder toutes les métadonnées disponibles pour un document.

Cependant quand je fais en javascript :

myNode.properties["cm:name"]; => ca marche
mais quand je fais :

myNode.properties["cm:Content Type"]; => ca ne marche pas…

Pourquoi?

st
Champ in-the-making
Champ in-the-making
Bonjour,
Je viens encore de passer toute la matinée à chercher comment fair epour afficher les métadonnés que je veux et vraiment je ne trouve pas alors que j'en ai vraiment besoin.  :x  j'ai meme fouillé le net concernant cela, et malgré tous mes essais en javascript, rien ne fonctionne…
Vraiment, je serai reconnaissante d'obtenir un peu d'aide sur ce sujet que doivent maitriser les personnes qui se sont déjà confronté çà ça.

:evil:

michel
Champ in-the-making
Champ in-the-making
Bonjour,

monDoc.properties

est un tableau associatif (clef, valeur) et donc il n'a pas de valeur en soit… (donc le null)

=> en javascript, il faut juste utilisé (pour les tableau associatif):


for (var clef in mon_tableau)
{
   var valeur = mon_tableau[clef];
   …
}

donc, en particulier, pour alfresco:


for (var clef in monDoc.properties)
{
   var valeur = monDoc.properties[clef];
   …
}
et là il y a bien la liste de toutes les méta-données (enfin, des propriétées) lié au document…

Bien à Toi.

Michel

st
Champ in-the-making
Champ in-the-making
Bonjour, Merci Michel de ta réponse…

Cependant ça ne marche pas… voilà le code que je mets :


}else{   
      
      myArbo = myArbo +"<br/>"+decalageBis+" doc : ";
      myArbo = myArbo +myNode.name;
      myArbo = myArbo+ "&nbsp"+ "Path :" + myNode.displayPath + "&nbsp" + myNode.properties["cm:created"];
      for (var clef in myNode.properties){
         var valeur =myNode.properties[clef];
         myArbo = myArbo+valeur;
      }

et voilà ce qu ej'obtiens :

fdds Path => /Alfresco/Acceptance&nbspThu Mar 13 2008 09:56:08 GMT+0100 (CET)nullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnull<br/>
dsdfd Path => /Alfresco/Acceptance&nbspThu Mar 13 2008 16:15:09 GMT+0100 (CET)nullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnullnull<br/>
fsdsdf Path => /Alfresco&nbspThu Mar 13 2008 16:25:45 GMT+0100 (CET)nullnullnullnullnullnullnullnullnullnullnullnullnullnull

du coup j'ai l'impression que j'obtiens la date et c'est tout…

je commence à désespérer… Smiley Sad

(Et que ceux qui  jugent  que je n'"ai pas assez cherché" sont d'abord mal placés pour le savoir, et ensuite je préfère avoir des réponses constructives plutot que des reproches…)

michel
Champ in-the-making
Champ in-the-making
Bonjour,

Chez moi ce code marche parfaitement…

Voici le code que j'ai utilisé comme exemple sur lui même:


logger.log("document "+document.properties["cm:name"]);
for(var clef in document.properties) {
   logger.log("clef: "+clef);
        logger.log("valeur: "+document.properties[clef]);
}

Et voici le résultat:


16:50:09,111 DEBUG [org.alfresco.repo.jscript.ScriptLogger] document mdata.js
16:50:09,111 DEBUG [org.alfresco.repo.jscript.ScriptLogger] clef: {http://www.alfresco.org/model/content/1.0}content
16:50:09,111 DEBUG [org.alfresco.repo.jscript.ScriptLogger] valeur: org.alfresco.repo.jscript.ScriptNode$ScriptContentData@42239a
16:50:09,111 DEBUG [org.alfresco.repo.jscript.ScriptLogger] clef: {http://www.alfresco.org/model/system/1.0}store-protocol
16:50:09,111 DEBUG [org.alfresco.repo.jscript.ScriptLogger] valeur: workspace
16:50:09,111 DEBUG [org.alfresco.repo.jscript.ScriptLogger] clef: {http://www.alfresco.org/model/content/1.0}created
16:50:09,111 DEBUG [org.alfresco.repo.jscript.ScriptLogger] valeur: Wed May 28 2008 16:40:36 GMT+0200 (CEST)
16:50:09,111 DEBUG [org.alfresco.repo.jscript.ScriptLogger] clef: {http://www.alfresco.org/model/content/1.0}versionLabel
16:50:09,111 DEBUG [org.alfresco.repo.jscript.ScriptLogger] valeur: 1.1
16:50:09,111 DEBUG [org.alfresco.repo.jscript.ScriptLogger] clef: {http://www.alfresco.org/model/content/1.0}autoVersion
16:50:09,111 DEBUG [org.alfresco.repo.jscript.ScriptLogger] valeur: true
16:50:09,111 DEBUG [org.alfresco.repo.jscript.ScriptLogger] clef: {http://www.alfresco.org/model/content/1.0}title
16:50:09,111 DEBUG [org.alfresco.repo.jscript.ScriptLogger] valeur: mdata.js
16:50:09,111 DEBUG [org.alfresco.repo.jscript.ScriptLogger] clef: {http://www.alfresco.org/model/application/1.0}editInline
16:50:09,111 DEBUG [org.alfresco.repo.jscript.ScriptLogger] valeur: true
16:50:09,111 DEBUG [org.alfresco.repo.jscript.ScriptLogger] clef: {http://www.alfresco.org/model/system/1.0}store-identifier
16:50:09,111 DEBUG [org.alfresco.repo.jscript.ScriptLogger] valeur: SpacesStore
16:50:09,111 DEBUG [org.alfresco.repo.jscript.ScriptLogger] clef: {http://www.alfresco.org/model/content/1.0}initialVersion
16:50:09,111 DEBUG [org.alfresco.repo.jscript.ScriptLogger] valeur: true
16:50:09,111 DEBUG [org.alfresco.repo.jscript.ScriptLogger] clef: {http://www.alfresco.org/model/content/1.0}description
16:50:09,111 DEBUG [org.alfresco.repo.jscript.ScriptLogger] valeur:
16:50:09,111 DEBUG [org.alfresco.repo.jscript.ScriptLogger] clef: {http://www.alfresco.org/model/system/1.0}node-uuid
16:50:09,111 DEBUG [org.alfresco.repo.jscript.ScriptLogger] valeur: 0925d860-2cc4-11dd-98d2-a5d5d92b359c
16:50:09,111 DEBUG [org.alfresco.repo.jscript.ScriptLogger] clef: {http://www.alfresco.org/model/system/1.0}node-dbid
16:50:09,126 DEBUG [org.alfresco.repo.jscript.ScriptLogger] valeur: 36034
16:50:09,126 DEBUG [org.alfresco.repo.jscript.ScriptLogger] clef: {http://www.alfresco.org/model/content/1.0}author
16:50:09,126 DEBUG [org.alfresco.repo.jscript.ScriptLogger] valeur:
16:50:09,126 DEBUG [org.alfresco.repo.jscript.ScriptLogger] clef: {http://www.alfresco.org/model/content/1.0}modifier
16:50:09,126 DEBUG [org.alfresco.repo.jscript.ScriptLogger] valeur: admin
16:50:09,126 DEBUG [org.alfresco.repo.jscript.ScriptLogger] clef: {http://www.alfresco.org/model/content/1.0}modified
16:50:09,126 DEBUG [org.alfresco.repo.jscript.ScriptLogger] valeur: Wed May 28 2008 16:49:51 GMT+0200 (CEST)
16:50:09,126 DEBUG [org.alfresco.repo.jscript.ScriptLogger] clef: {http://www.alfresco.org/model/content/1.0}creator
16:50:09,126 DEBUG [org.alfresco.repo.jscript.ScriptLogger] valeur: admin
16:50:09,126 DEBUG [org.alfresco.repo.jscript.ScriptLogger] clef: {http://www.alfresco.org/model/content/1.0}name
16:50:09,126 DEBUG [org.alfresco.repo.jscript.ScriptLogger] valeur: mdata.js

essaye de logger la valeur de la clef qui t'es renvoyée pour voir si c'est un QName valide.
Et aussi regarde si le script de test, que j'ai fait, fonctionne chez toi… (ok ce n'est pas un webScript, c'est juste un script…)
Au fait, les nulls que tu obtiens, ils apparaissent ou? dans la page générée? dans la console quand tu logges?

Bien à toi,

Michel.