Leer valor variable JScript desde Velneo


([N4] ikonos) #1

Necesito leer el valor de una variable (un array) de un JScript con las clases que utiliza alojadas en una url, el JScript funciona en local perfectamente sobre un control visor HTML, pero ¿como acceder a los resultados de las variables del JScript para asignarlos a variables en Velneo? ¿Alguna indicacion de como debo manejar el interprete de JScript? Hasta ahora no habia utilizado los Scritps en Velneo.
Gracias


([N4] eic) #2

Hola.

Lo mejor es que extraigas la función en Javascript de esa página y creas un script en Velneo que haga la misma función. Eso a veces no es posible (si la función llama a alguna librería externa, p.ej.). Entonces ya no necesitarías el visor HTML, sino que podrías ejecutar el script directamente.

Saludos,

Fran Varona


([N1] Giuseppe::Komenco) #3

Échale un vistazo a http://velneo.es/vscriptrunner/

Un saludo.


([N4] ikonos) #4

Como os comentaba el script utiliza clases que estan alojadas en una ULR, y no lo consigo hacer funcionar correctamente al lanzar el interprete de Velneo, aunque funciona perfectamente en un visor HTML al que le meto el codigo HTML directamente en tiempo de ejecución, entiendo que es el caso al que Fran hace referencia, y me da la impresión que el interprete de Velneo solo interpreta clases declaradas en el propio script, cosa que es una lástima y una autentica "mutilación" de la utilidad por que si verdaderamente hay algo ultil de integrar un script es que puedes utilizar librerias remotas, por ejemplo de cualquier "API de producto" ¿que valor añadido tiene utilizar un scrpit para calcular la letra de un NIF? VALOR AÑADIDO NINGUNO (solo el ahorro de tiempo en implementar), pero si el script te devuelve por ejemplo los datos de Geolocalización como por ejemplo el API de Google Maps, la cosa cambia por completo, teniendo acceso a una información y utilidades bestiales. Casi todos los APIS de producto que hay en la red estan en JScript y accedder a las librerias externas es básico. ¿No estamos "on the cloud"? ¿Entonces por que no funciona?


([N1] Giuseppe::Komenco) #5

Yo estuve intentando meterme con ello para poder interactuar con "sitios"...implementar una especie de librería XML-RPC, pero para variar, la falta de tiempo.....

Checa ésto si te sirve de algo, aunque, al final acabé pensando que lo mejor sería implementarlo de manera externa y comunicarme con Velneo mediante archivos CSV, pero en fin....mírate:

http://comments.gmane.org/gmane.comp.lang.javascript.ecmascript4.general/8125

Si necesitas colaboración coméntalo, aunque estoy falto de tiempo, me interesa mucho este tema.


([N1] Pepeto) #6

Mira a ver si encuentras aqui lo que necesitas:

http://velneo.es/vcurl/

un saludo
Jose Luis
http://www.ascsl.com


([N1] Valdes) #7

@Giuseppe
Yo tengo hecho eso que tu dices en V6 para interactuar con sitios SOAP, concretamente con Magento y una vez lo tienes montado es rápido de gestionar y adaptar.

Saludos

Mario Valdés Caso


([N4] ikonos) #8

Gracias a todos por las referencias, esta noche con tranquilidad exploraré un poco mas.

@ Giuseppe
Hola Fiera! ya veo que nos interesan los mismos aspectos de Velneo. Yo personalmente pieso que poder manejar los API's de producto mediante JScript para exprimir toda la potencia de la "nube" con esta fantastica herramienta que es " Velneo" resulta básico para dar valor añadido a las aplicaciones y abre un auntentico mundo de posibilidades escalando sobre otros productos free. Si conseguimos leer las varibles de un script que se nutre de clases alojadas en una ULR, las posibilidades son enormes.

Aunque no esta bien hablar de los demas, Tipesoft utiliza los API de producto, por ejemplo el de Google Maps, y por como realiza las tareas su aplicación PasSos debe acceder a las variables del Script. Quizas Jorge Hontoria nos pueda ilustrar de como se accede a ellas.

P.D. Pido disculpas a Jorge Hontoria por la referencia, y por supuesto entiendo que si dispone de la información no la haga pública si es un aspecto básico e importante para su empresa, solo faltaria que se utilizara el foro para asaltar el código de otras personas, esto no se debe consentir y no es mi intencion. Pienso que en el foro debemos aportar de forma altruista sin imposiciones.

Si logro el acceso deseado ya os informo.

Un Saludo


([N4] eic) #9

Hola.

Puedes intentar lo siguiente: creas un archivo html, en el que insertas una función en javascript que llama a la página donde está tu función, y devuelve "al navegador" el resultado que quieres capturar (p.ej., una cadena alfanumérica). Después, desde Velneo, podrías utilizar la instrucción "Get fichero de url" para capturar ese resultado.

Es una idea, no estoy seguro de que funcione aunque, en teoría, debería hacerlo. Es posible que el fichero html deba estar en un servidor web para que funcione la instrucción "Get fichero de url", aunque si se especifica con "file://" a lo mejor se le engaña.

Saludos,

Fran Varona


([N4] ikonos) #10

Gracias Fran, tiene buena pinta y me parece una idea genial, esta noche la probaré.


([N1] Giuseppe::Komenco) #11

Hola @Pepeto. si si no encuentro otra forma, tendré que morir en una DLL que comunique con curl u otra cosa, pero mi intención era poder controlar este tema con script, para poder modificarlo fácilmente, y lo más importante, que sea portable, es mi obsesión.

@Mario Valdés
Pero como lo tienes implementado, con dlls?

@ikonos
Si, parece que coincidimos en bastantes cosas jejejeje.
ECMAscript integrado en QT es bastante limitadillo, en el sentido, que quitando el tema de la letra del NIF, hacer alguna tarea "complicada" con cadenas etc.. me dá que no sirve para mucho más. Creo que sólo quedaría como opción tirar de librerías o lenguajes de scripting externos. En este sentido, estuve pensando en integrar LUA como DLL como comento en la lista de ECMAscript, LUA es un lenguaje muy potente y sencillo, y precisamente pensado para trabajar con él como lenguaje de scripting embebido en otras aplicaciones, pero, como ya he dicho..la falta de tiempo...si es que no puede ser. LUA tiene la ventaja de ser hyperportable, y lo más importante, LUA.dll ocupa 200KB, por lo que puede transportarse con la aplicación sin más complicaciones. Sinceramente, mi intención entre otras era integrar LUA con Velneo y ampliar las posibilidades de scripting a límites insospechados y presentarlo al concurso como OpenApp, pero eso...no time, no money.... Si alguien quiere subvencionar este proyecto en plan Google Summer of code o algo así, que se ponga en contacto conmigo :P

Si te sirve de algo, ando desempolvando mis conocimientos de Object Pascal y descargando Lazarus :P


([N1] Valdes) #12

@ Giuseppe
Con TCP/IP. De esta forma, implementado en V7, es multiplataforma.

Saludos
Mario Valdés


([N1] Giuseppe::Komenco) #13

@Mario Valdés
De todas formas, me suena que con funciones remotas no se puede hacer un post y un get, necesario precisamente para recibir los XML. Desconozco como funciona SOAP. La implementación que comentas es cerrada? o la podrías compartir?

@ikonos

Aunque no esta bien hablar de los demas, Tipesoft utiliza los API de producto, por ejemplo el de Google Maps, y por como realiza las tareas su aplicación PasSos debe acceder a las variables del Script. Quizas Jorge Hontoria nos pueda ilustrar de como se accede a ellas.

PaaSOS es opensource, puedes mirar el código a ver como lo hace.


([N1] Valdes) #14

@ Giuseppe
Yo lo he sacado mirando vWebService de la V6 y con ayuda de http://www.soapui.org/ para ver como solicitar y recibir los datos.

Si necesitas algo más, dímelo para hacer unas capturas.

Saludos
mario Valdés


([N1] Giuseppe::Komenco) #15

Le echaré un vistazo a ver si se puede implementar para comunicar con Drupal, OsCommerce, etc.. que todos éstos trabajan con XML-RPC si no recuerdo mal (OsCommerce no lo recuerdo, pero Drupal dejaron el soporte SOAP hace tiempo)

Gracias.


([N4] ikonos) #16

@Giuseppe,

El modulo que utiliza las API's de producto con JScript no es opensource, como es lógico. Un saludo.


([N4] ikonos) #17

Mi gozo en un pozo! La instruccion "Get fichero de URL" funciona perfectamente pero devuelve exclusivamente el código fuente del la URL, es decir lo mismo que le metemos, pero nada del los resultados de ejecución de la misma. Seguimos sin acceder al JScript. Habrá que pensar otra cosa, lastima por que tenia buena pinta! Gracias Fran.

Por otra parte la libreria vcurl que apunta @Pepeto, documentandome he visto que puede ser una buena solución para metodos sencillos (valores de campos edit en formularios, etc...) pero no soporta las abstracciones como JScript, y de hecho no me funciona con scripts, Gracias Pepeto tambien era buena idea.

POR FAVOR MAS IDEAS!!!!!

P.D. Mientras tanto ampliaré bibliografia de EMAscript por si logro hacerselo tragar al interprete


([N4] ikonos) #18

Despues de consultarlo con la almohada, y ante la necesidad de obtener resultados pronto, creo que voy ha modificar el script para crear una pasarela en XML, !! vamos lo peor !! modificar el script para coger el array guardar los resultados en disco en un archivo XML, con tantos registros como necesite y posteriormente leer el archivo XML desde velneo y asignarlo a las variables que necesito.

PERO SEGURO QUE SE DEBE PODER ACCEDER AL SCRIPT DIRECTAMENTE!!!!
¿Alguna idea más?


([N4] ikonos) #19

Tampoco es posible la última opción de "bombero torero", en Javascript no es posible grabar archivos directamente (por motivos de seguridad) ya que al tratarse de un lenguaje cliente, los criterios de definición se establecieron de esta forma para que se impusiera como estandar web. Para hacer esto necesitaria insertar por ejemplo un control ActiveX y ademas el consentimiento del usuario, lo que hace totalmente inoperativo el procedimiento.

Sigo buscando ...


([N1] Pepeto) #20

Seguro que lo has probado todo?

... y que hay de TCP
http://velneo.es/tutor-protocolo-tcpip/

un saludo
Jose Luis
http://www.ascsl.com