02-16-2017 04:51 AM
Bonjour à tous!
J'aurais besoin de votre aide s'il vous plait.
J'ai un WebScript fonctionnel qui m'affiche tous les fichiers d'un site avec leurs propriétés ainsi que la valeur de ces propriétés.
Exemple si j'ai un fichier test.pdf dans mon site, mon WebScript affichera bien:
{http://www.alfresco.org/model/system/1.0}name test.pdf
{http://www.alfresco.org/model/system/1.0}modifier 2016-02-08
{http://www.alfresco.org/model/system/1.0}creator moi
....
...
....
J'ai aussi des propriétés provenant d'un modèle personnalisé qu'on a créé dans l'entreprise, exemple:
{http://www.MonEntreprise.com/model/content/1.0}MaPropPerso valeur1
mais cette propriété personnalisée, lorsqu'on a créé le modèle, on lui a défini plusieurs valeurs possibles. elle peut avoir la valeur1 (dans notre exemple, la propriété personnalisée du fichier test.pdf a comme valeur la valeur1 mais aurait très bien pu avoir la valeur2), la valeur2, la valeur3, la valeur4, etc.......
Ma question est quelle est la ligne de code javascript ou freemarker à écrire dans mon WebScript pour retourner la totalité des valeurs possibles de {http://www.MonEntreprise.com/model/content/1.0}MaPropPerso?
Je sais qu'il y a possibilité de lister les valeurs d'une propriété qui en contienne plusieurs mais je ne sais pas laquelle.
En vous remerciant, cordialement.
02-16-2017 09:21 AM
Tiens j'ai trouvé ca pour toi, j'espere que ca t'aidera... J'ai essayé c'est plutot pas mal !
Freemarker template that dumps all properties for a node
j'ai pris son 2nd code :
<#macro dumpProperties node>
<#if node.properties??>
<table>
<#list node.properties?keys as key>
<#assign value = node.properties[key]>
<tr>
<td>${key}</td>
<td>
<#if value?is_date>
${value?datetime}
<#elseif value?is_sequence>
[
<#list value as valueValue>
${valueValue},
</#list>
]
<#else>
${value}
</#if>
</td>
</tr>
</#list>
</table>
<#else>
Node doesn't have properties.
</#if>
</#macro>
<#if space??>
<strong>Properties for 'space':</strong>
<blockquote>
<@dumpProperties space/>
</blockquote>
</#if>
<#if person??>
<strong>Properties for 'person':</strong>
<blockquote>
<@dumpProperties person/>
</blockquote>
</#if>
<#if document??>
<strong>Properties for 'document':</strong>
<blockquote>
<@dumpProperties document/>
</blockquote>
</#if>
<#if companyHome??>
<strong>Properties for 'companyHome':</strong>
<blockquote>
<@dumpProperties companyHome/>
</blockquote>
</#if>
02-16-2017 09:45 AM
Merci pour ta réponse! Je vais regarder tout ça et je te redis soit aujourd'hui soit demain! J'espère vraiment être débloqué!
Merci encore!
02-16-2017 10:39 AM
J'ai testé ton code et malheureusement ce n'est pas ce que je souhaite....
En fait, ton code fait, ce que mon programme fait pour le moment avec les fichiers, mais avec les variables prédéfinis d'Alfresco.
Exemple,
<#if person??>
<strong>Properties for 'person':</strong>
<blockquote>
<@dumpProperties person/>
</blockquote>
</#if>
Va afficher toutes les propriétés de la variable person ainsi que les valeurs de ces propriétés (pourvu qu'il y en ait sinon rien)
Ce que je souhaite c'est, tu vois le code ci-dessus va afficher, comme je l'ai dit, les propriétés correspondante a la variable person. Ces propriétés sont définies dans un fichier model {http://www.alfresco.org/model/content/1.0}.
Dans ce fichier model, toutes ces propriétés ont un type de variable attendu. Exemple,
{http://www.alfresco.org/model/content/1.0}userName -> est de type texte
{http://www.alfresco.org/model/content/1.0}sizeCurrent -> est de type nombre
mais moi dans mon modèle d'entreprise la propriété
{http://www.monentreprise.com/model/content/1.0}MaPropPerso -> est de type list et a des <value> définis (valeur1, valeur2, valeur3, etc...) et ne peut pas en avoir d'autre de valeur.
Ce que je demande, je ne pense pas que ça soit difficile je ne sais juste pas quelle ligne de code utilisé, est de pouvoir récupérer dans {http://www.monentreprise.com/model/content/1.0} les valeurs qui ont été définies pour MaPropPerso
sans avoir à lire toutes les propriétés d'une variable comme le fait le code ci-dessus mais de directement le lire dans le modèle {http://www.monentreprise.com/model/content/1.0}
Je pense qu'on est pas loin du but. Je te remercie si tu as des info supplémentaires n'hésite pas
02-17-2017 04:27 AM
Il va de soit qu'il fallait tester non pas sur le modèle "person" mais sur ton modèle à toi,
Le problème c'est que ca va te sortir les valeurs d'un noeud alfresco existant (répondant à ton modèle) et non pas les valeurs hypothétiques de ton modèles...
Ex : si tu as un noeud alfresco de type MaPropPerso, tu fais :
<#if MaPropPersoEx??>
<strong>Properties for 'MaPropPerso':</strong>
<blockquote>
<@dumpProperties MaPropPersoEx/>
</blockquote>
</#if>
Mais bon ca répond pas complétement à ta demande... pour le reste je seche... (jsuis loin d'être expert...), mais si tu trouves, partage l'info, ca peut interesser beaucoup de gens
Tags
Find what you came for
We want to make your experience in Hyland Connect as valuable as possible, so we put together some helpful links.