Quiero desarrollar cosas con la versión 2.0 de gvSIG ¿por dónde empiezo?

El otro día se me acercó un compañero a ver si podía orientarle sobre por dónde podía empezar si quería contribuir de alguna manera al desarrollo de gvSIG 2.0. Me quede pensando un momento y le pregunté….

¿Pero qué quieres hacer?

Después me di cuenta que él mismo no tenía muy claro realmente qué es lo que quería hacer. Quería empezar a hacer algo con la versión 2 de gvSIG pero no tenía nada claro aun el qué.

Hay bastante documentación sobre cómo desarrollar con y para la versión 2.0 de gvSIG, pero todos los que se acercan se plantean…

¿Por dónde empiezo?

En general al acercarse al desarrollo con o para la versión 2.0 de gvSIG podemos identificar tres escenarios:

  • Contribuir al núcleo de gvSIG
  • Contribuir a un proyecto que no forma parte del núcleo de gvSIG
  • Creación de plugins propios

Para simplificar aquí he utilizado el termino “núcleo de gvSIG” aunque realmente tendría que hablar del “workspace principal de gvSIG”, pero de momento nos quedaremos con lo de núcleo de gvSIG.

Lo primero que haría sería empezar por leer, y probablemente seguir, la Guía de inicio rápido del desarrollador y las Normas de codificación y desarrollo pero después según el escenario en que me encuentre lo mejor seria poder seguir con la documentación más adecuada para él.

Contribuir al núcleo de gvSIG

¿Qué quiere decir eso de “Contribuir al núcleo de gvSIG”?

Pues me refiero a cuando tengo o me gustaría realizar alguna mejora o corrección de algún bug de lo que serian los proyectos que forman parte del “workspace principal de gvSIG”. Si quiero aportarla al proyecto, tendré que poder probar que funciona y saber qué tengo que hacer para aportarla. Será interesante leer:

Después de leer esta documentación, probablemente estemos en condiciones de compilar el “núcleo de gvSIG” para poder introducir nuestras mejoras, y sabremos cómo hemos de hacer para que estas sean integradas en el núcleo para próximas revisiones.

Contribuir a un proyecto que no forma parte del núcleo de gvSIG

Lo primero que nos puede venir a la cabeza es la pregunta de que es eso de proyectos que no forman parte del núcleo de gvSIG… bueno… el workspace principal de gvSIG consta de una serie de proyectos que constituyen el núcleo sobre el que se monta toda la aplicación, pero no todos los plugins que se distribuyen con la aplicación están en este workspace. Cada vez más plugins tienen su propio proyecto independiente y su propio ciclo de vida. Con su grupo de desarrollo y criterios para aceptar nuevos desarrolladores o contribuciones, algunas veces más laxos que sobre el workspace principal. Algunos de esos plugins son:

  • Catalog
  • Gazetteer
  • ARC IMS
  • Oracle
  • Layout document
  • ECW
  • MrSID
  • WMS
  • WCS
  • Scripting

Algunos tienen ya su propio proyecto en la infraestructura de desarrollo de gvSIG y siguen una vida independiente del núcleo de gvSIG. Si estamos interesados en contribuir en alguno de ellos podemos consultar en la pagina infraestructura de desarrollo de gvSIG la ficha del proyecto y ponernos en contacto con alguno de sus responsables para gestionar con él la forma en que queremos desarrollar. Si no, siempre podemos trabajar como se describe en Contribuciones y parches al código de gvSIG.

Si vamos a ser desarrolladores de un proyecto puede ser interesante leer:

Ya comentado en el apartado anterior, y además:

Creación de plugins propios

Y por ultimo comentar esta parte… porque la creación de nuestros propios plugins y que estén disponibles para el resto de la comunidad de usuarios de gvSIG también es una forma de contribuir al proyecto.

Para este caso aconsejo sobre todo la Guía de inicio rápido del desarrollador, pero nos ayudará también leer algunos de los documentos comentados en los apartados anteriores como:

Y más específicamente nos vendrá bien leer:

  • Crear un proyecto para gvSIG de la Guía para desarrolladores de gvSIG 2.0.0
  • Proyectos oficiales en gvSIG que nos guiara sobre cuáles son las directrices para que nuestro desarrollo sea un proyecto oficial gvSIG. Recomiendo leerlo antes de abordar un desarrollo para la versión 2 de gvSIG, ya que aunque a priori no vayamos a solicitar que nuestro proyecto sea un proyecto oficial, hay bastantes cosas que son simples de seguir cuando vas a crear tu proyecto pero pueden ser muy costosas una vez ya esta confeccionado, así que merece la pena leerlo para intentar seguir las lineas que ahí se piden al inicio del desarrollo, aunque sea solo como buenas prácticas de desarrollo.

Para acabar

La documentación que he ido referenciando es documentación sobre cómo trabajar, pero no se trata de documentación de referencia sobre las librerías que conforman gvSIG. De esta hay menos, pero si alguien quiere leer algo puede encontrarla en el apartado de Documentación de desarrollo del proyecto gvSIG-desktop en la web http://www.gvsig.org . De ahí, por su especial relevancia es recomendable leer:

Y bien, para acabar estas letras, simplemente comentar que la documentación puede no estar todo lo completa que nos gustaría y que aunque la sigáis, podéis tener problemas, pero no os desaniméis, preguntar por las listas de desarrollo las dudas que tengáis o si tenéis algún problema para hacerlo por las listas no dudéis en escribir correo a los responsables de desarrollo de los proyectos con los que tengáis problemas.

¡Ah!, se me olvidaba, también podéis contribuir aportando documentación al proyecto, o traduciendo la existente a otros idiomas.

Hasta la próxima

About Joaquin del Cerro

Development and software arquitecture manager at gvSIG Team. gvSIG Association
This entry was posted in community, development, gvSIG Desktop, spanish, technical collaborations. Bookmark the permalink.

6 Responses to Quiero desarrollar cosas con la versión 2.0 de gvSIG ¿por dónde empiezo?

  1. Javier Quispe says:

    Estimado Joaquin
    Si quisiera realizar una personalizacion del gvSIG con las funciones que necesito y otras que deseo generar, cuales serian los pasos a seguir para elaborarlos en gvSIG 2.0?

    • Joaquin del Cerro says:

      Hola Javier,
      sobre lo que comentas, hay dos partes

      – por un lado el desarrollo de nuevas funcionalidades

      – y por el otro generar una version de gvSIG personalizada.

      Sobre el primer punto, el apartado “creación de plugins propios” del post te orienta de por donde tienes que empezar, principalmente por la “Guía de inicio rápido del desarrollador”.

      Sobre el segundo punto, hay algo de documentación pero, si acaso te interesa puedo ver de recopilar algunas notas y dejarlas en otro post comentando en que consistiría el proceso de personalización de la instalación de gvSIG.

      En cualquier caso, para personalizar la instalación de gvSIG con tus propias funcionalidades, primero debes pasar por esarrollarlas y generar paquetes para ellas.

      Si tienes dudas mas concretas ya sabes preguntas…
      Voy a ir viendo de preparar algo sobre como personalizar la instalación de gvSIG.

      Ah! un par de cosillas mas….
      es aconsejable que te suscribas a las listas de desarrollo de gvSIG, en el post tienes un enlace, y además dispones de un curso de desarrollo online sobre gvSIG del que puedes encontrar información en el post Nuevo curso de desarrollo sobre gvSIG desktop 2.0.

      Un saludo
      Joaquin

  2. Maria Cristiani says:

    Hola, como estás?
    Intento entrar a los links de Creación de plugins propios y todos redirigen a la página de inicio de gvSIG. Sabes donde puedo esta información?
    Gracias!

    • Maria Cristiani says:

      *Puedo encontrar

    • Joaquin del Cerro says:

      Hola Maria,
      he actualizado los enlaces que estaban rotos.
      De todos modos comentarte que la documentación a la que se hace
      referencia en este articulo (del 2013) era para la versión 2.0.0 de
      gvSIG. Ahora ya esta la versión 2.2.0. Hay diferencias entre la 2.0.0
      y la ultima versión de gvSIG, sobre todo a la hora de montar los
      entornos de desarrollo. De algunos documentos veras que existe
      versión actualizada para 2.2.0, de otros no.

      Te recomiendo que, además de ojear esta documentación, eches un
      vistazo a los artículos que hay en el blog sobre desarrollo
      para versiones mas recientes. Entre la versión 2.1.0 y la 2.2.0 los
      cambios son menos y prácticamente lo de una te valdrá para la
      otra. Puedes encontrarlos en:

      https://blog.gvsig.org/author/jjdelcerro/

      O bien en:

      https://blog.gvsig.org/category/gvsig-development/development/

      Un saludo
      Joaquin

Leave a reply to Maria Cristiani Cancel reply