Daría igual si es otro formato que no sea JSON.
La cosa es poder convertir el .VIN a un tipo de archivo donde estuvieran los objetos con todas sus propiedades, su código, etc en un formato legible y manejable fuera de vDevelop.
¿Para qué?
Imaginemos dos soluciones diferentes que comparten muchos objetos con el mismo nombre. Sería el caso de vERP y un fork de vERP.
Así podría comparar objetos con el mismo nombre y señalar aquellos con diferencias entre sí.
Habría que empezar por desencriptar el .VIN y …
Supongo que esto son sueños de pesadilla por fiebre de la 2ª vacuna Covid-19.
Solicito disculpas si molesto a alguien con esta stravaganzza.
Hola carlosan, pues si es el covid jajjaa. No, mira quizá te sirva vVersión, aquí la documentación.
No creo que Velneo, al tener el tipo de licencia que tiene abra de alguna forma lo que hay dentro de un .vin o lo que hay dentro de Velneo en si… comprometería su seguridad en muchos niveles.
Este es uno de los motivos que he supuesto pero pensé “En Velneo no se compila la solución, se ejecuta como fuente. Por eso hay que poner contraseña a la solución. Para que no puedan usarla otros con tan solo copiarla. La plataforma no, pero la fuente es mía.”
Lo que quiero es coger dos fuentes abiertas DE DISTINTAS SOLUCIONES ( para eso no sirve vVersion ) y encontrar las diferencias entre los objetos que son idénticos en ambas, como sucede cuando coges vERP y te haces un tenedor con él.
Está claro que nuestras soluciones, que solo pueden grabarse en formato .VIN , quedan encriptadas y/o comprimidas, tanto si pusimos una contraseña como si no.
En realidad no sé porqué no podemos grabar nuestras soluciones en otro formato más standard donde lo legible sea legible. Digamos en .JSON.
Imagina tener esos JSON y que puedes crear una búsqueda / comparación. Podrías conseguir pasar de cosas como que las soluciones tenga un nombre o un ID diferente pero que sí te señale diferencias en objetos con el mismo nombre.
Así, podría tener algo como esto:
“velneo_verp_2_app, Constantes, Identificador:PRG_CNT, Nombre:¿Desea continuar?, Estilos:, Comentarios:,fin”
Vale, no se va a poder exportar un proyecto a un formato legible fuera de vDevelop pero …
¿Qué tal un checksum por objeto? un dato con el que poder decir este objeto de vERP es idéntico al que tengo en el fork.
Muchas gracias. Lo he probado y funciona tal cual.
Me aparecen 16.000.000 de líneas en el JSON de la parte del proyecto de aplicación, pero es porque atomiza cada propiedad y línea de código en sus partes y parámetros.
Puede servir para llevar a cabo la idea.
Es asombroso … QML y JavaScript, el poder de ambos mundos ejecutados como una extensión dentro de vDevelop y … menos asombrosa mi ignorancia.
Eres la caña de España, Don Pedro Porlán Tornel. te hago la ola corriendo de un lado para el otro de la habitación
De nada @carlosan, es verdad que el tamaño que tienen los ficheros JSON los hace difícilmente manejables, pero como “ejercicio” básico de desarrollo de extensiones es interesante.
No es manejable de manera manual pero eso da lo mismo.
Ahora puedo crear un programa.exe y comparar los objetos con mismo nombre de dos soluciones diferentes aunque parecidas, como sucede con vERP y un fork de vERP.
Thank you Gracias Გმადლობთ Спасибо
Bueno. Lo acabo de probar y funciona perfecto. La opción de obtener el dato con hash MD5 al final de cada objeto colma las expectativas imaginadas. Además esas barras de progreso tan necesarias porque el cálculo requiere una gotita de tiempo.
Tendría que haber guardado una poca de fanfarria para este aporte inesperado porque casi la he gastado toda la iconografía pero … todavía te puedo desear “Paz y prosperidad” al estilo vulcano
Muchas gracias. En serio. Además de ofrecer este regalo vas y lo mejoras.
No hubiera imaginado que se pudiera hacer esto, leer los objetos desde dentro de vDevelop. Ya puesto a imaginar soñé que también se podían modificar, pero aún no sé para qué.
Lo dicho, agradecido.
Claro, ahora que tengo los .JSON de ambas soluciones, de datos y aplicación, queda leer desde el fork el fichero JSON de vERP para comparar los MD5 y señalar el objeto que no coincide
Si es que no se puede. Das la mano y te cogen el brazo.
Sorry