Accès au repository

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

Re: Accès au repository

Bonjour,

Je ne comprends pas, dans vos exemple, vous faites :

toto = eval('(' + result + ')');

Si je laisse les guillemets, j'obtiens cette erreur :

Cannot parse XML: Scanner State 24 not Recognized  (file:/
Si je les retire, ça passe. Pourtant dans tous les codes javascript des sources, il y a bien les guillemets.

Pourquoi j'ai cette erreur ?
pilate
Member II

Re: Accès au repository

Il vous suffit pour cela de créer :
un webscript coté Alfresco :
- 1 fichier freemarker (.json.ftl par exemple)
Est-il possible ici de créer un fichier freemarker au format html ? Si oui comment récupérer les données côtés Share, autrement dit, ces données seront-elles directement interprétée en html ou dois-je les retravailler en javascript côté Share ?
bertrandf
Active Member

Re: Accès au repository

Est-il possible ici de créer un fichier freemarker au format html ? Si oui comment récupérer les données côtés Share, autrement dit, ces données seront-elles directement interprétée en html ou dois-je les retravailler en javascript côté Share ?

Oui mais c'est "moins propre" (enfin ca dépend ce que vous voulez faire).

Coté Share, même principe que lorsque vous récupérez du JSON avec l'eval en moins.

Dans le fichier JavaScript (version courte, sans gestion des erreurs, …) :
var connector = remote.connect("alfresco");
model.result = connector.get("/com/domain/votre-webscript-coté-alfresco-html);
Dans le template coté Share :
${result}
pilate
Member II

Re: Accès au repository

Oui c'est pas très mais ça fonctionne Smiley Very Happy

Par contre, j'ai besoin du nodeRef du site côté Alfresco. De quel côté puis-je le récupérer et surtout comment ?   Smiley Very Happy
bertrandf
Active Member

Re: Accès au repository

Par contre, j'ai besoin du nodeRef du site côté Alfresco. De quel côté puis-je le récupérer et surtout comment ?   Smiley Very Happy
Je dirai qu'il faut que vous récupériez le nom du site dans votre webscript coté share puis que vous le passiez en paramètre lors de l'appel à votre webscript situé coté entrepôt.
Dans votre webscript coté alfresco, vous recherchez le noeud dans /company_home/sites/ à l'aide de l'API Search : http://wiki.alfresco.com/wiki/3.2_JavaScript_API#Search_API

Par exemple :
var siteNode = companyhome.childrenByXPath("st:sites/cm:" + args.site.toLowerCase())[0];
pilate
Member II

Re: Accès au repository

Vous me conseillez à plusieurs reprises d'utiliser le json pour transmettre mes données. Pourrais-je les récupérer et les mettre en forme HTML côté Share ?

var siteNode = companyhome.childrenByXPath("st:sites/cm:" + args.site.toLowerCase())[0];

Si je fais ça côté Alfresco, je n'ai pas accès à args.site. Peut-être est-ce dû à ma version qui est la 3.3  :?:
pilate
Member II

Re: Accès au repository

C'est bon j'ai compris le truc, mon dashlet fonctionne. Merci beaucoup pour ton aide Bertrand.

J'ai maintenant compris à quoi peut servir la formation pour développeur.  :mrgreen:

C'est vraiment immense toutes ces nouvelles technos java moi qui en étais resté à Struts et jsp …  :roll:
pilate
Member II

Re: Accès au repository

Bonjour à tou(te)s,

En regardant les quelques codes javascript, j'en viens à me poser une question.

Peut-on à partir d'un noeud récupérer tous les fils avec un critère du style requête lucene ? Exemple :


postNodes = node.searchChildrenByXPath("fm:post");