Ruta de Cajas del servidor desde Cliente


([N4] eduardo.chaparro) #1

Buenas tardes Sres.

La tarea es simple, lo que se necesita es obtener la senda o ruta, donde se encuentra la carpeta cajas del servidor, pero, desde el lado del cliente.

Es decir, que desde un cliente pueda determinar la senda donde estan las cajas en el servidor.


([N3] pacosatu) #2

Hola Eduardo.

Que yo sepa no existe una función en Velneo que nos devuelva esta información.
Si te refieres a un servidor que no esté en Cloud y por lo tanto tienes acceso al Servidor donde está instalado el vServer, tienes 2 opciones:

  • Comparte en red la carèta Cajas y accede a ella mediante URL
  • Añade la carpeta Cajas al apartado Disco de vAdmin y accede desde vClient mediante comandos SDV.

Saludos
Paco Satué


([N4] innovadb) #3

Hola Eduardo

Realmente si existe una forma de saber esa ruta.

set CAJAS homePath() + “/Velneo/cajas/”

Esto ejecutado en 3P te devuelve la ruta completa al directorio de cajas.

Hay una excepción en windows de 64 bits, y como no podemos saber de cuantos bits es el SO, tenemos que tener en cuenta la ruta. (esto puede fallar en algún caso).

¿Existe fichero? “C:/Windows/SysWOW64”

Si existe estamos en 64 bits, pero como v7 es de 32 nos devolverá otra ruta así que reemplazamos.

replaceString(CAJAS, “system32”, “SysWOW64”)

No se si en la 7.15 ya funciona esto que nos lo haría mas fácil y mas fiable:

theApp.sysInfo().getPlatformBits();

En la 7.14 siempre devolvía 32

Un saludo


([N4] eduardo.chaparro) #4

Saludos.

Efectivamente asi como comentas tu se puede hacer, con el homepath() + “/Velneo/cajas/” es suficiente, no importa que arquitectura utilizas porque sea 32 o 64, el homepath te devuelve el System32 o SysWOW64 segun sea el caso,

Muchas gracias por tu colaboracion.


([N3] pacosatu) #5

Hola innovadb.

Efectivamente, las funciones getPlatformBits() y homePath() siguen sin funcionar correctamente en la 7.15 o mejor dicho, no funcionan en absoluto, teniendo en cuenta que prácticamente todos los sistemas operativos de Servidor son de 64bits actualmente.

Por otro lado, hay que tener en cuenta que usando este método de acceso a la carpeta CAJAS tenemos acceso completo, y eso puede ser un problema de seguridad.
Con el método de acceso mediante SDV podemos controlar qué usuarios y cómo acceden.

Saludos
Paco Satué


([N4] innovadb) #6

Hola Paco

Totalmente de acuerdo en cuanto a la seguridad.

En nuestro caso lo usamos en procesos internos de la aplicación, y los usuarios no conocen esas rutas ni interactuan con dichos procesos, pero si los usuarios van a tener algún tipo de acceso mucho mejor tu sistema.

Un saludo


([N3] pacosatu) #7

Hola.

Para aclarar conceptos, solo para Windows.

He consultado con Soporte y han contestado que homePath() funciona correctamente, ya que devuelve la carpeta Home del usuario system y en sistemas de 64bits sigue siendo …/system32/…
Creo que están en lo cierto y damos por bueno el funcionamiento de homePath().

Otra cosa es vServer que al ser una aplicación de 32bits debe instalar los ficheros de configuración en la carpeta SysWOW64 que para eso está.

Por lo tanto, tendría que haber una función que nos devolviera el Path de los ficheros de configuración de vServer que no tiene por qué coincidir con la carpeta homePath() del usuario con el que ejecutamos el servicio VATP.

En cuanto a getPlatformBits() confirman que no funciona bien.

Saludos
Paco Satué