Gestiweb y Pull Requests en eneboo-modules

73 views
Skip to first unread message

Miguel Angel Ayuso Ruiz

unread,
Nov 4, 2018, 2:50:24 PM11/4/18
to Eneboo
¿Aceptais pull requests en eneboo-modules?

Un saludo

José Antonio Fernández Fernández

unread,
Nov 4, 2018, 2:55:30 PM11/4/18
to ene...@googlegroups.com
Hola Miguel . los pull request son bienvenidos en los repos de github.com/eneboo , siempre y cuando no rompan la compatibilidad del módulo o. Quizas sea mejor q lo subas como una extensión a eneboo-features , por ejemplo la extm000-sujeto_pasivo. quedandote con el prefijo m para futuras extensiones. Saludos y felicidades por tu trabajo 

El dom., 4 nov. 2018 20:50, Miguel Angel Ayuso Ruiz <mayus...@gmail.com> escribió:
¿Aceptais pull requests en eneboo-modules?

Un saludo

--
Has recibido este mensaje porque estás suscrito al grupo "Eneboo" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a eneboo+un...@googlegroups.com.
Para acceder a más opciones, visita https://groups.google.com/d/optout.

Miguel J

unread,
Nov 6, 2018, 4:14:43 PM11/6/18
to Eneboo
....eeeeh, que la "M" era miiiiia....

Jejeje....y si usa una "Y"...?...


https://github.com/eneboo/eneboo-features/graphs/contributors

José Antonio Fernández Fernández

unread,
Nov 7, 2018, 6:48:10 AM11/7/18
to ene...@googlegroups.com
jajaja

--
Has recibido este mensaje porque estás suscrito al grupo "Eneboo" de Grupos de Google.
Para cancelar la suscripción a este grupo y dejar de recibir sus mensajes, envía un correo electrónico a eneboo+un...@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/d/optout.


--
Cuenta de correo propiedad de FERNÁNDEZ FERNÁNDEZ, JOSÉ ANTONIO y de uso estrictamente profesional. Este mensaje electrónico está dirigido únicamente a la(s) direcciones indicadas anteriormente: el carácter confidencial, personal e intransferible del mismo está protegido legalmente.
Cualquier revelación, uso o reenvío no autorizado, completo o en parte está prohibido. Si ha recibido este mensaje por equivocación notifíquelo inmediatamente a la persona que lo remite y borre el mensaje original junto con sus ficheros anexos sin leerlo ni grabarlo total o parcialmente. Si usted no desea recibir correos de nuestra empresa, por favor, envíenos un correo a AULLAS...@GMAIL.COM manifestando tal deseo

Miguel Angel Ayuso Ruiz

unread,
Nov 11, 2018, 12:45:59 PM11/11/18
to Eneboo
Una pregunta.
Para hacer una extensión y aplicar un parche, ¿es necesario crear una funcition nueva o las eneboo-utils reconocen el código nuevo y lo insertan en el lugar que corresponde?
Y..., en fin..., no me importa quedarme con la "Y", ;D

Un saludo

Miguel J

unread,
Nov 11, 2018, 1:36:32 PM11/11/18
to Eneboo
...a ver...simplificando muuucho, lo que hacen las eneboo-tools es "jugar" a las 7 diferencias: cojen TU código y lo COMPARAN con el código-base QUE TU LE INDIQUES....y lo que sea DISTINTO lo "mete" en unos ARCHIVOS DE TEXTO....luego te corresponde a ti decidir con qué código "distinto" te quedas....

....fíjate que compara LO QUE TU QUIERES QUE COMPARE....eso permite infinitas combinaciones....pónle imaginación.

José Antonio Fernández Fernández

unread,
Nov 12, 2018, 7:25:32 AM11/12/18
to ene...@googlegroups.com
Hola Miguel Angel.

Te explico por encima el funcionamiento.

Para crear una extensión , lo primero y necesario es tener instaladas y configuradas las eneboo-tools.
Creamos una extensión con el comando "eneboo-assembler new"
Esto nos va pidiendo datos , como el codigo "Y001", nombre_corto "asiento_prueba", y descripcion "esto es para tal...". Luego nos pide que especifiquemos que modulos o extensiones son necesarios ("flcontppal", "0025")
Una vez creada(o copiada de alguien que te la pasa) y guardada , tenemos que explicarle a las eneboo-tools que hay nuevas extensiones. Esto se hace con el comando "eneboo-assembler dbupdate".
A partir de aquí ya podemos trabajar con esta nueva extensión:
   - lanzo comando "eneboo-assembler build asiento_prueba src".
  - cambio lo que quiera en la carpeta extY001-asiento_prueba/build/src.
  - guardo cambios con el comando "eneboo-assembler save-fullaptch asiento_prueba"
  Los cambios (las modificaciones de esa extensión) se guardan en extY001-asiento_prueba/patches/asiento_prueba/. Estos son los cambios que aplicará tu extensión cuando se use.


Por último , para usar la extensión, tenemos 3 formas:
1) Especificando la extensión nueva como una dependencia al crear otras (ext, set o prj) con el comando "eneboo-assembler new".
2) Añadiendo en el fichero required_features , dentro de la carpeta de la ext,set o prj , en ./conf/, la extensión deseada. Ejemplo:

ext9002-jasper_pluging
extY001-asiento_prueba

Estas dos primeras opciones hacen que al usar el comando "eneboo-assembler build prj001-mi_mezcla src, nos meta ya esas extensiones listadas en required_features. Como supondrás required_modules es lo mismo pero para módulos.

La tercera opción sirve para añadir una extensión a una mezcla ya existente, sin contruir la mezcla de 0. Por ejemplo la mezcla que tienes instalada en eneboo y no dispones de las extensiones extraídas.
Esto se puede hacer con otro comando de las eneboo-tools:
eneboo-mergetool folder-patch __espacio__ /ruta_completa_a_la_carpeta_de_las_extensiones_donde_esta_la_que_quieres_añadir/extY001-asiento_prueba/ __espacio__ /ruta_a_los_módulos_extraídos_de_tu_mezcla/ __espacio__ /_ruta_donde_quiero_guardar_mis_módulos_modificados/

Un detalle muy importante. Para crear una extensión con cambios en qsa, no vale con modificar funciones existentes de qsa, tienes que crear nuevas y sobrecargar las que quieres modificar. Si no los cambios de qsa no se aplicarán , con el resto de ficheros no hay problema.

Espero aclare tus dudas.
Saludos





Miguel Angel Ayuso Ruiz

unread,
Nov 16, 2018, 1:54:13 PM11/16/18
to Eneboo
Muchisimas gracias.
He estado desconectado estos días por cuestión de trabajo.
Estuve el fin de semana pasado revisando los apuntes de Miguel J. y los vídeos que hay en Youtube sobre eneboo-tools y mi duda era cómo crear los parches. Estuve haciendo pruebas con eneboo-mergetool file-diff qs [...] y no lograba resultados en los ficheros qs. Y como en algún sitio leí que era bueno preguntar sobre las eneboo-tools pues por esas razones dejé mi pregunta.
Luego probé con eneboo-mergetool file-diff qsdir [...]  y empecé a ver algo de luz.
Y ya que me indicas todo el proceso, ¡genial!
A ver si este fin de semana lo saco adelante.
Muchas gracias.

Saludos

Xosé Aller

unread,
Nov 17, 2018, 5:35:04 AM11/17/18
to ene...@googlegroups.com
Hola.

Yo te cuento como me lo hago yo, que es algo manual la cosa.

En primer lugar lo que te comentaron, crear un set de lo que sea con: eneboo-assembler new y sigue las instrucciones

Te crerá una carpeta con lo tuyo, dentro tendrás la carpeta conf donde están required-modules y required-features
ahí puedes cambiar manualmente lo que quieras para hacer tu proyecto mezclando extensiones

para crearlo (si ya existe borras todo el /build) y pones

eneboo-assembler build TUPROYECTO src -vvv > resultado.txt

(yo envío el máximo nivel de verbose a un archivo de texto para analizar como fue la mezcla, sus WARNINGS y posibles errores).
Si hay errores o Warnings, los corrijo, borro el vuild y vuelvo a crear.

No te olvides que cuando añadas extensiones al directorio donde las tengas para que sepan que existen tendrás que hacer un eneboo-assembler update

PARA LA EXTENSIÓN NUEVA.
Modificas en build/src lo que quieras del código para ir haciendo tu extensión nueva.

A nivel de código de los scripts, procura no tocar las clases exitentes, es decir, si por ejemplo, haces algo que influya en el bufferChanged de un campo (por poner un ejemplo), no lo metas en el oficial, te creas una clase nueva que sobrecargue la otra, que podrá ser que haga algo y luego llame a la oficial, que llame la oficial y luego haga lo tuyo, o simplemente que solo haga la nueva funcionalidad. Así se extraerá la extensión lo más limpia posible.

Para guiarte con esto puedes verlo en las múltiples extensiones que hay y ves como lo hacen.

Modifica los forms o lo que necesites para que tu extensión sea funcional. En cuanto la tengas es el momento de extraer las diferencias (del src sobre el base).

Para extraer las diferencias:
eneboo-assembler build setS0XX-TUPROYECTO fullpatch

Y después las guardamos con:
eneboo-assembler save-fullpatch setS0XX-TUPROYECTO

Ahora en fullpatch tienes la extensión extraida, lista para ser nombrada como quieras y puest aa disposición de todas.

Espero que te haya servido de ayuda. Cualqueir cosa pregunta, pero tampoco creas que soy un gurú del asunto, voy un poco a golpes cuando puedo.

Un saludo.















Aviso Legal
: A información contida nesta mensaxe é confidencial. Esta información é enviada para a lectura exclusiva da(s) persona(s) á quen vai dirixida. O acceso por terceiros aos cales non vai dirixida esta mensaxe non está autorizado. Se vostede non é o destinatario da mensaxe, queda prohibida calqueira divulgación, duplicación ou distribución da información e pode ser ilegal. Calqueira accion tomada ou deixada de tomar basada na información contida na mensaxe queda prohibida e pode ser ilegal. Se a mensaxe vai dirixida a clientes, as opinións ou recomendacións contidas na mensaxe enténdense suxeitas aos termos e condicións do contrato de servicio.
 

Aviso Legal: La información que contiene este mensaje es confidencial. Ésta información es enviada para lectura exclusiva de la(s) persona(s) a la que va dirigida. El acceso por terceros a los cuales no va dirigido el mensaje no está autorizado. Si Ud. no es el destinatario del mensaje, queda prohibida cualquier divulgación, duplicación o distribución de la información y puede ser ilegal. Cualquier acción tomada o dejada de tomar basada en la información contenida en este mensaje queda prohibida y puede ser ilegal. Si el mensaje va dirigido a clientes, las opiniones o recomendaciones contenidas en el mensaje se entienden sujetas a los términos y condiciones de contrato de servicio.


Miguel Angel Ayuso Ruiz

unread,
Nov 18, 2018, 2:39:14 PM11/18/18
to Eneboo
Hola.

En las pruebas me da el mismo resultado. Funciona.
Muchas gracias.

Saludos.

Miguel Angel Ayuso Ruiz

unread,
Nov 18, 2018, 3:00:00 PM11/18/18
to Eneboo
Hola de nuevo.

Comentas el detalle muy importante de crear nuevas funciones.
El problema que tengo es que las modificaciones afectan al código ya escrito, por lo que si creo nuevas funciones, o creo una funcion totalmente duplicada, por lo que crearía un proceso duplicado (redundancia), o elimino la funcion oficial colocando como unica la que creo yo.
Ejemplo1: flcontinfo.qs -> function oficial_acumularValoresRec -> /*se añade*/ case "IVASISP": {...}

Si tengo que crear una función nueva tengo que reescribir todo el código porque tendría que hacer todo el proceso de nuevo para que ese case estuviera incluida, o en su defecto, una función que volviera a iniciar las mismas variables y los mismos procedimientos para comprobar si es aplicable la nueva opción.

Ejemplo2: co_regiva.qs -> function oficial_generarAsiento -> var miWhere:String = "s.idcuentaesp IN ('IVASOP', ...., 'IVASSP', 'IVARSP') OR ...."

Si tengo que crear una función nueva que me incluya ese nueva condición en WHERE, tendría que realizar una funtion idéntica debido a que el proceso es el que es.

He visto los parches de muchas ext y la mayoría contienen clases y funciones nuevas que pueden añadirse al código existente porque son procesos nuevos.

¿Cómo resolveis la modificación del código base?

Un saludo
Reply all
Reply to author
Forward
0 new messages