cancel
Showing results for 
Search instead for 
Did you mean: 

J'aimerais savoir comment récupérer le nom du serveur...

christophes
Champ in-the-making
Champ in-the-making
Bonjour,

J'aimerais savoir comment récupérer le nom du serveur sur lequel est installé Alfresco via Javascript. Le problème est que si je le "hardcode", je devrai chaque fois le changer, lorsque je mettrai mes scripts sur un autre serveur, avec les risques d'oubli qui en découlent.

Je suppose qu'Alfresco doit bien le récupérer quelque part étant donné qu'il doit construire ses url.

Merci d'avance,

Christophe
5 REPLIES 5

michaelh
Champ on-the-rise
Champ on-the-rise
Bonjour,

J'avoue ne pas comprendre le besoin. Les URL générées sont relatives, et ne comporte pas le nom d'hôte (c'est le navigateur qui l'ajoute).

Mais j'ai peut être raté qq chose …

christophes
Champ in-the-making
Champ in-the-making
En fait dans un script j'envoie un mail en utilisant le code suivant :
var mail = actions.create("mailAsHTML");
mail.parameters.to = <adresse destinataire>;
mail.parameters.subject = <sujet>;
mail.parameters.from = <adresse expéditeur>;
mail.parameters.text = "<html><head><title>Titre</title></head><body><h2>Texte</h2><p>
       Lien vers le document : <a href='http://nomDuServeur:8080/alfresco'+document.url+"'>"+document.name+"</a></body></html>";
mail.execute(document);
Le problème est que, pour que le lien dans le texte de l'e-mail, fonctionne, je dois placer devant http://nomDuServeur:8080/alfresco et qu'évidemment le nom du serveur change selon la machine.

J'aimerais ne plus avoir le nomDuServeur en dur dans le script afin d'assurer sa portabilité.

Voilà j'espère que c'est plus clair,

Christophe

michaelh
Champ on-the-rise
Champ on-the-rise
En effet, c'est clair !

Par contre je ne vois pas de moyen simple de faire ça avec l'API Javascript ou Freemarker à première vue.

Autre possibilité (à classer dans la rubrique contournement) travailler avec un include pour tout ce qui est spécifique à un serveur donné.

Exemple en freemarker, dans un fichier :
<#assign hostname="http://myserverurl:8080/alfresco">
Et dans ceux qui ont besoin de ces "variables" un include du fichier

<#include "workspace://SpacesStore/745a53f7-2dec-11db-af8c-dd6cf1cb2f10">
Ou des variantes avec "import"

http://freemarker.sourceforge.net/docs/ref_directive_include.html
http://freemarker.sourceforge.net/docs/ref_directive_import.html

Ce n'est pas le plus clean, mais à nouveau je n'ai pas de meilleure idée qui me vienne à l'esprit (c'est l'heure de la digestion là)

Et non accessoirement, l'API javascript Alfresco ne supporte les include qu'à partir de la version 2.1.

christophes
Champ in-the-making
Champ in-the-making
Bon finalement, j'ai créé un bête fichier txt (un par serveur) qui contient le nom de mon serveur et que je lis dans les script où j'en ai besoin. Dès que je passerai en version 2.1, je ferai un "include" d'un script dans un autre afin d'avoir une solution plus propre.

michaelh
Champ on-the-rise
Champ on-the-rise
Note pour plus tard : Il faudra que je regarde ce que permettent les scripts PHP sur ce sujet …