[Gvsig_desarrolladores] Generar ejecutable gvSIG 2.0

Leticia Riestra Ainsua lriestra en lbd.org.es
Mar Abr 17 16:51:35 CEST 2012


Hola

Antes de todo darte las gracias porque tu correo me ha aclarado un poco y
me ha arrojado 'algo' más de luz sobre como tengo que hacer el proceso

Te voy a intentar comentar un poco más en detalle los aspectos que te dije
que habíamos modificado para ver si hay forma de arreglarlo y poder hacer
que todo funcione como plugins de gvsig (que al final y al cabo es lo que
nos interesa)

- Proyecto libFMap_dal
Tú me comentaste lo siguiente: *"La libreria de DAL es una libreria de
acceso a datos, con un API bien definido y **una semantica de
funcionamiento en concreto. Si lo que quieres es que tu edicion se comporte
de forma distinta deberias implementar esa funcionalidad a nivel del plugin
usando la libreria standar de DAL, de forma que no interfiera con otros plugins
que usen DAL. De todos modos, si esta justificada la modificacion que
propones se puede ver de introducir algun cambio para poder poner el store
en un modo especial que sea el que propongas, pero no cambiar el
funcionamiento general para todos los stores, ya que dejarian de ir otros
plugins." *

¿Cómo hago para implementar esa funcionalidad a nivel de plugin y no tener
que tocar ese código? ¿Podéis hacer lo de poner el store en algún modo
especial?
Nosotros lo que queremos es que después de que el usuario digitalize se
guarde dicha modificación, sin tener que esperar que el usuario pulse en
"terminar edición". Es más que nada un cambio en la lógica porque nosotros
siempre lo hemos hecho así y queremos que en esta versión siga siendo igual
Si me puedes decir cómo tenemos que hacer para que esto funcione así,
estaremos encantados de no tener que modificar vuestro código

- Proyecto libFMap_geometries
Me comentas *"**Respecto a la libreria de geometrias, seguramente estas
haciendo un uso incorrecto de ella. Deberias acceder a las funcionalidades
de manejo de geometrias a traves del API de estas, y no usando alguna clase
de utilidad que haya en la implementacion"*
*
*
¿Cómo tendría que hacerlo entonces? Voy a volver a crear un proyecto
estándar para comprobar si me falla o no a la hora de cargar nuestras capas
(que si bien recuerdo fue allí donde nos dimos cuenta del problema) y ya te
informo de donde está el fallo y vemos si es cosa mía (que no lo se usar) u
cosa vuestra (que hay algún fallo)

- Modulo proprio de editing
Hemos creado nuestro módulo propio de edición porque hemos tenido que
modificar la máquina de estado debido a que después de que el usuario
digitaliza, mostramos un formulario para que pueda introducir algunos datos
relativos al mismo

Me decías que  *"Otra cosa que tampoco me queda muy clara es lo que
comentas de que has tenido que modificar otros plugins por cambiar el de
edicion"*

En realidad lo que tuve que cambiar fueron los poms de otros proyectos que
tienen dependencia con vuestro editing. Lo que hice fue cambiarlos y hacer
que dependiesen de nuestro edición

¿Cómo podemos hacer entonces para no tener que modificar nada?

- Generar ejecutable
Si te he entendido bien, si conseguimos realizar todas las modificaciones
que me has comentado, podríamos añadir todos nuestros plugins (incluido el
de edición) sin tener recompilar el exe de gvSIG.

De la otra forma, al haber modificado proyectos vuestros si que tendríamos
que recompilar

Espero tu respuesta y muchas gracias de antemano

El 17 de abril de 2012 15:22, Joaquin Jose del Cerro Murciano <
jjdelcerro en gvsig.org> escribió:

> Hola,
> por lo que entiendo de lo que comentas estas tratando el desarrollo con
> la 2.0 como si estuvieses pensando aun en como iba en la 1.X-
>
> De todo lo que comentas veo dos cosas muy peligrosas de cara al
> desarrollo que estas haciendo. las modificaciones en DAL y la libreria
> de geometrias. Por lo demas simplemente hay que cambiar un poco el chip
> y se ve como es muy sencillo generar los instalables.
>
> De cara a los cambios introducidos en el plugin de edicion, lo suyo
> habria sido ver de consensuarlos con producto y desarrollo de gvSIG para
> aportarlos al proyecto y no tener dos plugins de edicion, ya que esto
> puede acarrear confusion de cara a los usuarios. Una vez hecho, mi consejo
> es que le des un nombre el plugin distinto del de la extension de edicion
> y generes un paquete para el.
>
>
>
> El 16/04/12 18:03, Leticia Riestra Ainsua escribió:
> > Hola
> >
> > Las modificaciones que hemos realizado son las siguientes:
> >
> > - Proyecto libFMap_dal
> >   En nuestro caso, queremos cambiar la lógica de cuando se insertan los
> > datos en la base cuando se digitaliza (ahora se insertan nada más
> > digitalizar y no hace falta esperar a que pulse el botón terminar)
> > En nuestro caso queremos que sea el contrario, así que hemos comentado la
> > llamada a exitEditingMode()
> >
> > - Proyecto libFMap_geometries
> >   Estábamos teniendo problemas con vuestro módulo de digitalización. Nos
> > dió la sensación de que fallaba para MultiLinea, MultiPunto y
> > MultiPolígono, además de que en algunos métodos no indicabáis la palabra
> > reservada static y pensamos que hacía falta
> >
> > Lo que hicimos fue crear una nueva clase Converter con todas esas
> > modificaciones
> >
> > Si consideras que os puede interesar, estamos encantados en facilitaros
> el
> > código de la Converter que hemos modificado.
> >
> > - Modulo proprio de editing
> > Hemos creado nuestro proprio módulo de editing, debido a que la máquina
> de
> > estados cambia un poco (debido a que nosotros nada más digitalizar ya
> > guardamos en base de datos y no esperamos a que pulsen en terminar),
> ademas
> > de algunos cambios en herramientas que bien o no tenéis o son diferentes
> >
> >
> > Debido sobretodo a la utilización de nuestro módulo editing, tuvimos que
> > quitar todas las referencias al vuestro y ponerlas al nuestro
> (básicamente
> > es igual cambiando algunas herramientas).
> > Esto ha implicado cambios en varios proyectos vuestros
> >
> >
> > Por tanto esto, hemos tenido que trabajar con el código fuente y no con
> el
> > ejecutable.
> >
> > Por otra parte, he leído ya la documentación que me comentaste en
> > "Instalables en gvSIG "(
> >
> http://www.gvsig.org/web/projects/gvsig-desktop/docs/devel/gvsig-devel-guide/2.0.0/trabajar-con-un-proyecto/instalables-en-gvsig
> )
> > pero no he acabado de entender cómo tengo que hacer para crear un .exe.
> He
> > entendido (más o menos) la parte de generar paquetes con nuestros
> plugins,
> > pero debido a que yo me baso en un gvsig modificado, necesitaría también
> > ese código para poder crear el ejecutable y leyendo esa documentación no
> he
> > entendido como tendría que hacer
>
> Todos los proyectos java (bueno alguna excepcion hay) que aportan plugins a
> gvSIG lo hacen usando el mecanismo de paquetes, esten o no en el workspace
> de
> gvSIG. Para incluir el proyecto extEditing en la distro de gvSIG, primero
> se
> genera el paquete y luego este se incluye en la distro. Para generar el
> paquete
> puedes usar el plugin de gvSIG, o si tienes correctamente configurado tu
> pom,
> puedes usar el launcher de eclipse "mvn create installer" teniendo el
> proyecto extEditing seleccionado. Esto te dejara el paquete de tu proyecto
> en
> la carpeta build/product/install .
>
> >
> > ¿Podrías aclarármelo un poco mejor por favor? Como ves, no tengo muy
> claro
> > como tengo que hacerlo
>
> Si las modificaciones a gvSIG no las has hecho en andami o coreplugins, no
> necesitas rehacer el exe que esta en la web de gvSIG (*-online.exe).
> Ese exe no lleva
> los plugins de gvSIG, solo lo justo para que se pueda arrancar el
> framework de
> andami. Ese exe no trae, por ejemplo, el plugin de edicion, ni el de
> appgvsig.
> Esos plugins estan en el fichero ".gvspks".
> Lo que tendrias que hacer es bajarte los ficheros:
>
> - gvSIG-desktop-2.0.0-2045-alpha4-all-all.gvspks
> - gvSIG-desktop-2.0.0-2045-alpha4-win-x86-online.exe
>
> El fichero ".gvspks" es un zip con los plugins que va a llevar la
> distribucion.
> Añadirias los paquetes de tus plugins y quitarias los que no procedan
> generando
> un fichereo algo como "mis-paquetes.gvspkg" y modificarias el fichero
> "defaultPackages" (que trae dentro) para que diga que por defecto instale
> los plugins que tu quieres.
>
> Una vez hechos esos cambios generarias tu instalable para windows tal como
> se indica en "Instalables en gvSIG" -> "Generando nuestra distribución de
> gvSIG"
> Ejecutarias algo parecido a esto:
>
>  gvspkg mkinstall gvSIG-desktop-2.0.0-2045-devel-win-x86-online.exe
> mis-paquetes.gvspks
>
> Esto generaria una distribucion de gvSIG basada en el build 2045 pero con
> tus
> plugins personalizados.
>
> Usando este mecanismo no necesitas recompilar el exe de gvSIG, solo le
> ensamblas
> los paquetes que quieres que lleve de base, y asi obtienes una
> personalizacion.
>
>
>
> Si has hecho modificaciones en andami, si tendras que rehacer el
> instalador "nativo"
> de gvSIG. Yo no te lo recomiendo, antes intentaria ver que cambios
> necesitas y vemos
> de integrarlos en gvSIG o de añadir el hook que nos permita modificar
> su comportamiento
> sin tocarlo. De todos modos, si quieres hacerlo, eso esta algo comentado
> en el
> documento :
>
> gvSIG install build preparation steps
>
> http://www.gvsig.org/web/projects/gvsig-desktop/docs/devel/gvsig-devel-guide/2.0.0/trabajar-con-el-nucleo-de-gvsig/gvsig-install-build-preparation-steps
>
> Que ya te comente en el correo anterior.
>
>
>
> Respecto a las modificaciones en las librerias, hacerlas supone que puedes
> hacer
> que otros plugins dejen de funcionar por ello. Ten en cuenta que estas
> cambiando
> la logica de funcionamiento de una libreria, DAL, que es usada por
> casi cualquier
> plugin que se pueda instalar el usuario en tu distribucion, y de los
> que no tendras
> ningun control. Puedes acabar haciendo que el usuario si se instala algun
> otro
> plugin que tu no has probado acabe perdiendo informacion.
>
> La libreria de DAL es una libreria de acceso a datos, con un API bien
> definido y
> una semantica de funcionamiento en concreto. Si lo que quieres es que tu
> edicion
> se comporte de forma distinta deberias implementar esa funcionalidad a
> nivel del
> plugin usando la libreria standar de DAL, de forma que no interfiera con
> otros
> plugins que usen DAL. De todos modos, si esta justificada la
> modificacion que propones
> se puede ver de introducir algun cambio para poder poner el store en
> un modo especial
> que sea el que propongas, pero no cambiar el funcionamiento general para
> todos
> los stores, ya que dejarian de ir otros plugins.
>
> Respecto a la libreria de geometrias, seguramente estas haciendo un
> uso incorrecto
> de ella. Deberias acceder a las funcionalidades de manejo de geometrias a
> traves
> del API de estas, y no usando alguna clase de utilidad que haya en la
> implementacion.
> De una version a otra la implementacion de la libreria de geometrias
> puede cambiar,
> solo se mantiene compatibilidad con el API. Si necesitas alguna
> funcionalidad nueva
> en el API comentala y veremos que podemos hacer por ello, es facil que
> estes queriendo
> hacer algo que ahora se hace de otra forma. En los ultimos builds
> hemos ido eliminando de la extension de edicion los restos de codigo que
> hacian
> uso de partes de implementacion de geometrias, y para el proximo se
> eliminara la
> dependencia de compilacion con la implementacion de geom.
>
>
> Otra cosa que tampoco me queda muy clara es lo que comentas de que has
> tenido que
> modificar otros plugins por cambiar el de edicion. Podriamos ver esos
> casos a ver
> por que ha sido necesario, es facil que se pueda rodear. Cuantos menos
> plugins
> tengas que personalizar mas facil te sera mantener tu aplicacion, y
> concentrarte
> en lo que esta ha de hacer, minimizando los problemas de
> compatibilidad con otros
> plugins que puedan existir. Si tienes los fuentes accesibles publicamente
> podias
> pasarme el enlace y le hecho un vistazo a ver si te puedo sugerir algunas
> cosas
> para mejorar la integracion con gvSIG.
>
> Es una lastima que hayas tocado directamente el plugin de edicion en
> lugar de ver
> si podiamos enriquecer el de gvSIG... si crees que puede ser interesante
> hacerlo
> no dudes en comentarlo, asi el resto de plugins que hicieses no
> funcionarian unicamente
> sobre el fork de este plugin que habeis hecho y podriamos publicarlos en
> nuestro
> repositorio de paquetes, ya que la politica del proyecto es intentar
> ofrecer
> un punto unico de entrada a los usuarios para intalar todos los
> plugins disponibles
> para gvSIG. Puedes consultar el documento "Añadir un paquete al
> repositorio de
> paquetes de gvSIG" para que te hagas a la idea de que se precisaria para
> añadir
> tus paqutes de plugins al repo de gvSIG.
>
> Añadir un paquete al repositorio de paquetes de gvSIG
>
> http://www.gvsig.org/web/projects/gvsig-desktop/docs/devel/como-contribuir-en-gvsig/anadir-un-paquete-al-repositorio-de-paquetes-de-gvsig
>
> Un saludo
> Joaquin
>
>
> >
> > Gracias de antemano
> > El 16 de abril de 2012 15:15, Joaquin del Cerro
> > <jjdelcerro.gvsig en gmail.com>escribió:
> >
> >> El 16/04/12 12:17, Leticia Riestra Ainsua escribió:
> >>> Hola
> >>>
> >>> He estado trabajando con el código fuente del último build de gvsig
> >> (build
> >>> 2045) debido a que he realizado mis propias extensiones pero también he
> >>> tenido que modificar alguna extensión para permitir que se adapte a mi
> >>> código
> >>>
> >>> Quería saber cuales son los pasos que tengo que seguir para poder crear
> >> un
> >>> ejecutable
> >>>
> >>> Muchas gracias
> >>
> >> Hola Leticia.
> >> Como ya he comentado en algun otro correo, no es recomendable
> >> recompilar gvSIG. Lo suyo es desarrollar contra un instalable.
> >>
> >> De todos modos, si quieres hacerlo asi, esta publica la documentacion
> >> que generamos para nosotros mismos relacionada con la generacion de
> >> instalables
> >> de gvSIG 2.0.
> >>
> >> Puedes encontrarla en la "Guia para desarrolladores" en la web de gvsig.
> >> Te recomiendo una lectura completa de la guia si estas desarrollando con
> >> gvSIG.
> >> Ten en cuenta que siempre puedes encontrarte cosas que esten desfasadas
> o
> >> no
> >> esten completas, pero sera mas facil se te familiarizas con esa
> >> documentacion y
> >> preguntas dudas concretas.
> >>
> >> Guia para desarrolladores
> >>
> >>
> http://www.gvsig.org/web/projects/gvsig-desktop/docs/devel/gvsig-devel-guide/2.0.0
> >>
> >> Puedes encontrar documentacion especifica relacionada con la generacion
> de
> >> instalables de gvSIG en los apartados:
> >>
> >> Instalables en gvSIG
> >>
> >>
> http://www.gvsig.org/web/projects/gvsig-desktop/docs/devel/gvsig-devel-guide/2.0.0/trabajar-con-un-proyecto/instalables-en-gvsig
> >>
> >> How to create a gvSIG installer with installjammer
> >>
> >>
> http://www.gvsig.org/web/projects/gvsig-desktop/docs/devel/gvsig-devel-guide/2.0.0/trabajar-con-el-nucleo-de-gvsig/gvsig-installjammer-howto
> >>
> >> gvSIG install build preparation steps
> >>
> >>
> http://www.gvsig.org/web/projects/gvsig-desktop/docs/devel/gvsig-devel-guide/2.0.0/trabajar-con-el-nucleo-de-gvsig/gvsig-install-build-preparation-steps
> >>
> >>
> >> Te recomiendo empezar a leer por "Instalables en gvSIG", que te da una
> >> vision
> >> general del modelo de instalables y paquetes que se sigue en gvSIG 2.0.
> >> Es muy importante entender el modelo de instalables de gvSIG para saber
> que
> >> se puede hacer y como hacerlo.
> >>
> >> Has comentado que has tocado el fuente de gvSIG... dos cosas:
> >>
> >> - Si no has realizado modificaciones en andami, libCorePlugin o alguna
> de
> >> las
> >>  dependencias de estos, te puede resultar util partir de un instalable
> >> "online"
> >>  del build correspondiente a los fuentes con los que has estado
> trabajando,
> >>  y solo particularizarlo con tu propio juego de plugins. Si puede ser
> este
> >>  el caso cuando hayas leido "Instalables en gvSIG" no dudes en preguntar
> >> sobre
> >>  esto.
> >>
> >> - Comentas que has hecho modificaciones en el codigo de gvSIG...
> >>
> >>  Si son modificaciones para la correccion de errores podias revertirlas
> al
> >>  proyecto para que nos podamos beneficiar todos de ellas. No dudes en
> pedir
> >>  un usuario en la "infraestructura para desarrollo de gvSIG" y dar de
> >>  alta los tickets con los parches de las correcciones.
> >>  Puedes ojearte antes el documento "Contribuciones y parches al código
> de
> >> gvSIG"
> >>
> >>  Si son particularizaciones propias podias comentar que has necesitado
> >> hacer
> >>  que no te ha permitido la arquitectura de gvSIG para ver de añadir en
> >> gvSIG
> >>  los hooks adecuados para que otros no tengan que hacerlo otra vez.
> >>
> >> Infraestructura para desarrollo de gvSIG
> >> https://devel.gvsig.org/redmine
> >>
> >> Contribuciones y parches al código de gvSIG
> >>
> >>
> http://www.gvsig.org/web/projects/gvsig-desktop/docs/devel/como-contribuir-en-gvsig/contribuciones-y-parches-al-codigo-de-gvsig/contribuciones-y-parches-al-codigo-de-gvsig
> >>
> >> Espero tus comentarios
> >>
> >> Un saludo
> >> Joaquin
> >>
> >>
> >>>
> >>>
> >>>
> >>>
> >>> _______________________________________________
> >>> gvSIG_desarrolladores mailing list
> >>> gvSIG_desarrolladores en listserv.gva.es
> >>> Para ver histórico de mensajes, editar sus preferencias de usuario o
> >> darse de baja en esta lista, acuda a la siguiente dirección:
> >> http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
> >>
> >>
> >> --
> >> --------------------------------------
> >> Joaquin Jose del Cerro
> >> Development and software arquitecture manager.
> >> jjdelcerro en gvsig.com
> >> gvSIG Association
> >> www.gvsig.com
> >> www.gvsig.org
> >> _______________________________________________
> >> gvSIG_desarrolladores mailing list
> >> gvSIG_desarrolladores en listserv.gva.es
> >> Para ver histórico de mensajes, editar sus preferencias de usuario o
> darse
> >> de baja en esta lista, acuda a la siguiente dirección:
> >> http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
> >>
> >
> >
> >
> >
> >
> > _______________________________________________
> > gvSIG_desarrolladores mailing list
> > gvSIG_desarrolladores en listserv.gva.es
> > Para ver histórico de mensajes, editar sus preferencias de usuario o
> darse de baja en esta lista, acuda a la siguiente dirección:
> http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
>
>
> --
> --------------------------------------
> Joaquin Jose del Cerro
> Development and software arquitecture manager.
> jjdelcerro en gvsig.com
> gvSIG Association
> www.gvsig.com
> www.gvsig.org
> _______________________________________________
> gvSIG_desarrolladores mailing list
> gvSIG_desarrolladores en listserv.gva.es
> Para ver histórico de mensajes, editar sus preferencias de usuario o darse
> de baja en esta lista, acuda a la siguiente dirección:
> http://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores
>



-- 
Leticia Riestra Ainsua
*Laboratorio de Bases de Datos A Coruña*
*Tlfono: 981 16 70 00 Ext: 1386*
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: http://listserv.gva.es/pipermail/gvsig_desarrolladores/attachments/20120417/dc827785/attachment.htm 


Más información sobre la lista de distribución gvSIG_desarrolladores