cancel
Showing results for 
Search instead for 
Did you mean: 

[résolu][share] [dashlet] recuperer le nom du site

nejisama8
Champ in-the-making
Champ in-the-making
Bonjour,

Je suis actuellement en train de mettre au point une dashlet, mais pour créer ma future requete lucene j'ai besoin de recuperer le nom du site.

Après avoir chercher dans les autres dashlet existantes, j'ai trouvé qu'elles obtenaient toutes cette information grace au bout de code suivant :

// Call the repo for the sites profilevar profile ={   title: "",   shortName: "",      description: ""}var json = remote.call("/api/sites/" + page.url.templateArgs.site);if (json.status == 200){   // Create javascript object from the repo response   var obj = eval('(' + json + ')');   if (obj)   {      profile = obj;   }}‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

Cependant lorsque j'execute ce code, j'obtien une erreur(avec firebug) sur  :
 var json = remote.call("/api/sites/" + this.options.siteId);‍
m'indiquant que remote n'est pas definies.

Je n'ai pourtant pas vu d'import dans les fichiers des autres dahslet, quelqu'un a-t-il une idéé ou la solution a mon problème.

Merci
4 REPLIES 4

yerb
Champ in-the-making
Champ in-the-making
Je vois qu'il est fait mention de firebug, est-ce que tu fais du debug par le navigateur ?
Les dashlets sont des scripts JS exécutés côté serveur dans un moteur Rhino et pas dans le navigateur, c'est peut-être ça.

nejisama8
Champ in-the-making
Champ in-the-making
Bonjour, et merci de votre réponse,

Je viens de refaire l'experience et bizarement cette fois-ci je n'ai pas de nouvelle entrée dans firebug(debugeur du navigateur).

Cependant j'ai mis des alert(); dans mon code pour savoir ou en était l'éxécution, et une fois l'appel de remote.call :
var json = remote.call("/api/sites/" + page.url.templateArgs.site);‍

la fonction échoue et ne se poursuit pas (elle ne m'affiche pas la suite de mes alert():smileywink:

La fonction remote.call est-elle correctement écrite?

Précision: mon fichier archivage.js est situé dans "/opt/Alfresco/tomcat/webapps/share/components/dashlets" .
Les autres fichier de dashlet son dans  : "/opt/Alfresco/tomcat/webapps/share/WEB-INF/classes/alfresco/site-webscripts/org/alfresco/components/dashlets"

yerb
Champ in-the-making
Champ in-the-making
L'appel à remote.call me semble correct mais devrait plutôt être placé dans un script JS situé dans
tomcat/webapps/share/WEB-INF/classes/alfresco/site-webscripts/org/alfresco/components/dashlets

Par contre comme on passe côté serveur, "alert" ne sera plus disponible ( logger.log(…) est un bon remplaçant).

nejisama8
Champ in-the-making
Champ in-the-making
Tu as raison, effectivement, le remote.call est a place dans le repertoire
tomcat/webapps/share/WEB-INF/classes/alfresco/site-webscripts/org/alfresco/components/dashlets

J'ai donc créé un fichier archivage.get.js, avec mon code dedans, et cela fonctionne. Je peut maintenant créé ma requete lucene en fonction du site, merci beaucoup.
Welcome to the new Hyland Connect. Get started or submit feedback.