¿Heredar vERP o modificarlo a saco?

Buenas a tod@s.

Soy relativamente nuevo en Velneo y estoy ahora mismo en la faena de intentar preparar un proyecto propio heredando de vERP. El tema es que a raiz de la versión 31 me he puesto a instalarla y no era consciente hasta ahora de la faena que conlleva mantener un proyecto heredando de vERP porque me toca (si no me equivoco) revisar todo lo modificado para instalar la nueva versión y volver a implementarlo. Ahora mismo que solo tengo retocadas dos tonterías no es mayor problema pero la idea es ir ampliando/modificando el proyecto “hasta el infinito” con lo cual la tarea de en una futura actualización volver a implementarlo todo se me antoja practicamente inviable.
La otra opción que creo que hay es hacer un “Fork” que es básicamente lo contrario, desarrollar directamente sobre vERP e implementar manualmente lo que nos interese de las nuevas versiones.
Dado que tomar el camino a seguir es una decisión importante porque no hay vuelta atrás me gustaría saber las experiencias y las sensaciones de la comunidad Velneo en este sentido.
Gracias y un saludo.

Hola, buenos días.
Creo que lo explicas al revés.
Si trabajas sin tocar vERP y tus modificaciones las haces por medio de las herencias, cada vez que aparezca una versión nueva no deberías tener mayores problemas.
El follón es hacer un fork y luego tratar de implementar las novedades.
Lo que te digo a continuación es mi experiencia personal, ya que la estás pidiendo, pero ten en cuenta que yo no soy nadie dentro del mundo Velneo, mis conocimientos limitados y la mía una opinión super personal. Esto opino:
Me decidí por el fork y encontré en vERP infinidad de bugs (algunos pequeños y otros bastante mayores), de trozos de programa que no se usan pero algún día podrías usar, de variables globales que pertenecen a módulos del ecosistema como p.ej. TPV y lo mismo no vas a usar TPV.
Al final es una base, plantilla sobre la que trabajar y no un programa listo para poner en venta con 4 retoques.
No a mi parecer, repito, aunque otras personas, quizá todas, podrán opinar lo contrario e incluso te dirán que lo tienen en producción por herencia con pocas personalizaciones.
El sistema de la herencia te llevará a manejar los puntos de inserción, las tablas de extensión, a buscar los problemas a través de dos o más proyectos de aplicación y dos o más proyectos de bases de datos.
Creo que esa es la gran ventaja de programar con Velneo, los módulos, las herencias y solo es necesario habituarse a utilizarlas, asimilar el manejo de las instancias, tener una mente abierta a todo eso.

Buenos días y gracias por responder. Lo que quería decir es que si en tu proyecto heredado de vERP modificas un formulario ese formulario te lo tienes que copiar a tu proyecto y ahí retocarlo. Si en el futuro vERP toca ese formulario bien para solucionar algún bug o para hacer una mejora tienes que volver a copiarte el nuevo formulario y sobre él reescribir las modificaciones que hayas hecho, o por lo menos esa es lo que yo entiendo y me han explicado de cómo resolver el tema de las actualizaciones heredando de vERP. ¿Cual es el problema? que si retocas un número importante de formularios con un número importante de modificaciones las actualizaciones se pueden volver laboriosas.
Gracias de nuevo y un saludo.

Uyyyyy … vaya lío. Me duele la cabeza y no nos entendemos.

Hay un vídeo de Velneo donde te recomiendan qué opción tomar:

(el link te lleva a la parte de las herencias pero deberías verlo completo)

Gracias carlosan, prepararé refrescos y palomitas para ver el video completo.

De una forma o de otra agradecería más comentarios y experiencias.

Saludos.

[quote="[N3] newtron, post:5, topic:11054, username:newtron"]
prepararé refrescos y palomitas para ver el video completo.
[/quote]

:rofl::rofl: ¡ Que no falte el humor ! ( el dolor de cabeza es auténtico, del calor o lo que sea, conste )

Hola newtron.

Yo creo que a estas alturas ya no hay debate que valga, si vas a ser un fan del VERP a medio o largo plazo, la decisión es claramente la Herencia de proyectos. Velneo te facilitará la vida con tus proyectos heredados y con el fork ya no querrá saber nada de ti, como es lógico.

Por otro lado, la mal llamada Herencia de Velneo, es simplemente poder usar en ejecución los objetos de otro proyecto. Es una Herencia muy “simplona”, de tal forma que usas todo el objeto o no lo usas en absoluto.

Sabedor de sus muchas limitaciones, Velneo ha ido incorporando funcionalidades al mecanismo de la Herencia: tablas de extensión, puntos de inserción, herencia inversa, personalización mediante scripts del API, reemplazos, …

Son aportaciones claramente insuficientes o incompletas, pero es lo que hay y siempre será mejor que un fork.

Dices
Lo que quería decir es que si en tu proyecto heredado de vERP modificas un formulario ese formulario te lo tienes que copiar a tu proyecto y ahí retocarlo. Si en el futuro vERP toca ese formulario bien para solucionar algún bug o para hacer una mejora tienes que volver a copiarte el nuevo formulario y sobre él reescribir las modificaciones que hayas hecho …

Precisamente esa es uno de los grandes problemas de la Herencia, o heredas todo el objeto completo o no heredas nada. El objeto Reemplazo vino a facilitar un poco la gestión de este tema, pero el problema de fondo se mantiene.

Yo no soy usuario del VERP, pero uso la Herencia de forma habitual en mis Proyectos y con 4 o 5 niveles de herencia. Es un mecanismo a día de hoy imprescindible para estructurar nuestras aplicaciones y evitar repetir cien veces el mismo código.

Lo ideal sería que la plantilla VERP adquiera un estado de gracia en el que ya no sean necesarias actualizaciones profundas que rompan nuestras propias personalizaciones.

Saludos
Paco Satué

Gracias Paco por tus comentarios. Creo que practicamente has desarrollado el “batiburrillo” mental que tengo con este tema.

Saludos

Gracias Paco, es un placer para principiantes como yo leerte.

Como nuevo usuario de Velneo he seguido los pasos a lo que claramente aconsejan los especialistas de Velneo. Me refiero con nombres apellidos a Mario Conde y Jesús Arboleya.

Bien. Yo acabo de realizar una herencia desde vERP para adaptarla a una simple gestión de talleres de vehículos en lo que lo único que se modifica es añadir una matrícula en cabeceras y empleados para mano de obra en líneas (y por supuesto unas tablas mías personales, vehículos, empleados, etc). Es una movida. Empezando porque no tenía claro ni como hacer un i=i+1 con este extraño entorno, es complejo. Además al personalizar cabecera de presupuestos, pedidos, albaranes y facturas (de ventas), y todas sus líneas asociadas, la movida se complica aún más. Tienes que usar el nuevo objeto que crearon para ello “Reemplazo” y usar los tuyos propios en vez de los suyos. Y no veas los objetos que tienes que modificar, mogollón.

  Espero haberme explicado hasta aquí. Bien, ahora vienen los problemas, más que probable nueva versión de vERP que realiza modificaciones en alguno o todos los objetos que he sustituido con "Reemplazo". Pierdo su funcionalidad y tengo que volver a personalizarlos si quiero aprovechar sus nuevas características o dejar obsoletos los módulos personalizados. Y no hablemos del aspecto que dejas en tu parte personalizada y que no tiene porqué cuadrar con el módulo de compras o contabilidad (por ejemplo). Al verlo tendrías un monstruito de Frankenstein con diversos aspectos dependiendo de la pantalla que presentes.

En mi opinión, la herencia es la mejor opción, pero no está exenta de complejidad y consecuencias imprevisibles antes las modificaciones a futuro de vERP. Eso es lo que más miedo da, esas modificaciones que tienen que surgir sí o sí a lo largo de la historia.

Eso sí, funciona bien una vez has realizado este lío de la herencia, pero no es un chollo como se plantea en algunos vídeos en los que parece que es un copia-pega. Ni mucho menos.

Totalmente de acuerdo en tu frase final:
Lo ideal sería que la plantilla VERP adquiera un estado de gracia en el que ya no sean necesarias actualizaciones profundas que rompan nuestras propias personalizaciones.