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

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

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

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 profile
var 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
yerb
Member II

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

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
Member II

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

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()Smiley Wink

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
Member II

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

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
Member II

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

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.