cancel
Showing results for 
Search instead for 
Did you mean: 

Chiamare AJAX da javascript

pakka
Champ in-the-making
Champ in-the-making
Salve, da qualche tempo sto studiando Alfresco per integrarlo come strumento di gestione documentale con il software che sviluppa l'azienda in cui lavoro.
Per automatizzare l'archiviazione dei documenti che produce il nostro software, ho pensato di appoggiarmi allo strumento dei "Content Rules" di Alfresco: ogni qualvolta viene depositato un documento in un certo spazio definito in Alfresco, viene eseguito un javascript (memorizzato in /Homepage dell'azienda/Dizionario dei dati/Script) che si preoccupa di archiviare il documento nella cartella corretta.
I vari metadati che accompagnano il documento, sono conosciuti dal nostro software e possono essere ottenuti chiamando dei web services. L'idea e' quindi l'utilizzo di tecnologia Ajax all'interno di javascript server-side per ottenerli; in particolare pensavo di usare il root object "remote" (http://docs.alfresco.com/3.4/index.jsp?topic=%2Fcom.alfresco.Enterprise_3_4_0.doc%2Freferences%2FAPI...).
Mi sono accorto che questo oggetto è disponibile solo nei webscripts della piattaforma Surf, la ricerca in rete mi ha  portato alla coperta di questo link http://ecmstuff.blogspot.com/2011/02/creating-alfresco-share-sites-with.html dove, fra le altre cose dice come rendere visibile l'oggetto remote nei webscript di Alfresco Explorer. La cosa funziona e pensavo di sfruttarla. Invece con l'errore trovato nel log di tomcat:
ReferenceError: "remote" is not defined
ho capito che nemmeno in questo modo riesco ad utilizzare l'oggetto remote, mi pare di capire che i javascript che eseguono i content rules vivono in un loro "mondo" e non hanno visibili tutti gli oggetti e servizi che potrebbe offrire Alfresco.
Dopo questa lunga premessa mi piacerebbe sapere se qualcuno ha affrontato un problema del genere e come l'ha risolto.

Si puo rendere visibile l'oggetto remote magari aggiungendo qualche riga di config in qualche file xml ?
Oppure e' possibile da "content rules" esegure webscript che a loro volta richiamano remote.connect(…) ?
In ultima analisi, senza dover invertire il chiamato col chiamante, (so che se fosse il nostro software ad inviare i metadati via web script senza aspettare di essere chiamato si potrebbe risolvere) come si potrebbe fare ?

Grazie a chi mi sa dire qualcosa.
Andrea
1 REPLY 1

openpj
Elite Collaborator
Elite Collaborator
L'idea e' quindi l'utilizzo di tecnologia Ajax all'interno di javascript server-side per ottenerli; in particolare pensavo di usare il root object "remote" (http://docs.alfresco.com/3.4/index.jsp? … emote.html).
Non credo che tu possa utilizzare Ajax all'interno di uno script Javascript di Alfresco.
Questi script sono basati su Mozilla Rhino ed ECMA Script puro e non fanno altro che richiamare classi Java di Backend.
Gli script di Alfresco sono server side mentre Ajax per definizione è uno script che viene eseguito lato client in modo asincrono.

Per poter seguire l'approccio tuo, dovresti esporre gli script Javascript di Alfresco attraverso un'implementazione basata su WebScripts che poi vengono richiamati da un tuo script client Ajax.