Hola.
En los proyectos de Velneo se pueden incluir archivos de diferentes formatos a través de la pestaña Scripts del panel de Inspectores. Los archivos se organizan en carpetas y disponemos de editores para cada tipo de lenguaje de scripts o formato de datos.
Aunque desde vDevelop decidimos qué ficheros se guardarán en la caché del cliente y cuáles no, en esta Idea estoy considerando la opción de no tener que copiar los archivos en la caché. La razón puede ser que las políticas de seguridad nos obligan a proteger determinada información.
En tiempo de ejecución podemos hacer uso de los scripts de javascript, qml y css mediante comandos nativos, pero ¿qué ocurre con otros archivos como xml, json, html o svg? Para esos tipos de archivo no hay una forma directa de acceder a ellos cuando la opción de copiar a caché está desactivada.
La Idea que os planteo consiste en hacer uso del comando Interfaz: establecer hoja de estilo CSS (filescript) para leer y guardar desde vClient un archivo de la carpeta de scripts en una variable local del formulario o proceso.
Este sería el proceso para poner en práctica la Idea:
- En el formulario donde vayamos a hacer uso del archivo se añade un control Label con el identificador
LBL_LEER_SCRIPT
(puede estar oculto). - Ejecutamos el comando Interfaz: establecer hoja de estilo CSS (filescript) sobre el control
LBL_LEER_SCRIPT
y el parámetro Senda del fichero de script con la ruta del archivo en la carpeta de scripts del proyecto (por ejemplo (CurrentProject)/_miJSON.json). - Ejecutamos un Manejador de javascript con el siguiente código:
// Leer el contenido de un archivo de la carpeta de scripts del Proyecto // Leemos la propiedad styleSheet del control etiqueta del formulario // La propiedad styleSheet se ha rellenado usando el comando nativo // Interfaz: establecer hoja de estilo filescript var cCodigo = theParentWidget.control("LBL_LEER_SCRIPT").styleSheet // Devolvemos el contenido en una variable local del formulario theRoot.setVar("CRESULTADO", cCodigo)
En la variable local CRESULTADO tendremos el contenido original del archivo ya que el comando Interfaz: establecer hoja de estilo CSS (filescript) se comporta de manera neutral con el formato de dicho archivo.
Algunos beneficios de esta nueva Idea:
- Podemos usar los editores de código (txt, html y svg) para introducir el contenido del archivo.
- Nos olvidamos de las limitaciones del Editor de fórmulas. No hay que usar secuencias de escape con las comillas, disponemos de zoom, vista previa del resultado html o svg, marcado de bloques de código, coloreado de código, …
- Si tenemos que guardar en nuestro proyecto un archivo de texto “confidencial” que vayamos a usar en determinados procesos y no queremos dejar rastro en la caché de disco.
Algunos ejemplos:
El archivo _miJSON.json lo podemos introducir cómodamente con comillas y tabulaciones. El archivo json puede contener información confidencial de acceso restringido.
Un archivo _miTXT.html incluido en el proyecto que podemos editar y visualizar en tiempo de diseño directamente desde vDevelop, sin usar editores externos. Una forma sencilla de incluir la ayuda de la aplicación en el proyecto.
Usar plantillas en formato SVG que personalizamos en tiempo de ejecución. El editor de SVG nos mostrará la vista previa del código introducido.
Aplicando esta Idea podéis tener información protegida en vuestro proyecto y al mismo tiempo disponer de editores de código en tiempo de diseño y de acceso directo en ejecución desde vClient.
Saludos
Paco Satué